【質問#10】【質問#4】(ITで転職する場合の会社の見分け方について)に関する感想

質問・悩み相談の回答です。

質問

いつもブログやtwitterを楽しみに拝見しております。

質問や悩み相談というわけでは無いのですが
「【質問#4】ITで転職する場合の会社の見分け方について」の記事を読んで共感した部分がとても多かったので、その感想という形で投稿いたします。

私もメーカ系のSIerに勤めて数年の若手エンジニアですが本記事と似たような環境で働いております。
また、日々ブログを見ていてwithpopさんの職場環境とも似ている部分が多くありました。
(おそらくメーカ系SIerの典型パターン、といった感じでしょうか。。。)

このままでは10数年たっても人売りのスキルしか身につかない、と思い自分なりに勉強を進めてきましたが、
「良いシステムをつくるには」ということを考えていくと、やはり本記事でもwithpopさんが記載しているような

・近代的な言語やフレームワークの採用
・CIツール
・コミュニケーション/コラボ/タスク管理ツール
・インフラ系ツール/サービス
・小さいサイクルのウォーターフォール、アジャイル、スクラム

などに行き着きました。
そして自分で試せるものについてはなるべく触れるようにしてきました。

しかし、上記を実務の中で取り入れていくには、色々と障壁がありますし、何よりプログラミング興味が無い社員をこういった環境に適合させるところに力を注ぐよりは
こうした環境が既にできあがっている会社に転職して働くほうが良いのではないか、と思い転職を決意したはいいものの本当に転職を成功させられるか、と不安になっていました。

不安な点としては
上記の環境が比較的導入されているとされるwebサービス系企業に転職するとして
そこで使うプログラミングの技術を実務レベルで身につけられていない点です。
業務で携わったシステムと考えるとJavaや.NET系(WebForm)が多いですし、フロントサイドはどれも貧弱でした。

個人的な学習として、MVCフレームワークやJavascriptフレームワーク、CSSフレームワーク、HTML5関連技術にはふれていますが、個人のレベルものしか作れておらず
実践的なスキルはまだまだ足りない状態です。
また、web系で使用されそうなRubyやPHP、Scalaなどは触れたことが無いため、一からの勉強が必要です。

そうしたことを踏まえると
OSSをもとに勉強したり、どんな小さなシステムでもいいので自分1人で作ってみてwebで公開してみる、くらいの事までやってみて
その経験を元に転職していくしかないのかな、と現状では考えていますが
業務が忙しかったりで勉強時間が取れず、歳を重ねていくのが怖いです。。。

回答

ご感想ありがとうございました。特に、「こういう環境が既にできあがっている会社に転職して働くほうがいい」という点に私は強く同意します。

私はシムシティみたいな「ゼロの状態から何かを作っていく」ような行為がとても好きで、今勤めている会社を改善させていくことについても人並み以上に強く興味を持って取り組むことが出来ると自負しています。自慢っぽくなってしまいますが、同僚や上司からも「会社を変えることができるのはwithpopのような人間だろう」とよく言われます。

私がそれでもなお転職を希望しているのは、組織を変えるのにはあまりにも政治力が必要であったり、そもそも株主から送り込まれた取締役の運営方針を跳ね返すのが不可能であったり(これが簡単にできるならば株式会社という仕組み自体が成り立たない)という困難を感じ、一向に改善活動そのものに取り掛かることが出来ないと感じたからです。

ひねくれた言い方をすれば、私も「会社を変えるのはお前だ」などと周りからヨイショされて張り切っちゃう、ということを自制できる程度にはアホではないということです。

技術者の多くは政治が嫌いな人が多いです。しかし残念なことに人が集まれば政治は必ず生まれます。数人の政治で勝ち抜くのと、数百人数千人の中の政治で勝ち抜くのには違った素質や努力が必要です。そこに注力するのは私の人生におけるやりたいことから大きく逸れていると強く感じました。

話しが逸れました。さて、感想、との事ですので特に回答は不要なのだとは思いますが、いくつか気になった点を書かせてください。質問者の方にというよりは見て頂いている方全般にという意味合いをこめて書いています。

SIerについて
私はSIer、特に大手のSIerは「ソフトウェア開発をする会社」ではないと感じています。「人(協力会社)を集めてきて人月計算というどんぶり勘定で開発を発注する業務を行う会社」がより適当な表現と思っています。大手SIerはどこもお抱えの協力会社がいて、大きな案件があれば大まかな設計だけざっくりと決めて機能毎に外注するようなやり方をしていることが殆どでしょう。

別にそれ自体はビジネスの一つの方法ですから、良いも悪いも無いのですが、結果としてSIerでは技術の流出が問題になるケースが多いかと思います。外注に頼りきった結果、自社で内製出来る技術が失われつつある(もしくはすでに失われている)ということです。

また、そもそもSIerの業務とは「顧客の説明内容をシステムとして実装する」という事になりますが、大体顧客となる人、特に官公庁向けシステムでは客先担当者がIT技術にはズブの素人であります。官公庁でなくとも、SIerにシステムを発注できるような規模の会社ではシステム部門が独立して存在しているがためにシステムを適用する現場の業務すら良くわかっていないと言う事がままあります。ですので仮にすべてを内製するにしても、その顧客の業務内容を良く調べるだとか、本当に必要な機能を取捨選択するだとか、そういった仕事にかなりの時間が割かれてしまいます。

