僕は日本でも有数の大企業で、ソフトエンジニアというポジションで仕事をしているが、もう転職をしたほうがいいんじゃないかと考え始めている。
元々、僕は大学を卒業後、ある中小のメーカーに就職した。そこではソフトエンジニアが企画の段階から入り込んで、まず商品企画から出てきた機能のプロトタイプを作り(コードは当然自分で書く)、そのプロトタイプを会議に持ち込んで、この機能はいいか、もっとこうすればいいんじゃないかという議論の上、プロトタイプを作り直しては企画を練り直し、最終商品としてリリースするというのが当たり前の時代を過ごした。要求仕様を確定する前に、プロトタイプを何度も作り、ブラッシュアップするスタイルで仕事をしてきた。それがソフトエンジニアの当たり前の姿だと思っていた。
そこから僕はその仕事をする中で、大企業だったら、もっと高度な制御を行うソフトを書ける人が沢山いて、自分もさらに難しい課題を解くコードを書ける仕事を手がけられるのではないかと思い、転職をした。面接でも、月に何キロステップ書けるのかとか、どれくらいの規模のコードを書いたことがあるかを問われる。しかし、実際に入り込んでみると、大卒でそのまま大企業に就職した自称ソフトエンジニアという人たちで溢れていて、閉口した。簡単に言えば、ざっくりとした要求仕様しか書けない、あるいはプロトタイプも作れないソフトエンジニアしかいない。超ざっくりとした要求だけ作って、あとはソフトベンダーや子会社へ実装、テストを丸投げするという仕事のスタイルが慣例化している。実際にやっているのはエクセルを眺めているだけだったり、バグ表のエクセルをメンテしていたり、コストの管理をしていたり、人員のアサインをするだけで、ソフトエンジニアという肩書だけで、エンジニアリングを全くできない人だらけであることに、入社して数日で気づいた。僕はもっと高度な課題を解くコードを書けると思って転職したのに、そういう自称ソフトエンジニアで溢れていて、腐りかけている。もう限界で、転職したほうがいいと思っている。ここにいても、エクセルの達人にはなれるかもしれないが、純粋にソフトエンジニアのキャリアを積めるとは思えないし、ソフトエンジニアとして世の中に貢献するには程遠いと思うからだ。
だいたい、一流大学で工学系を学んだ人が大企業に就職し、導入研修で、一応ソフトの基礎を学ぶわけだが、正直言って、C言語のprintf("Hello world!\n");しか書かない。それだけの学びで、現場に配属される。じゃあ、そこで任される仕事と言えば、いきなり、プロマネである。エンジニアリングの基礎も知らない状態で、プロマネになって、コストや人員管理をするため、エクセルの達人になるわけである。中には、会社に行きさえすれば、大企業ゆえ、ある程度の報酬を得ることができ、楽な環境、ひとによっては美味しい環境であると思って、会社に行くこと=お金をもらえる、なんて美味しいと思っている人もいるだろう。
そんな状況なので、だいたい大規模なソフトウェアをその生粋の社員が作れるわけもなく、創り方も知らないので、だいたいプロジェクトは大炎上する。炎上して、誰を責めるかといえば、大企業のソフトエンジニアはソフトベンダーのエンジニアを責める。なぜ、バグったのか、なぜこんなくそな設計をしているのか、と責めるのだが、大企業のソフトエンジニアは自分が設計すらできないのに、ソフトベンダーの中小企業の人たちを責めるという構図ができている。明らかにおかしい。
要求仕様をインプットし、システム設計や、ソフトアーキテクチャ設計の上流からソフトベンダーへ丸投げし、新参者がその上がりをチェックする立場になってしまうわけだが、printfしか書けない自称ソフトエンジニアがチェックできるわけはなく、レビューもできず、解決策を提案できるわけがない。そもそも、エンジニアリングを知らないで、プロマネの仕事につかされるわけだから、無理もない。確かに、一流大学を卒業しているので、頭の回転は早いのだろうが、その能力を活かしていない、また活かさなくても給与だけはもらえるという世界が広がっており、せっかく一流大学を卒業して、大企業に入社できたのに、蓋を開けてみると、そんな光景が広がっていることを知らずに入社してしまう人が溢れているだろう。
では、ソフトベンダーのエンジニアはどうかと言えば、恐らく大学でコンピュータサイエンスを十分に学んで職に就いた人は少ない。それゆえ、そこでも複雑怪奇なコードを書いてしまったり、月あたりのステップ数を稼ぐために、無駄なコードを書いてしまうという問題も一方である。
話を戻すと、いま僕は転職活動を始めて、求人票を多数リサーチした。しかし、そこに書かれていることと、大企業の実態は大きく乖離している。例えば、必要要件としてC/C++の豊富な経験と書かれていたり、◯◯の設計職と書かれている。しかし、実際に入社してみると、そんなスキルは必要とされておらず、必要なのはエクセルの知識である。入社したらおそらく後悔する人は多いだろう。
日本の大企業は報酬はいいかもしれないが、エンジニアとして仕事をしたい人はすぐに物足りなくなる。本当にエンジニアリングをやりたいのであれば、設計をやりたくて、設計を極めたくても、いまの大企業にいては無理だ。構造的な問題がある。
僕はもう限界なので、転職することになると思うが、僕はこれから先も設計をやりたいという原点に戻りたいし、やっぱり設計が好きだということに気づいたので、いま積極的に転職活動をしている。
これを読んだ人、エンジニア志望の大学生や、いまエンジニアの人、もし大企業を目指しているなら、上記のような環境だということを踏まえて、就職したほうがいい。それでも大企業だから、安定しているし、報酬を取るって人はそれでもいいと思う。しかし、エンジニアリングを極めて、エンジニアリングを通して、公に貢献したいのなら、考え直してもよいだろう。