俺はまさに弱小ベンチャーで働く「何でも屋」のエンジニアだが、普段感じていたモヤッとした気持ちをこの記事はドンピシャ突いている。
【スタートアップベンチャーはスーパーエンジニアを求めるけどエンジニア界隈と起業家界隈で想像しているスーパーエンジニアの定義が違う件】
http://htanaka0828.hateblo.jp/entry/2017/07/11/220141
IT系のベンチャー経営者またはこれから起業しようとしているやつはこの記事を1000000回読めと言いたい。
愚痴りたいことは山ほどあるが、特に言いたいことは次のことだ。
俺はサーバ構築もする、サーバ側アプリも作る、クライアント側も作る、簡単なものならデザインも作る。
でもそれは俺がたまたまそうなだけであって、大抵のエンジニアはそうじゃないわけ。
それを理解せず、フリーランスに開発を依頼しては「この人はAndroid開発しか出来ないから駄目だね〜」とか、何を言っているんだと。
その人が駄目なんじゃなくて、俺がすごいの!!!!
いや、ごめん、うそ。
本当は俺はそんなにすごくない。
何かに特化している人の方が、その分野においては優れていることが多い。
どちらがすごいとかじゃなくて、スキルセットが活きるシーンが違うだけ。
ただ、傍から見たらiOSだけの人は「駄目」に見えるらしいね。
専門外の人はそう思っていても当たり前だが、でもITベンチャーの経営者はプロ側の人間だからな?
なんでも屋じゃない人の方が多いんだから、チームを組んで開発しないといけないわけで、そこら辺のヒト・モノ・カネを何とかするのが経営者の役目だからな?
SIの人月の話に近い感じもするが、ここで言いたいのはそういうことじゃない。
言いたいことは「エンジニアは1人でなんでも出来ること前提」に話を進めるな、ということだ。
そうだな、俺がこれから起業するやつの脳内をエスパーしてやる。
夢追い人の脳内:
「画期的なアプリをリリースするためにエンジニアを1人雇おう!まずはスモールスタート!でもスケジュールによっては2〜3人必要だな!」
どうだ?大体こんな感じだろう?
アプリは1人では作れない。
(正確には1人でも作れるが、それは小規模なアプリだ。きっと夢追い人の妄想の15%くらいしか満たせないだろう。)
iOS開発者、Android開発者、サーバ側アプリ開発者、インフラ担当、最低でもこれだけ必要だ。
1人で何役か出来たとしても、全て出来る人は少ない。
それでも1人目エンジニアは専門外の技術も勉強しながら頑張るだろう。
するとどうなるか?
進捗が思うように進まず、リリース延期、またはひどい品質のアプリが誕生するのだ。
一般的な開発案件でもそうだが、素人が言う「ちょっとしたアプリ」はちょっとしていない。
夢追い人の発言:
・ブラウザでアクセスできる管理系機能(言っていないけどry)
そもそも開発者でもない者がなぜ「ちょっとしているかどうか」を判断できると思っているのか。本当に不思議だ。
しかし、もし理解していない場合、それはリリースの延期、またはリリースできずにコケることになるだろう。
そもそも1人で全てできるわけではないということは前述の通りだ。
つまり開発には役割分担があり、全ての役割が網羅されるように人員を配置しなければならない。
そのために2〜3人必要、ということならば、正しい考え方だろう。
建たないだろう。
設計する人、建材を用意する人、監督する人、その他諸々がチームとして必要だ。
じゃあチームを5セットに増員したら、工期は1/5になるか?
ならないだろう。
作りたいものを早く作りたいのであれば、そのために適切な人員配置が必要なのであって、大工だけ雇っても完成しないし、人を増やせば良いということではないのだ。