ナガモト の blog

Full Cycle Developerを目指すエンジニアが有用そうな技術記事や、ポエムのようなよしなしごとを投稿するブログです。

Full Cycle Developer ~ さういうエンジニアに私はなりたい~

先日このツイートを目にしました。

このツイートは私がフルスタックエンジニア(という呼び方)に対して抱いていた小さな違和感に答えを出してくれました。 そして私はFull Cycle Developerにこそなりたいのではないか?と思ったので改めて調べてみました。

Full Cycle Developer とは?

設計・開発・テスト・リリース・運用・サポートというソフトウェアのライフサイクル全体を担うエンジニア

のことです。

出典

出典はこの記事のようです。英語ですがわかりやすく説明されていたので興味がある人はぜひ読んでください。 medium.com

参考情報

日本語の情報としてはajitofmで言及されていました。有名な企業の取り組みと合わせて語られていて、とても理解しやすかったです。 ajito.fm 特にFull Cycle Developerについては28分ごろから語られます。

冒頭で引用した (やさいち|yasaichi) (@_yasaichi) | Twitter さんのツイートも参考になります。

Full Cycle Developer の要旨

紹介した資料で十分な理解は得えられますが、私がFull Cycle Developerに関して重要そうだと感じたことを紹介したNetflixの記事とajitofm#37からいくつか抜粋します。

  • Full Cycle Developerには各種使いやすいツールの導入が必要
  • ツールやプラクティスのセットを提供・支援する横断的な組織があるとより良い
  • Full Cycle Developerは全てのライフサイクルにエンジニアリングを適用し、自動化などシステム中心のアプローチによってスケールさせる
  • Full Cycle Developerが生まれた背景にはマネージドサービスの充実や学習環境が整ってきたことがある
  • 近年のエンジニアはFull Cycle DeveloperとSpecialistに二極化している
  • それぞれ向き不向きや好みがあり、Full Cycle Developerのみで良いわけではない

所感

私はこれまでなんとなくフルスタックエンジニアになりたいだとか、CTOを依頼された時に自信を持ってYESと言えるエンジニアになりたい*1とぼんやり考えていました。また、特定の領域に尖ったものを持てず、器用貧乏なだけではないかと悩むこともありました。 しかし、今回Full Cycle Developerという定義づけ・呼び方を知り、自分の目指す姿の輪郭を捉えることができた気がします。

私はユーザの声を聞きたいし、サービスのドメインを理解して優先順位付けをしたいし、データから改善の糸口を探りたいし、設計をしたいし、実装したい。 欲張って、多くのスペシャリストに頼って、全体最適にあらゆるアプローチに取り組んでいきたいです。

*1:CTOに必要な能力を兼ね備えたいだけで、CTOをやりたいわけではない