はじめに
転職して1週間が経ち、あっという間です。この1週間だけでも学ぶことや当たり前だと思っていたことが違ったりして、成長の毎日ですがそんな1週間で感じたことを日記にしました。
筆者について
- 大手企業の電気系エンジニアからスタートアップのモバイルエンジニアへ転職
- 自社開発系のスタートアップでReact Nativeを使用
- 前職中に個人でモバイルアプリの開発(アプリリリースは3本)
- 個人開発では、SwiftとKotlinでアプリ作成をしていた
- Web制作は副業でこなせるレベル(WordPress, HTML, CSS, JavaScript, PHP等)
結論:現場と勉強で学べることは違いすぎる
まず、2つの側面で環境に大きな違いを身にしみて実感しています。
1. 未経験でWebエンジニア
モバイルアプリやエンジニアとしての自己学習は本やUdemy、メンタをつけたりして1年近く続けていました。平均1日2時間程度の学習をしていましたが、実務は想定と異なります。
チーム開発としての知識
最も印象的だったのは、チーム開発における知識の不足です。個人開発ではプログラミングの書き方に必死になり見えていませんでしたが、プロダクトを考える上ではこれがとても重要です。未経験の方は以下を事前に知っておくと良いでしょう:
- スクラム開発
- バックログ
- デイリースクラム
- スプリントプランニング
- スプリントレトロスペクティブ
- Gitflow
2. スタートアップ企業
スタートアップ企業としての課題は、色々なことが整備されていない状況だということです。人事管理(勤怠)、備品やソフトウェアのライセンス管理など、大企業がすごかったのだと改めて感じます。
使用ツールが近代的
新しいツールが多く、SlackやDiscordはもちろん、便利なタスク共有管理系の使いやすいアプリを使っています。負の遺産のようなツールは使われていないので、使いにくかったらすぐ移行する動きがあり、個人的には非常に良いと感じています。
業務委託の人がとても多い
エンジニアだけではなく、営業の方などでも業務委託で実際に稼働しているのは組織の半分程度です。これは未経験の身としては結構しんどくて、「業務委託の人にとってエンジニアの育成タスクは普通は振られていない」ため、社内の人間に教える義務がないのです。
特定の質問には答えてくれますが、エンジニアとしての長期的な観点で教育していただける感じではないので、少し痛いと感じています。
事業・プロダクトへの深い理解
マネージャー職が少ないので、数多いタスクが回っていないことがあります。全員が事業やプロダクト、案件などについてよく理解しながらタスクを消化して報告、確認しないとすぐに漏れが出るでしょう。プロダクトマネージャーに頼りすぎないための行動を、強く求められます。
まとめ
- 未経験からエンジニアであることと、大企業からスタートアップという環境の違いが大きすぎる
- エンジニアとしてはチーム開発の知識が結構重要
- スタートアップ企業は色々なことが整備されていないが、動くとすぐに改善されやすいのが良い
