現在私は受託開発のスタートアップでエンジニアとして働いています。
入社して1年半弱が経ち、その間に私が感じたスタートアップのメリット・デメリットをまとめてみました。
- メリット
- 0→1案件で爆速成長できる!
- 自由度が高い
- 経営を間近で見ることができる
- 会社がみるみる変わっていき成長していくのが面白い
- デメリット
- 長時間労働になる
- 切られるリスクがある
- 良いコードよりとりあえず動くコードしかかけない
メリット
0→1案件で爆速成長できる!
エンジニアがスタートアップで働く一番のメリットはこれにつきます。
受託開発では基本的に0→1で開発していくので、クライアントとの挨拶から始まり要件定義、設計、実装、テスト、リリース、運用と開発のすべてを経験することができます。私の会社では特に分業はしていないのでクライアント折衝、プロジェクトマネジメント、コーダー、プログラマー、テスター、インフラとすべて1人で担当します。1つの案件が終わる頃にはもう開発について自信を持つことができました。また、小さな案件がいくつかあり、人手が足りないので複数案件を掛け持ちでやる必要もあり、スピードも求められます。
私は新卒で入った会社では既存システムの改修しかしたことがなかったため、新卒の会社員時代は0からの開発方法を全く知りませんでした(どうやってLaravelのプロジェクトを作るのかすら知りませんでした)。未経験でエンジニアをやるとしたら0→1開発を担当させてもらえる会社に入ることを強くおすすめします。
自由度が高い
スタートアップはかなり自由度が高いです。社長次第というところもありますが私の会社では基本的にリモートあり、勤務時間変動可、出勤時間変更可、髪型自由、昼寝自由といった感じです。基本的には決められた時間がありその時間にみんな集まりますが、用事などあれば臨機応変に聞き入れてくれます。用は周りに迷惑をかけずちゃんと仕事が終われば何だって良いのです。
ルールはなにか問題が起こったりしたときに作られるものです。ですがスタートアップの段階ではまだルールが必要になるほどでもないので自由度が高いということになります。必要であればルールも自分たちで作っていき、それが会社の文化になっていきます。
経営を間近で見ることができる
人数が少ないので社長の仕事を間近で見たり、一緒に仕事をすることができます。
当時、営業は社長が行っていました。案件の営業をやっている姿、クライアントとのやり取り、金額の交渉、社員への対応など、会社のすべてを行っている社長を毎日みているだけでも学びがあります。創業大変な時期を1人で乗り越えてきた社長の仕事スピードは異次元に速く、経営者のスピード感はとても刺激を受けます。
また、スタートアップは多額の出資を受けていない限り基本的にキャッシュがそこまで多くはありません。度々キャッシュアウトとの闘いがあり、キャッシュの重要性などシビヤに感じます。(キャッシュが少なくなると社長の態度が変わります。)
会社がみるみる変わっていき成長していくのが面白い
スタートアップの変化はとても速いです。私が入った当初は4人でした。そこから案件も増え、今ではエンジニアは8人、営業も加わり、4人の頃とは大きく環境が変わっています。メンバーが1人1人増えていくのはとてもありがたいことです。おそらく人数的にも厳しくなってきたのでそろそろオフィスを変えるかもしれません。人数が少ないからこそメンバー一人一人の成果が会社の成長に直結するため、会社が成長すると「いままで頑張った甲斐があった」と実感することができるのは良い点です。
デメリット
長時間労働になる
スタートアップは人手が足りないため、とにかく長時間労働になりがちです。
メンバー4人時代では月の労働時間は土日含め朝から晩まで作業し350時間を超えています。毎日深夜1時くらいまでやって会社に泊まる日々も度々ありました。
長時間労働が嫌な人には厳しいかもしれません。
利益が低いと昇給やボーナスは見込めない
昇給やボーナスを出すのは結構大変です。利益が多くあれば良いのですが、スタートアップの場合、そこまで多くはありません。月々の給与を支払うだけでも大変だったりします。さらに人手も足りないため、キャッシュがあるなら人を雇いたいとなりそちらに使われます。あくまで爆速で成長するための環境と思っておき、給与には期待しないほうがいいかもしれません。
切られるリスクがある
キャッシュが少なくなると給与を払えなくなります。そうなった場合、くびを切られるリスクがあります。
切られるリスクがあることは承知しておきましょう。
良いコードよりとりあえず動くコードしかかけない
受託開発には期限があります。スタートアップでは人手と時間がないため、きれいなコードを書くよりとりあえず動くコードで作ることが最優先になります。そのため、実装力は付きますが洗練されたコードを書くことはできないかもしれません。
(私は時間外になってでもコードを洗練させます。その方が後々運用が楽になるからです。)
まとめ
スタートアップで働くと一通りの開発経験が積むことができ爆速で成長することができるので経験が浅く成長意欲の高い方にはオススメです。一方で、長時間労働やクビになるリスクもあるので、プライベートも充実させたい人には不向きかもしれません。会社によっても大きく変わると思いますが、1つの事例として今回の記事を参考にしていただければ幸いです。