したがって肝心の「ソフトウェア開発」という点では、特に技術的にチャレンジングな要素があるわけでもなく、旧来からのエンタープライズ系技術(JavaとかJavaとかJavaとかJavaとかたまにASP.NETとかC#とか)の旧来の機能を使って保守・実装するような仕事になってしまいます。

ただ別にJavaや旧来の技術や保守的な考え方が悪いというわけではありません。懸念しているのは、「コードをバリバリ書きたい」という人がSIerに入ってもコードをバリバリ書くことは出来ないことがほとんどなのにもかかわらず、そのような人がSIerに入社して「やっぱ違うな・・・転職したな…」と思うケースが多々見受けられることです。

つまりは入社前に業界研究が出来ていなかったという事もあるのでしょうが、大手SIerに入るような人は新卒が多数でそもそも業界についての知識が乏しかったり、昨今の安定志向から保守的な大企業に入りたい、すると大手SIerが選択肢として上がってくるという背景もあると思います。

「コードをバリバリ書きたい」というやる気のある学生がSIer入社してしまうのは日本の中でリソースを有効活用できていないと言ってよいと思います。いや、正確に言えばSIerが募集しているのはSEであり、プログラマではありません。SEとはシステムエンジニアであり、ここで言うエンジニアとは客先との折衝やプロジェクト運営などする人を主に指します(それだけではありませんが)。なので、そもそもコードを書くのを中心とする職種として募集していないという点も注意が必要です。つまりこのようなミスマッチは双方にとって不利益ということです。

ともかく、コードをバリバリ書きたい学生はコードをバリバリ書ける会社に入ってバリバリ伝説になるべきで、そしてその会社はSIerでは決してありません。

ちなみにバリバリ伝説や頭文字Dの作者であるしげの秀一氏は、2016年1月現在、「セーラーエース」というセーラー服でピッチャーを務めるみたいな良くわからない漫画を描いているそうです。

技術のギャップについて
さて、SIerではなぜかJava EE系の技術やMVCモデル、Oracleが好まれます。Javaを使ってるのはITバブルの少し前あたりから来た「Javaマジすげえ」という盲信が発端と私は思っており、オープン系の技術でエンプラ系システムを構築するのも別に何も変わらないと私は考えています。まあそれが正しいかどうか、またJavaは劣っているのかどうかという点についてはさておき、Java系の技術がエンプラ系システムでは好まれると言う点までは事実といって差し支えないと思います。

であるからこそ、SIerから転職を希望する人たちにとってはJavaやOracleなどのエンプラ系技術とオープン系技術との間でギャップが生まれてしまい、転職に苦労するという構図になるわけです。

「SEなんでしょ?どこも変わらないんじゃないの」という感想を抱く、ソフトにあまり詳しくない人のために例を挙げると、二郎や家系ラーメンを食いあさって「ウンメ~!!」とか書いているブロガーを表参道のドレスコードがあるフレンチのお店に連れて行ってレビューしろと言うようなものですね。「同じ食べ物でしょ?どこも変わらないんじゃないの」とは言えないでしょう。

もしくは、ルノー カングーにアウトドアグッズを積み込んで年中キャンプに行っているような人たちが熱烈なスバリストが集うレガシィオフ会に出席するようなもんでしょう。「車重1.5t近くもあるのに105psしかないの?いやあ、でも普通はそれでも十分ってことなのかな(笑)いや、僕らが特殊なんだよね(笑)」みたいなことを言われるかもしれないですよ。そしたらマジブチ切れですよ。余計なお世話なんすよ。

それはさておき、実際、私自身が転職活動をしてみて強く感じますが、SIerやメーカー系技術者が一般のWeb系企業に転職するのは「キャリアチェンジ」と見なされます。同じ業界で前職の経験がフルに活かせるというふうには見てくれないわけですね。それほどまでに技術のギャップが激しいという実例ですが、まあ仕方のない事です。

プライベートでの活動について
質問者の方は「小さなシステムでもいいので自分一人で作ってみてwebで公開してみる」などといったプライベートでの実績が転職には必要だろうと述べておられます。これは私の経験上からも全くその通りです。幸いなことに多くの会社が個人での活動、特にブログやWebサービスを通じての積極的なアウトプットやGitHubなどによるOSSへの貢献を重視して下さっています。おそらく、そのような活動を積極的にしている人は「伸びしろが大きい」と考えているからでしょう。

時間が無いという点について
そして、そのような実績を作りたいが時間が無い・・・ということですね。これはほとんどの人がそうです。時間に関しては作るしかないとしか言いようがありません。

ただ一つアドバイスというほどでもありませんが、私が思っているのは「転職という目標を達成するための通過儀礼や義務」とは思ってほしくないということです。せっかくやるのですから、楽しくやった方がモチベーションは上がるでしょう。

転職したいというのは究極的に言えば「生活をよりよくしたい」「人生をより良いものにしたい」という気持ちの表れでもあります。良いと思う技術を駆使して世の中に新しいものを生み出していくということを通じて、自信を醸成し、また、行為に見合った報酬が手に入ります。それらは生活を豊かにするためには必須の要素です。そして、良い生活をするための努力は惜しんではいけません。これを惜しむと他人を妬んで文句ばかり言う困ったちゃんになってしまいます。

「俺は良い生活をしたいんだ。良い人生を生きたいのだ」という気持ちで転職活動に取り組めば、モチベーションを保つのも難しくないと思います。お互い頑張りましょう。