はじめに
こんにちわ。なおとです。
10月よりフリーランスになり初現場でした。環境の変化もあり1週間あっという間でした。
今回は自分が知りたかったシリーズ第4弾です。
おそらくこれで最後のシリーズかなと思っています。
第1弾:25歳初めてのフリーランスエンジニアの単価について
第2弾:新卒入社後、約3年半で読んできた書籍たち
第3弾:フリーランスエンジニアの面談ってこんな感じ
第4弾:新規参画した現場で1週間で意識したこと、やったこと
転職や新規案件参画時の最初一週間は社内ルールや端末の環境構築、業務やコードのキャッチアップになると思います。
皆さんはどんな風に進めているのかが気になる所です。
今後、色んなプロジェクトに新規参画していくはずなので、自分自身の振返りと、今回はこんな感じで進めましたということを書こうと思います。
オリエンテーション
端末のアカウントやSlack、googleなどの必要なアカウントを連携されます。
プロダクトの紹介と自分が直近で担当する案件の話をざっくりされます。
一番最初だったので緊張と情報量の過多で正直そこまで頭に入ってこないです。
この辺はもう少し経験を積んで、先を見据えれるようにしたいです。。
社内ルールも口頭連携だったのでこの辺はドキュメント化しました。
正直、最初はここが一番知りたい所でした。
殆ど伏せていますが、下記のようなイメージで残してます。
# 社内ルール
## 勤怠
- 10:00-19:00
- 休憩時間は自由(1時間)
- 体調不良や遅延はslackにて連携
## オフィスの出入り
## 備品など
- 水無料
- コーヒー無料
## 業務報告
## キーボード、マウス持ち込み
端末の環境構築
現場ではMacが支給されています。
自分のプライベート端末に合わせるためにセットアップします。
次の参画者や現場メンバーに共有していくため、自分は一つ一つドキュメントを残しながら進めました。
下記はドキュメントの例です。wikiとかに転記できるようにマークダウン形式で書いています。
# マウススピードを最大化の設定
最大のスピードに変更
システム環境設定→マウス
# キーボードのスピードを設定
キーのリピートを「速い」
リピート入力認識までの時間を「短い」
システム環境設定→キーボード
# IMEをGoogleに変更
https://www.google.co.jp/ime/
ことえりが使いづらかったので変更しました。
# ことえりが削除できなかった時の対応
http://itea40.jp/technic/ime/us-source-delete/
# SCROLL REVERSER
マウスとトラックパッドのスクロールが逆にしたい
https://pilotmoon.com/scrollreverser/
# Karabiner-Elements
外部キーボードがUSキーなのでキー設定を変更です。
キーボードがwindowsなのでキー設定を変更しました。
https://qiita.com/kamoc/items/93550dd7f5bbae15e70f
https://www.talblo.com/entry/2017/06/28/mac_%E6%9D%B1%E3%83%97%E3%83%AC_realforce
# Option + Tab キーで、同じアプリ内のウィンドウを切り替え可能にする
同一アプリを複数起動する際に、Alt+Tabで切り替えるようにしたい為、変更しました。
https://qiita.com/Yinaura/items/10fe5fe0cb0a795a0f58
技術、業務キャッチアップ
自分が知らない技術のキャッチアップは覚えることが多いです。ここも一つ一つ学んだことをドキュメントに残しています。今回は下記点を意識してドキュメントを作成しました。
- 自分と同じようなスキルセットの人が次参画する際に参考できるものにする
- メンバーに自分のスキルレベルを把握してもらう
- キレイにまとめようとせず、調べたことなどは時系列的に記載する
- 環境構築に関してもエラー箇所などは残して解決方法を残す
下記はドキュメントの例です。
※業務に関係する所は全て削っています。
# 2018-10-02
## 複数に開発するときの便利な拡張機能
複数人で開発する時にはconflictを注意しないといけない。
特に、インデント・スペース/タブ・改行などで差異が発生すると、gitの差分がすべて発生してしまう。
それを解消するため、Prettierという拡張機能を入れている。
これを設定することで全員が同じ設定で開発することが可能で上記の問題は解消する。
## 入門が終わったあとに勉強したほうがいいこと
実際に何かを作るのが知識を身につけるので早い。
ただ、何を作ればいいのわからない人はTodoアプリがオススメとのこと。
下記URLには各フレームワークのアプリのソースコードが有る
http://todomvc.com/
# 2018-10-03
## bashrcを再読込する場合のコマンド
.bashrcを書き換えた際は即座に再読みされないので下記コマンドを叩くかターミナルを再起動する。
`source ~/.bashrc`
## 英語ドキュメントを読む際の補助ツール
単語を意味を調べるためにgoogle拡張機能を入れました。
ショートカットキーで切り替えができて、軽いのですごく便利です。
https://qiita.com/wtetsu/items/c43232c6c44918e977c9
## Typescriptドキュメント
必要に応じてこれを読めばいい。
https://www.typescriptlang.org/docs/home.html
# 2018-10-04
## async/await
Promise構文で書いた経験しかありませんだしたが、async/awaitで書くと簡潔にかけますね。
https://qiita.com/soarflat/items/1a9613e023200bbebcb3
## vscodeでshellを任意のシェルに変更する
`"terminal.integrated.shell.osx": "/bin/zsh",`
日報
今の現場では作業報告書や日報の提出はありませんが、自分は下記理由から日報を出しています。
- 学んだことの共有する
- スキルレベルを把握してもらう
- 振返りができるようにする
記載内容
まだまだ試行錯誤の段階ですが、現在のフォーマットです。
もう少しタスクに関しては細分化して進捗がどうなのかを把握できるようにしないといけないとは思っています。
予定
業務開始時に今日の作業予定を記載しています。
自分が何をするのかを把握して、作業途中で悩まないようにするためです。
追加
業務中に追加されたタスクを記載します。
作業を忘れないようにするためと、振返り用のためです。予定作業が終わらなかった理由が見通しが甘かったのか?追加タスクがあったからなのかを分かるようにしています。
明日の予定
業務終了時に記載しています。
次のタスクを記載して、朝に「今日はなにしよう??」と悩まないようにする為です。
覚えたこと、設定したこと
覚えたこと、設定したことをつどつど記載していきます。
日報だけを見て、共有できるようにするためです。
ただ、日報記載だと後から確認しにくいので、別途転記しています。
所感・気づき
今はただただ思ったことを書いています。
この辺はもう少し、身になる内容は書いていきたいなと思っています。
タイムスケジュール
1時間毎にどんな作業をしたかを記載しています。
1日を振り返る時に使用しています。
積読(&直近読了)リスト
せっかくなので最近読んだ本を共有しています。
下記日報の例です。雰囲気を感じてもらえればです。
業務に関係することは伏せています。
## 本日の業務(2018/10/05)
### 予定(業務開始時)
- [x] コードキャッチアップ
- [x] 機能追加(jira xxx)
### 追加
- [x] xxxxの打ち合わせ
## 明日の予定
- [] 機能追加(jira xxx)
- [] 〇〇をできるようにする
- [] ✗✗をできるようにする
## 覚えたこと、設定したこと
### async/await
Promise構文で書いた経験しかありませんだしたが、async/awaitで書くと簡潔にかけますね。
https://qiita.com/soarflat/items/1a9613e023200bbebcb3
### api仕様書
新しい方の仕様書のみを確認する。
ただ、全て作成できていないので不明点は確認する必要あり。
実装側が正しい処理の認識で問題なし。
### Auth-Tokenの確認
Swaggerで動作確認する際にTokeが必要になるが、これはブラウザのクッキーに保存されている
開発者ツール → application → storage → Cookiesにから確認できる
### リクエストする際のAuth-Tokenはいい感じに作成してくれる。
headerにAuth-Tokenが必要ですが、特に指定せずとも自動で不要してくれたので調べました。
api.service.tsではaxiosを使用していて、`interceptors.request.use`がリクエスト前に実行されて設定してくれる。
https://qiita.com/terrierscript/items/ccb56b6fc05aa7821c42
## 所感・気づき
Vue、Typescriptのコードもだいぶ見慣れてきて、分からない所が分かるようになってきました。
これで質問もより具体的にできるます。(以下省略)
## タイムスケジュール(振り返り用)
勤務時間:10:00-19:00(8h)
10:00~ タスク整理、雑務、コードキャッチアップ
~12:00 コードキャッチアップ
~13:00 コードキャッチアップ
~14:00 xxxxの打ち合わせ、休憩
~15:00 休憩、機能追加
~16:00 機能追加
~17:00 機能追加
~18:00 機能追加
~19:00 機能追加、日報作成
## 積読(&直近読了)リスト
- [ ] Clean Code アジャイルソフトウェア達人の技
- [ ] Vue.js入門
- [ ] 武器になる哲学
- [x] 現場で困らない!ITエンジニアの為の英語リーディング
Kindleでは読みにくかったですが、付録の単語帳は中々良かったです。
まとめ
何かを学んだらドキュメントに残していく
自分の備忘録としては勿論ですが、次の参画者が同じ苦労をしないように書いています。自分が知りたかったことは、同じように知りたい人もいるはず!!と思っています。
新規参画する人は自分が苦労した所はショートカットしてもらい、どんどん進んでもらいたいです。そして自分にも色々教えて下さい。。
社員/業務委託の関係関わらず、やっぱり最初に躓くと不安も大きくなるので、少しでも参考になればで書いています。
下記、記事にもありますが、備忘録の癖は付けたいですね。
エンジニアの書類選考でQiitaが評価される?!現役転職エージェントが語る活用術
学んだことは時系列的に記載していく
学んでいくことに対しては「階段を一歩一歩登っていく」イメージがあります。
その一歩一歩は人に教えてもらったり、サイトを見たりして登っていくので、時系列的に書くのが良いのかなと思っています。
それを後から見返してどんな手順で学んだかが分かるようにしたいと思っています。
時間があれば体系的に書くのもいいと思うのですが、それは時間がかかるので。。
上記でも記載していますが、こんな風にするイメージで書いています。
# 2018/10/01
これこれを学んだ①
# 2018/10/02
これこれを学んだ②
# 2018/10/03
これこれを学んだ③
日報は振り返るため、共有するために書く
自分が後から振り替えれるようにすること。
他のメンバが見ても為になることが書いてあること。
チームリーダーが見て進捗が把握できること
分からないことは質問すること
ここは自分も注意しないと行けないところです。
ついつい、自分で解決しようと思い時間を掛けてしまうことがあります。
ただ、ゴールは問題を解決することで、長時間掛けて解決でなく、短時間で解決するほうがいいです。
少し考えて時間が掛かりそうと思ったら、最初に確認するようにしていきます。
「ここが分からないのですが、調べながらだと時間が掛かる可能性があります。」
この記事がすこく勉強になります。
質問は恥ではないし役に立つ
早く成果を出さないというプレッシャーは一旦置いておく
フリーランスが初めてなので「早く成果をださなきゃ!」というプレッシャーは正直ありました。ただ、変なプレッシャーを抱えると出来るものも出来なくなるので、まずは今自分がすることに集中して進めようと思っています。
最後に
まだ一週間しか経っていないですが、技術的にも面白く、チームの雰囲気もよく、良い現場に巡りあえたと思います。とりあえず、来月も更新してもらえるように、今日も頑張る所存です。
改めて参考にした記事をみると、圧倒的にQiitaが多いですね。皆さんありがとうございます!!