自己紹介
この記事は、Techouse Advent Calendar 2024 4日目です。
昨日は satoh による Sidekiq Middleware でコンテナイメージの整合性を確認する でした。
開発チームのマネージャをやっていますnakayamaです。
主に重要な開発の仕様策定、ピープルマネジメント、スケジュール調整などのマネジメント系の仕事を主にやっています。
Techouseに入社する前は、大手SIerでシステム開発の経験を18年ほど積んでおり、プログラミングというよりはプロジェクトリーダー、プロジェクトマネージャとしての立ち振る舞いが多いです。
アプリケーションの設計がとても好きです。得意技は、睡眠しながら設計できることです。
Techouseエンジニアインターン生と圧倒的な成長について
私が携わっている開発チームの中には、現在20名近くのインターン生が在籍しております。
インターンは企業によってさまざまな形態がありますが、Techouseのインターンは
- 長期インターン(本人の希望にもよるが、大学・大学院を卒業するまでずっと)
- プロダクト開発がたくさんできる
という特徴をもっており、インターン期間中に私も驚くほどの成長を遂げています。
今回は、どうしてTechouseエンジニアインターン生が、圧倒的な成長ができるのか、開発チームマネージャの私の視点から述べようと思います。
圧倒的に成長できる理由1
多くのお客様が実際に利用されているプロダクトを、社員と同じように作っている。
Techouseエンジニアインターンの大きな特徴は、実際にTechouseのお客様が利用しているプロダクトの開発をする点です。
これはそもそもTechouseが自社プロダクトの開発をしている会社であるという点、長期インターンである点が大きいです。
エンジニアとしてプロダクトを作るといっても、そのプロダクトを使ってくれる人がいるのといないのでは、雲泥の差があります。
実際にインターン生は開発をするためにこんな動きをします。
- 自分が担当する開発案件の仕様をドキュメントに書いて、関係者(社員エンジニア、カスタマーサクセスチームメンバ、など)に説明して合意を得ます。
- 実際にコードを書いて、自分でテストを行います。コードの内容、テストの内容は開発チーム内でレビューをして複数人でチェックします。
- リリース担当者に連絡をしてリリース依頼を出し、リリース後に実際に使ったお客様からのフィードバックがもらえることもあります。
- 便利になって助かったというコメント(ハッピーボイスと社内では呼びます)もいただきますし、不具合が発生して急いで修正する場面もごく稀にあります。
見ていただいてわかる通り、普通の社員のエンジニアとやることは変わりません。
私の視点で、特に大事だと思うのは、
- プロダクトを作る前に仕様の合意形成をする点
- リリース後にフィードバックがある点(ハッピーボイスや不具合対応など)
になります。ただプロダクトを作るというだけでないこれらの経験が学生のうちにできるというのは、経験の深みにが全然違うと考えますし、やりがいに直結すると考えます。
圧倒的に成長できる理由2
真のマルチテナンシーを実現しているSaaSプロダクトの大変高度な開発
まずはマルチテナンシーについて、説明します。
これは、複数企業のお客様が同一のプロダクトを利用するということです。
私は現在人事労務システムのプロダクトに携わっておりますが、企業ごとに企業アカウントを作成して、システムを利用していただいております。
プロダクトの画面から、企業独自のデータ項目を設定したり、企業独自のワークフローを設定したり、さまざまな企業ごとの設定機能があり企業によってかなり違う使い方ができるプロダクトになっています。
マルチテナンシーとは、複数のクラウド顧客が同じコンピューティングリソースにアクセスするという概念ですが、これをプロダクトの一定の機能レベルで実現しているのが現在携わっているシステムです。
そしてこれは開発が非常に難しいです。
例えば、ある画面の項目をひとつ増やしたいという要望が顧客にあった場合、普通のプロダクトであれば、
「画面の項目を増やす開発」をするわけですが、我々は違います。
「顧客が画面の項目を増やす設定ができる機能を作る開発」をします。
画面の項目を増やすのはお客様(あるいは非エンジニアである弊社カスタマーサクセスチーム)であり、それを実現する機能を作るのがTechouseエンジニアなのです。
これは通常のプロダクト開発に比べて格段に難しい開発であり、通常このようなプロダクトにインターン生が携わることができる企業はほとんどないのではないかと思われます。
Techouseでは試行錯誤を積み重ね、複数人で協力しながらTechouseエンジニアインターン生でもできるような体制になりました。
学生のうちにこのような高度な開発を経験できることが、圧倒的に成長できる理由のひとつだと考えます。
圧倒的に成長できる理由3
仲間がいる
Techouseエンジニアインターン生には多くの仲間がいます。
一生懸命仕事ができる理由のひとつに、仲間の存在が大きいと思います。
例えば、大学3年のインターン生がTechouseのエンジニアインターンになった場合に、周りには
- 同じ学年の同期インターン生(大学3年、大学院1年など)
- ひとつ上の学年のインターン生(大学4年、大学院2年、Techouseの入社が決まっているメンバーもいます)
- インターン経験済みのTechouse社員(入社1年目)
の人でいっぱいです。
インターンの同期だけでなく、インターン経験のある1〜2年先輩のメンバが多数在籍しています。
業務をする中で本当に困った時に相談できる人が、たくさんいるというのはとても心強いと思います。
Techouseでは、インターン生に向けた勉強会やイベントも多数用意されており、これ以上ないくらいサポートが厚く感じます。
このような環境であるから、社員と同じようなレベルの高い高度な開発が頑張れるのだと考えます。
まとめ
さいごに、私自身の過去のエンジニア経験を少し紹介したいと思います。
私は、Techouseで働く前は、大手SIerでシステム開発をやっていました。
私自身、入社1年目から3年目くらいまでは、全然成果を出せず毎日絶望していました。
それでも、4年目くらいから人並みに成果を出せるようになるまで、私がなんとか毎日出社して仕事ができたのは、
- 仕事自体のやりがい(社会影響の大きい金融機関のシステム開発だったから)
- 自身の成長 (システム開発知識や業界知識は最初は全く理解できなかったが、いつかはわかってやるという気概)
- 仲間の存在 (仕事は厳しいが、飲み会では優しい先輩や、愚痴が言い合える同期の仲間がいたこと)
この3つがあったからかなと思います。
18年前の私の若手エンジニアとしての経験とは比較にならないくらい、Techouseでは高度な開発を組織レベルで実現できていますが、偶然にも、私が大事にしていたポイントとインターンが成長できるポイントが似ていると思いました。
仕事自体のやりがい、自身の成長、仲間の存在がTechouseエンジニアインターン生が圧倒的に成長できる理由と考えます。
明日のTechouse Advent Calendar 2024は nozomemein さんによる Active Storageを使った画像のCORS対応で沼った話 です。
Techouseでは、社会課題の解決に一緒に取り組むエンジニアを募集しております。ご応募お待ちしております。