「えっ何言ってんだこの人?」と思われるかもしれないが、
ソフトウェアエンジニアとして本当のモノ作りを楽しみたいと考えているならば、大企業は適していないかもしれない。
なぜなら大企業はモノを作る場所ではなく、組み立てる場所なのだから。
自分で手を動かして、仕様書書いて、コードを書いて、テストコードも書いて、テストして、なんなら自動化して、Githubでソース管理して、
またコード書いて、動かして、そうやってモノを作りたいならスタートアップ企業に行ったほうが幸せなのだと思う。
今回はそんなお話。
目次
大企業メーカーのエンジニアって何をするのか?
「大企業に行った方がデカい仕事に関われるし、人員規模も桁違いだし、大企業の方がやりがいあるよね?」
誰しもが最初はそう思う。私もそうだった。
しかし現実は非情である。
誰もが聞いたことあるような大手メーカーや、無名だけど企業規模的には大企業に分類される数多くの中堅メーカー。
こういったメーカーで働くエンジニアの仕事を一言で表すと、
「色々なところの技術を集約して、1つの製品に仕立て上げる」
という表現に尽きる。
色々なところというのは、下請け会社や子会社、協業関係にある会社などを指す。
大企業の製品づくり
大企業が製品を作るとき、まずは企画を上げる。
企画は企画部が作るだろう。そして企画が通ったらそれを開発部門に投げる。
開発部門はその企画を元に製品を開発するが、自社で全部作るわけではない。
いやむしろ自社で作る部分ってほんのわずかか、もしくは全くない可能性もある。
基本的には、先ほど述べた下請け会社や子会社に外注したり、協業関係にある会社から技術提供されたりして、それを組み合わせてるだけなのだ。
もちろん、その製品の核となるコア技術は自社の保有技術であったりするわけだが(じゃないと他社にマネされる)、それ以外はほぼ外注なんてことはよくあること。
よって、大企業のエンジニアの仕事は以下のようになる。
- 製品の仕様決め、仕様書の作成、外注先への発注
- 事務手続きや事務書類の作成
- 外注先からの納品物の検収、テスト
エンジニアなのにコードを書かずに打ち合わせと書類作成ばかりやってる人の爆誕である。
もちろん、納品物を組み合わせるので各コンポーネント間をつなぐコネクター的なモジュールを作成する仕事はあるし、テストなんかもたくさんするだろう。
でも毎日バリバリコードを書いて…っていうのは大企業だとできない可能性が高い。
そうなったら、
「俺、この会社でめちゃくちゃコード書きまくってすげースキル身に付けるんだ!」
と期待に胸膨らませて入社した若者の夢が打ち砕かれてしまうのだ。
もちろん、大企業のこの開発方法が悪いというつもりは全くない。
むしろ自社ですべてをやらないことでリスクを分散させているし、人員コストも外注なら柔軟に対応できる。
秘密保持契約(NDA)さえ結んでしまえば何ということはない、非常に合理的なやり方だ。
ただ、そこで働くエンジニアは “自分の手でモノを作る” という経験に触れにくい
(=エンジニアとしての開発スキルが上がりにくい)といった欠点もある。
なので本当の意味でのモノ作りをしたいならば、スタートアップなどの中小企業に行ったほうが、自分自身の手でバリバリ開発に携われるだろう。
(技術者として)デキる人から退職していく
私が勤める会社でも似たようなものだ。
そして、デキる(バリバリ開発ができるスキルがある)人から順に辞めていく。
移り先はスタートアップだ。
モノを作りたいと心底願っている人からすれば、やはり自分でバリバリ作れるというのは魅力的に映るのだろう。
面倒な社内の調整事も大企業よりは少ないだろうし。
しかしながら、大企業ならではの大規模チームプレイや大規模マネジメントの経験はスタートアップに転職しても重宝されるものになるだろう。
そういう意味では、大企業⇒スタートアップへの流れはもはや必然なのかもしれない。
もちろん、待遇面に関しては妥協しないといけない面もあるとは思うが。