こんにちは、やまです。
今回は現場の仕事についていくために必要なことをお話ししていきます。
エンジニアになったばかりで
なかなか現場の仕事についていけている感覚がない…と感じている方がいらっしゃれば、ぜひお力添えしたいと思い、書いています。
これができるようになると、
・月単価100万円超えの案件でも「あなたがいてくれて助かる」と感謝の言葉をいただける & 案件も継続できる
・現場のリードやPMからとても頼りにしていただける
このような嬉しいことが起こります。
そのノウハウを今回と次回の2回に分けてお話ししていきます。
仕事についていくのが難しいと感じる原因と対処
仕事についていくのに必要なことをお話しするにあたり、
逆に仕事についていくのが難しい…と感じるポイントを挙げていきます。
端的にお話しすると、以下の3点に集約されると思います。
・現場で使う技術がわからない or 不慣れ
・コードから処理の流れや仕様の理解が難しい
・仕事の進め方に原因がある
なぜ上記の3点なのか?
現場のエンジニア同士で質問したりする際には前者の2つに関することが多いと思います。
「この機能を作りたいのですが、どのようにすれば良いかわかりません」
「この機能がどのような処理の流れになっているのかわかりません」
また、チーム開発という観点で見ると、
・任されたタスクをリリース予定日までに完了するのが難しい
・質問の仕方が不十分で回答までに多くの時間を要してしまう
このように仕事の進め方に自信が持てず、現場の仕事で上手くいかないな…と感じやすいポイントかなと思いますね。
以上が仕事についていけない時に考えたい原因でした。
逆にこれらさえ押さえてしまえば、現場で仕事ができないな…と悩むことが激減するということですね。
今回は前2つ「現場で使う技術」と「仕様理解」についてお話しし、
「仕事の進め方」は次回お話しする形で進めていきます。
現場で使う技術
・現場で使う技術が使えない…
・基本的なことはできるけど、少し複雑な機能だと実装が難しい…
技術関連でついていけないと悩むポイントは上記の2点かなと思いますね。
前者については、最低限の技術力を身につけること
後者については、実践を見越したシステム開発を個人で行うこと
これらによって対応していくことが大切ですね。
最低限の技術力を身につけるためには認証機能付きのTODOリストを作れるようにすることが効果的ですね。
続きはこちら
基本的なことは習得したけど、少し複雑な機能だと太刀打ちできない…という場合は、
個人開発で実践を想定した開発を行うことが効果的ですね。
続きはこちら
仕様・コードの理解
実際の現場では、最新の仕様が詳細にドキュメント化されている状態はけっこう稀かなと思います。
普段の開発業務と並行して整備するのが難しく、ドキュメント化はあらゆる企業様でも課題感は感じているようですね…
こういった状況を踏まえると、仕様は実際の挙動とコードの2軸で理解していくことが求められますね。
実際のシステムを動かしながら、画面遷移やデータがどのように取得・更新されるかを把握する
コードは一連の機能を実現する処理の流れを理解する
これらを行う際に私はよく紙に書き出して理解するようにしています。
「この機能はここのコントローラのこのアクションが起点(エントリポイント)となっているな」
「そこからモデルのこのメソッドが呼ばれて、さらにその中でこのメソッドが呼ばれていて、こんなデータが返ってきているな」
…
このような処理・データの流れを紙に書き出すことにより、システムの流れが把握しやすくなるのでオススメです。
今回は現場の仕事についていくために必要なことのうち、
技術関連のアプローチについてお話ししてきました。
私が駆け出しの頃は技術周りに自信がなく、
また他者のコードから仕様を理解するのが初めてだった時はとても緊張したことを覚えています…
ただ、既にエンジニアとして成果を出されている方から学んで実践していくことで
最低限の仕事も完遂できるようになり、さらにシステム開発がより良くなるための課題発見や提案もできるようになっていきました。
仕事ができるようになれば、
・月単価100万円超えの案件でも「あなたがいてくれて助かる」と感謝の言葉をいただける & 案件も継続できる
・現場のリードやPMからとても頼りにしていただける
これらが現実になり、エンジニアとして働く土壌が築くことができます。
次回は仕事についていくためのもう一つの観点「仕事の進め方」についてお話ししていきます!