社会人エンジニアになってもう13年。
学生から社会人エンジニアになると、同じソフトウェアに関することでも心掛けるべきことがかなり違ってきます。
4月なので、新社会人になるエンジニアの方々のために、少しでもスムーズに入っていけるように、私が社会人エンジニアとして今まで沢山の壁にぶつかって気づいたことを綴っていきたいと思います。
これから新しい一歩を踏み出す社会人エンジニアの参考になれば幸いです。
1.最も大切になるのは、人のコードを読む力
学生時代だと、一から組むということが多いかと思いますが、社会人になると、ほとんどのケースで先人が組んだコードを変更していくことになります。
会社に入ると、おそらく最初は構造把握に時間を割くことになります。そしてこの作業は、プロジェクトが変わるたびに訪れます。
このスキルは、社会人エンジニアとして最も重要なものと言っても過言ではありません。
2.ハードウェアリソースは有限
私は組み込み系エンジニアなので顕著ですが、学生時代はPCのアプリケーション関係を中心に学んでいたためか、このリソース管理の意識がすっぽりと抜け落ちていました。
具体的にいうと、少しでもコードが少なくROMを節約する方法を考えるとか、無駄に変数を作りすぎてStackを圧迫しないなど。
組み込み系になると、このROM/RAMの消費量はハードウェアのコストにかかってくるので、かなり重要なポイントになってきます。
3.後の人のことを考える
チームで開発することになると、独りよがりのコードになってしまってはいけません。
自分もいつまでも同じプロジェクトに居るとは限りませんし、新しいメンバーを迎えることもあるでしょう。チームは必ず入れ替わりが発生するものです。
そのようなことを想定し、コードを組む際には他人が理解しやすいよう、また変更ができるだけ容易になるような構造を考慮しましょう。
4.焦った時ほど慎重に
焦って直した時ほどミスが入り込みやすいです。社会人になると開発の日程は順守しなければなりません。
締め切り直前や、緊急対応で変更を入れる際には、普段なら気づくようなミスをうっかり見逃してしまいやすくなります。
自信があっても、ダブルチェックをお願いするぐらいの慎重さを持っておくと安心です。
5.良いコードに直すだけが正解ではない
先人のコードを見ていると、もっと良い方法があると気づき、直したくなることがあります。
もし容易に修正できるとしても、ここは慎重になるべきです。なぜなら、そう組まざるを得なかった理由があるかもしれないからです。
今動いているコードは、少なくともリリースされて世に出ているという実績があります。
先ほどの「後の人のことを考える」と少し逆行する面もありますが、良いコードにすることが必ずしも正解とはならないことを覚えておくべきです。
昔のコードほど保証するのもそれなりに工数がかかってきます。その手間は新しい機能の開発に向けた方が賢明です。
6.テストの手間を考える
お金を生み出すコードは品質保証が必須です。そのため、ソフトを組んだらテストをパスしないと世に出すことができません。
変更が1行で済んでも、テストに1週間かかるという修正を行ってしまうと、後工程に影響を与えます。
そういった変更はインパクトが大きいので、後工程の担当者と調整が必要になってきます。
自分の手間だけではなく、全体の工数が少ない方法を選択すべき場面があることを念頭に置いてください。
7.チームの技術力は一定ではない
会社ではいろいろなバックグラウンドを持った方が集まってチームとなります。
そのため、技術力にはバラつきがあります。
もし、あなたのコードが業界のスタンダードや、ベストプラクティスには沿っていても、高度すぎて他のメンバーが理解できないものであったとしたら。
残念ながら、皆が勉強してついてくるタイプの人間ばかりとは限りません。
そうなると、当然のごとく作った人に質問が飛んでくることになります。メンバーが多ければ多いほど、説明に費やす時間が自分の時間を圧迫します。
また、新しいメンバーが次々入れ替わるプロジェクトになると、より多大な工数を取られてしまうことになります。
そうならないためには、あらかじめ説明のためのドキュメントを用意しておくか、レベルを下げて万人が容易に理解できるコードにとどめておくと良いでしょう。
大抵の場合、エンジニアの給与はいかにハイレベルなコードを組んだかには比例しません。
8.学び続ける姿勢を持つ
入社したらまず、仕事で使う言語を学ぶことになるでしょう。
ですが、それを知ったら終わりではなく、常に新しい学びを求めて勉強し続ける姿勢を持つと良いです。
そのような姿勢を持っていると、同じ空気を感じる同僚や上司が自然と集まってきて、一緒に勉強会を開いたり、面白い技術を導入しようと意気込んだり、とても面白いメンバーに恵まれることもあります。
うまくいけば、思わぬプロジェクトに抜擢されることになるかもしれません。
その積み重ねが、自分の将来のキャリアに必ずプラスに働いてきます。
9.お手本となるエンジニアの先輩を探す
社内でお手本となるエンジニアとはお近づきになっておきましょう。
その人はその会社の歴史や背景、暗黙の了解などのお作法も含めて知っているので、
自分がこれから組むコードがどうあるべきなのか、その正しい方向性を教えてくれるはずです。
本当にソフトウェアが好きな人なら、ソフトウェアについて勉強したいと思っている人には喜んで接してくれると思います。
自分の好きなことを質問されるほど嬉しいことは無いからです。
さいごに
これからどんなエンジニアになるのか、期待に胸躍らせていることかと思います。
早く会社に馴染んで、エンジニアとしての素晴らしいキャリアを築いていけるよう、応援しております!