今まで2社スタートアップで業務委託として働いた経験とエンジニア仲間から聞いた話をもとにフリーランスエンジニアがスタートアップの案件を獲るメリット・デメリットをまとめてみました。
新しい案件を探そうとしている人の参考になれば幸いです。
企業の文化や社員の人によって、状況は異なってきます。
必ずしも全てのスタートアップに当てはまるわけではありません!
目次
スタートアップとは
この記事内での「スタートアップ」の定義を書きたいと思います。
いろんな定義があるのかもしれませんが、この記事では下図の「アーリー」ステージの企業のことをスタートアップと呼びたいと思います。
具体的には、次の状況の企業
- 従業員数が10人未満程度
- 数千万円規模の資金調達済み
デメリット
単価が低い
大規模な資金調達をしていれば別ですが、数千万円規模の資金調達しかしていないスタートアップの場合単価は低くなる傾向にあります。
企業体力的にはまだまだなので当たり前ですが。
単価アップを狙うのであれば、10億円以上の資金調達をしているスタートアップや大企業、メガベンチャーの案件を狙った方が良いでしょう。
トラフィックが少ない
サービス開始して間もないケースが多く、これからユーザー数・契約企業を増やしていく段階のためトラフィックも少ない傾向にあります。
そのため、負荷対策や負荷を意識したコードやクエリを書いたりする経験を積みにくいです。高トラフィックであるために遭遇するトラブルから学ぶという経験は積みにくいでしょう。
高トラフィックの運用経験や膨大なデータ量を扱った経験、DBのインデックス・クエリチューニングの知識などは、商談時に良く聞かれる話題です。
こういった経験が少ないなら、よりユーザー数の多い案件を獲得した方がスキルアップや今後の獲得案件の幅を広げることにつながると思います。
設計に掛けれる時間、指摘が少ない
スタートアップにとっては、より早くユーザーに価値提供することの重要性が他の企業より高くなります。
そのため、保守性やテストコードの有無に目をつむっても早く実装する。レビューでの指摘も、よほどクリティカルじゃない限り指摘されなかったり、後で直すってことにする場合が多いです。
保守性の高いコードを書けるようになりたい、アーキテクチャやデザインパターンに関する知識を付けたいといった人は、避けた方が良いかもしれません。
メリット
細かいルール、縛りが無い
まだまだ会社として成熟していないので、面倒な制度やルールはほぼ無いです。そのため、伸び伸び開発できると思います。
幅広い分野のタスクにチャレンジできる
私はこれが最大のメリットだと思っています。まだ社員数も少なく、基本的に人手不足なので「何でもやります」といったスタンスの人が好まれます。今まで実務経験の無い分野も任せてもらえる可能性が高いです。
新しい分野のスキルや実務経験を積みたい人に最適な環境だと思います。
例えば
- バックエンドばかりやってきたが、React, Vue, Angularといったフロントのタスクもやらせてもらえる
- フロントエンドエンジニアがバックエンドのタスクもやらせてもらえる
- 仕様を決めるところから任せてもらえる
- インフラ(AWS, GCPなど)を任せてもらえる
- チームビルディングや開発フローなどの仕組み・組織作りに意見して、中心的に動くことができる
当たり前ですが、経験が無くてもやれるという信頼が必要です。新しいことに挑戦したい意欲を示したり、予め自己学習しておく必要があります。
【まとめ】結局、どんな人に向いているか?
向いている人
エンジニアとしてある程度の知識、スキルを持っており、新しい分野の経験を積みたい人。
例えば、「バックエンドエンジニアとしては自信があるが、インフラもできるようになりたい!」みたいな。
向かいない人
確実に単価アップした人。単価アップしたいならお金のある企業を狙った方が確率は上がります。
まだまだエンジニアとして経験不足な人。特に大規模サービスに関わったことがない場合は、避けた方が良いと思います。
ユーザー数が多いからこそ意識しなければならない点、遭遇するトラブルは多いですし、そこから学べることも多いです。この経験があるだけで他のエンジニアに差を付けることができるので、今後のエンジニア人生にプラスになるでしょう。
また、規模が大きいとエンジニアの数も多く、優秀なエンジニアがいる可能性が高いです。そういった環境で色々学ばせてもらうことで、スキルアップすることができます!
↓↓↓↓↓ 役に立ったと思ったらシェアお願い致しますthumb_up_alt ↓↓↓↓↓