Webエンジニアになる前の自分へ今の私が教えたいこと
こんにちは。ENECHANGEのエンジニア兼マネージャのkcです。
今回は4年前の私に教えてあげたいなと思うことをまとめてみました。
当時の私のように「エンジニアとしてやっていけるのか」でだったり、「どんな経験スキルが身につくのか」など期待や不安がある方にも参考になればと思います。
当時の私
まずエンジニアとして転職したい当時の私の概要はこんな感じでした。
・25歳
・出身大学: 東京学芸大学(文系)
・前職: 青年海外協力隊
・目指すキャリア:
10年後: 世界で働きたい / 教育に関わりたい / 起業したい
5年後: IT上流で活躍したい / プロジェクトマネジメントしたい
3年後: どこの会社でも働けるエンジニアスキルを身につけたい
現在の座標
間も無くエンジニア4年目になりますが、描いたキャリアと比べて今どうなのかというと...
5年後の目標を3年目で達成しています 🍻
ついでにイギリスに移住して働いているので10年後の「世界で働きたい」という目標も少し叶えています。🍻🍻
良い面だけでなく期待はずれだった面も。
プログラミングスキルとして身についたのはBackendのスキル、なかでも特にRuby on Railsのスキルだけです。あとは少しのJavascriptもかじりましたが、こちらは設計等はできず既存のコードの運用や拡張くらいです。最近少しGoを触ってみて苦なく書けたので、やればできると思いますが、即戦力で転職できるとは思えません。これは私の勉強不足ですね。
それからプロジェクトマネジメントは、やり始めたとはいえ、まだまだ序の口です。大きくて20~30人月くらいのプロジェクトなので、もっと大きな規模のプロジェクトに関わりたければ、ITコンサルの方がチャンスが多いと思います。
以上が経験スキルについての総評です。
現在に至るまでの成長過程
もっと成長できたという反省はありますが、もし4年前に戻ってもこの道を選びたいような貴重な経験とスキルが得られましたのでもし未経験からエンジニアへの転職を考えている方がいましたら、私の経験が参考になれば幸いです。
私は以下のようにステップアップしてきました。
入社から半年まで(2020年):
readableなコードとオブジェクト指向を理解し、あとは稼働しているコードをとにかく読んで読んで読みまくりました。
またITの基礎知識を身につけるため基本技術者試験の勉強をしました。(基本とありますが割と合格率は低く、未経験から業務と並行して勉強するのは結構大変でした。)
ITの基礎知識のうちネットワークとデータベースの理解はインフラ構築やインフラ改善業務の役に立ったのでやってよかったです。
1年目~(2021年):
githubで差分をレビューする時には、差分としてハイライトされていない部分の理解を不可欠です。最初のうちは実際にコードを動かしてレビューしますが、そのうち動かさなくても大体レビューできるようになるので、1年過ぎた頃には仕様確認を持ち帰らずに即答できたり、レビュー速度も速くなりました。6人月ほどの開発ではリードを務め、業務委託への指示だしやディレクターと仕様調整したりすることも増え、多くはないですが顧客に直接質問したり提案したりすることが増えてきました。webでできることが大体わかり、実現するのにどういった定義が必要で、開発工数がかかるのかが大体わかるようになると、客席でジャストアイデアで提案を受けても即座に適切な質問や逆提案ができたりします。
2年目~(2022年):
マネージャとなり、複数の開発リードを並行して進めることができるようになります。自社サービスと言いながらも顧客の要望で開発するスタイルだったので、要望がない閑散期や複数並行する多忙期があり、柔軟に動くことが求められます。ただし3つのプロジェクトを並行させると作業品質が落ちることがわかったので、リソースの流動性とスイッチングコストのバランスを意識するようになります。この辺りで単に開発力だけでは効率を語れないことがわかり、プロジェクトマネジメントや事業経営、組織戦略から考えないとチームのパフォーマンスを上げていくことはできないと考えるようになります。
3年目~(2023年):
大きめの案件の開発工程に参加し、要件定義や設計、レベルの高いエンジニアチームのリードを経験しました。大きな実りとして、レベルの高いエンジニアリングというものが何かということを体感し、そしてその限界も知りました。つまりレベルが高い開発チームがいても、作るものが決まっていなかったりエンジニアに伝わっていなければ進められず、プロジェクトマネジメントと顧客の協力なくして成功はできないということです。プロジェクトマネージャーとなり、顧客との信頼関係と業務への理解を第一にし人に伝わる設計を心がけています。また、これまでエンジニアだったためにコントロールできなかったスコープ・スケジュールの策定ができるようになったので、エンジニアが安心できる開発を心がけています。
まとめ
以上が大体の成長過程です。入社して1年8ヶ月でマネージャーになっているので、エンジニアの成長としてはかなり早い部類だと思います。
挑戦を推奨する風土とチャンスに恵まれた点、尊敬するメンターの存在とメンターとの1on1制度により要所要所で目標の更新をすることができ、常にチャレンジングな環境に身を置くことができました。
エンジニアとして成長できるか迷っているあなたに
メンターと相性が合わないとかちょうどいい案件に恵まれないとか、必ずしも私と同じ体験ができるわけではありませんが、ENECHANGEのようなシステム開発ベンチャー企業に入れば近しい経験ができるのではと思っています。参考になれば幸いです。
最後に
DX時代ですので、業務要件に強いPMやエンジニアの重要性が高まっていると思います。
プログラミングはAIの発達で易化しているため、より重要なのは業務を理解しサービスや価値を創造・デザインする力だと思います。ENECHANGEでもそんな人材を探していますし、育成しています。
ぜひご興味があればこちらからお願いします!
Discussion