Blog2018-07-18未経験エンジニアがプロジェクトに参画して学び得たこと思想はじめにメディカル事業部のKTです。この1年間どのような経験をしたのかということをご紹介できたらと思います。開発歴が浅い私のようなエンジニアが壁にぶつかった時、少しでも参考になるものがあれば嬉しいです。事業フェーズについて私たちのチームについては、こちらを参照ください。tech.leverages.jp配属された当時、メディカルチームは社内システムとオウンド側の大規模なリプレイス中でした。仕様書を見ながら(たまに仕様から考えて)ひたすらページの作成を行うのが主な業務内容でした。チームの編成としては、エンジニア、デザイナーとマーケをあわせてが30数名といったようなチーム編成です。入社当時の自分について入社時の私のプログラミング歴は1年ほどでした。一通り言語に関する本を読み(たのしいRuby)、チュートリアルを元にシステムの理解はできており、記事などを見ながらとりあえず動くものが作れるといった程度の技術力を持っていました。インターンで(主にフロント側)チーム開発も行っていたのと、研究ではとりあえず動くものを1から作成しAWSを利用してデプロイも行っていたので、アプリケーション開発に関しては一通り学んでいました。プロジェクトに参画して学び得たもの私がプロジェクトを通して学んだ、非常に大事なポイントを2つ紹介したいと思います。エンジニアがやるべきこと1つ目は、「エンジニアがやるべきこと」とは問題解決であるということです。当時の私はそんなことも考えずに、とにかくコードを書くことに必死でした。プロジェクトにとってその改修が何になるかを全く考えない無責任な実装をしてしまっていました。(もちろんリファクタ自体は大切な作業だと思います。目的になっていました。それでいて結果が出ていないのにも関わらず、コードを書く量は多いので仕事をした感だけが蓄積されていくのが怖いところです😰。そんなときに先輩から、「エンジニアがやるべきことはコードを書くことではなく、課題を解決することだ。」と指摘されたのを覚えています。それからは、(実装する前に)この実装は本当に必要なのか。代替えはないか目的に対しての解決策になっているか本当に「今」やらないといけないことなのかなどを意識するようになり、結果として無駄なコードが減り、実装の優先度を考えた作業ができるようになりました。やらないことを決めたおかげで自由に使える時間も増えました。いうことを意識してみてください。やらなくてもいいような仕事が削られて、やるべきことに時間が回せるようになると思います。プロジェクト理解の大切さ2つ目は、プロジェクト理解の大切さです。社内の複雑なプロジェクトの関係性を理解することにあるかなと私は思います。(体験談)今までのアセットをどう活かして実装するか自分の書いたコードが極端に目立っていないかなど個人開発とは違い、より長期的な運用を見越した、汎用的な実装が求められます。私は、プロジェクトに馴染むコーディングが苦手でした。しても自分の書いたコードだけ目立ってしまってそれを何度か指摘されたことがあります。(一概に個性を出すことがすべて悪いこととは言い切れませんが、規約やロジックの組方があまりにも違っていていると、他のメンバーの理解にコストが掛かってしまいます。そのため、チーム開発においてあまり個性を出しすぎることは非推奨のようです。)そのため技術の勉強に加えて、プロジェクトのソースコードを読み込んでコーディング規約は何をベースにしているのかロジックはどこに書いたらいいのか変数のスコープは適切なのか細かいところだと、クラスやメソッドにはどういったネーミングが推奨されているのかなどを理解する事に時間設けるよう調整しました。実装時に思考時間が減り、作業量・作業スピードが向上した設計から行う実装も既存のリソースを参考にし、検討できるようになった携わったことのないライブラリの改修もある程度理解できるようになったなど、メリットは数知れずです。思うように仕事が進まない🤦。それを参考にコードを書いてみるといいかもしれません。おわりに今回は、1年目に携わったプロジェクトの経験から、2年目の私の振り返りをまとめさせていただきました。大きく2つ「エンジニアが本当にやるべきこと」と「プロジェクト理解の大切さ」を得られたことについてご紹介しました。最初の1年でこれからエンジニアとして生きていく上で必要な心構えを理解できたいい機会だったと思います。次回からは、今年度入社の新卒のメンバーのアウトプットや取り組みにについてもご紹介できたらと思います。最後までお読みいただき、ありがとうございました。以上、KTがお送りいたしました🙇。Blogスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。