初めまして、18新卒のほりたです!休み明けの月曜日を迎えると2年目に突入するということでビクビクしています。
僕は今、広告運用ツールの開発に携わらせて頂いています。
今回は、もうすぐ2年目を迎える僕が、実際に業務を行う上で意識するようになったことについて書こうと思います。
業務フローを理解する
ここで書いている業務とは、実際に広告を運用している現場の業務のことです。
広告運用ツールは、実際に現場で広告を運用することで起きている問題がシステムとして開発されています。
このようなシステム開発では、運用の業務フローに関係することを理解しておくことが重要になってきます。
開発に携わって間もない頃は、自分自身理解に時間がかかってしまうこともあり、
とにかく開発を進めないといけない焦りもありました。
そのため、開発する機能に直接関わる仕様だけを把握し、システムに落とし込んでいました。
携わってしばらくの間このような開発になっていました。
仕様を把握することは大切なことですが、それだけだとただコードを書いて開発を行うだけになってしまいます。
システム開発を行うということは 「何か解決したい問題がある」 ということです。
多くのシステムは、何か問題があり、その問題を解決するために開発が行われます。
開発している機能も必要になる理由があるため、仕様に沿ったロジックを組むだけでなく
「なぜ必要になってくるのか」
「実際にどう使われるのか」
といった部分を考えながら開発を行うことが大切になってきます。
このことを意識し始めてからは、開発機能についての理解も深まり、仕様について積極的に話し合うことができるようになりました。
また、システムに関わる業務フローを全体を通して理解することで、
既存機能の追加処理や新しい機能の開発の仕様も早く把握できることが増えました。
読みやすいコードを書く
開発初期のころはとにかく綺麗なコードを書くようと考えていました。
しかし、いざ開発を行っていくと仕様や仕様に沿ったロジックを考えることばかりに気を使い、コードへ意識があまり向かなくなっていました。
その時書いていたコードは、今見ると読みづらいものです。
よくこのコードで開発を行なっていたなと思える分には成長しているはずです。。。
どんなコードであってもシステムはつくれます。
しかし、基本的に開発はチームで行うものです。他の人も自分が書いたコードを見たり、追加するものです。
そのためには、誰が見ても理解のできるコードを書くことが大切です。
最近、リーダブルコードで輪読会が行われているのですが、コードに対する認識を合わせるとともに、自分の書き方の良くない部分も見えてくるため、読みやすいコードの理解も進んでいます。
構成を理解する
開発が進むにつれ、コードの書き方だけでなく、アプリケーションの構成も考えることが増えてきました。
たとえば、1つのファイルが肥大化をするのを防ぐために、いくつかのディレクトリ、ファイルに分割されます。
この考え方自体の理解も大切なのですが、使い方は会社やプロジェクトによって異なるということです。
そのため、チーム内での認識を合わせて開発を行っていかないと、コードレビューで時間を費やすことになってしまうことや負債を抱えることになります。
自分自身、ググって出てきた書き方でレビューを出したことがあったのですが、関わっているプロジェクトの使い方は異なり、書き直すことがありました。
開発構成は、そのプロジェクトによって異なることが十分あるため、認識を合わせることが大切になります。
まとめ
当たり前のことですが、仕様理解と開発技術の理解はシステム開発に大きく関わってきます。
まだ、できることは少ないため、これからも日々精進します!