周回遅れでIT業界デビューしたエンジニアのブログ

就職氷河期にモロにぶち当たり、人生で混迷を極めた末にIT業界に安寧を見出そうとしているアラフォーのお勉強日記です。

進路変更しました。+異業種出身エンジニアの生存戦略

あけましておめでとうございます。 本年もよろしくお願いいたします。

1月より新しい職場に移り、PMの仕事を始めます。 もちろん技術的な事にもタッチしつつ、若手の育成や開発体制の構築や事業の拡大などにも関わり、biz寄りの仕事に携わっていく予定です。

今回は自分の体験も交えて異業種出身エンジニアの生存戦略についてお話ししたいと思います。

2018年にやったこと

まずはざっとおさらい。個人的には、IT業界に移って2年目とは思えない濃さでした。

仕事でやったこと

  • 機械学習アプリのデモ作成
    • Selenium、Jenkins、VMを利用
    • 色々なOSでアプリが動作するところを自動で実演するものを作成
  • ECサイトの分析ツール開発
    • SpringBoot とJava を使ってのツールのプロトタイプ開発
    • 自然言語処理を使って頻出ワードのHead-Tail分析
  • グループ会社のWebサービスのPM
    • PMO的な立ち位置で交通整理
    • 優先度の高い開発案件の要件定義から設計&リリース
    • 必要に応じて他PJのテスト応援
  • 自社データ分析基盤用クローラの改修、API仕様書の作成
    • 1日単位でしかデータが取れなかったものを複数日でまとめて取れるように改修
    • PlantUML でシーケンス図を作成
    • REST形式の各ソフトウェアのAPI仕様書を作成

主にバックエンドとPMについて業務を担当させていただきました。短い期間ながらも自分の持ちスキルに見合わなかったであろう難しく濃い内容の仕事を色々と経験をさせていただきました。仕事でご一緒させていただいた皆様にはこの場を借りて感謝申し上げます。

仕事でできなかったこと

  • 機械学習の設計や実装など
  • データサイエンスの分野の業務

入社時の契約書類にデータ分析も含まれていたので期待していたのですが、残念ながら勉強してきたことは今回はあまり活かす機会がありませんでした。いつか活きるといいですね。

仕事以外でやったこと

2人目が秋に産まれたこともあり、家族のサポートのために思ったよりも勉強できませんでした。残念……。 業務の内容はPMに変わりますが、数学や統計学機械学習などは地道に続けていきたいと思います。これらが分かるPMは将来絶対に需要があるはず。

で、何があったの?

2018年の業務の中で一番手ごたえのあったものはPMでした。プロジェクトの状況を把握してリソースを割り振ったり、交通整理をするのが思ったよりも楽しくて自分に向いていそう、と思うことができました。*2

PMとしてアサインされた部署でもある程度の結果は出せた(もちろん反省すべき箇所もいくつかあります)感触があったので、やっていくならこっちの方かな……と感じました。また、ロールモデルとなる方にも出会い、「スキルセットは上流向きなのでやれると思います」と背中を押していただきました。*3 また、自分の興味の持ち方が過去を振り返っても「広く浅く」タイプであったことも関連しています。

反対に、部署で要求される技術力と自分の能力とのミスマッチ感に困っていました。自分が成果を挙げつつお給料を上げていこうとする過程の中で、プログラマーとして部署内の他の人と競うには非常に厳しいという事を身をもって知った1年でもありました。*4

上手く言えないのですけれども……コーディングを業務で行うという事は、プログラマーとして数年の経験がある他メンバーや、技術に特化したポートフォリオを持っているエンジニアの方、あるいは将来現場にアサインされる業務委託の技術者の方々と常に比較されるという事でもあります。

私は家族を養っていかなくてはなりません。 プログラマーとしてもう少し頑張ってみたい気持ちもありましたが……「いつまでも芽の出ないかもしれない、やりたい仕事に固執して時間とチャンスを失うのは愚の骨頂」とすると、それよりは「自分がパフォーマンスを出せそうな事を仕事にした方が、能力も伸びて結果も出せてストレスも減って収入も増える」と考えを変え、判断を下すことにしました。

前の職場から離れることになりましたけれども、その中でも素晴らしいエンジニアの方々との出会いがあり、色々な体験をさせていただきました。この場を借りて御礼申し上げます。*5

何を基準にした?

下の3つを要件として、PMとしての能力を伸ばせそうな会社に移ることにしました。

  • PMとしての経験が積めそうなこと
  • お給料の伸びしろがありそうなこと
  • 会社のステージとカルチャーが合うこと

私は60歳を過ぎても出来るだけ長く仕事をしたいと思っていますので、PMの方が自分にとっては色々と良さそうなことも何となく見えてきました。そのためには色々なプロジェクトに参画する機会のある仕事に変わった方が効率が良いと考えました。

また、転職にあたりIT関連の求人を幅広く調べて、プログラマーよりもPMの方が給料が高いことが分かりました。どちらが楽でどちらが大変というものではなくストレスの質が違うと思うのですが、同じ大変ならお給料が高い方がよいと思います。*6

最後のひとつは意外と重要なので、後で詳しく書きます。

転職活動で使ったもの

今回はわりとシンプルで、この3つだけです。

  • 転職ドラフト
    • 自分にどれくらいの市場価値があるかは常に意識していて、ベンチマーキングのつもりで時々参加していました。
    • 人生で初めて、1位指名もいただきました。
    • ポートフォリオの作成機能がものすごく役に立ちました。Markdown万歳。
    • 指名を受けると言っても、大抵はWantedlyやGREENのようにカジュアル面談を経て応募する流れなので、先に金額を提示される以外は特に変わったことはないように思います。
  • GREEN
    • 転職ドラフトでまとめたポートフォリオを写して、希望条件を置いておきました。
    • DS関係で何社か面談に行きましたが、内定には至りませんでした。
  • Twitter
    • 今回は転職用の別アカウントを作りました。
    • 持ちスキルと希望条件を添えて、#hiyokonitsuduke と、#twitter転職 のタグをつけてツイートしました。
    • 声をかけてくださった企業様は、数えてみたら11社でした。半分くらいに会いにいって、その中から決めました。

1位の記念SSどんっ。結局お祈りされましたけれど! f:id:sionff:20181220114937p:plain

異業種出身エンジニアの生存戦略

ここからは「異業種出身エンジニア」がどうやってIT業界で生きていくかについて、自分なりの知見をまとめておきたいと思います。

異業種出身の方でITで食べていこうと考える方が特に意識しておきたいのは、今のところ下の3つのように感じています。*7

  • IT業界に存在する仕事のうち、自分がどのあたりの工程でパフォーマンスが出せそうか
    • 考える段階では、好き嫌いは度外視してみるとよいかもです。どこなら結果が出せそうかに意識を集中します。*8
  • 自分が経験してきた業界(例えばアパレルや美容など)は何なのか
    • その業務を知っていることが強みです。業務のイメージが湧けば設計や実装でも違いを出せそうです。
  • 自分が「広く浅く」タイプなのか、「狭く深く」タイプなのか
    • 個人的には、広く浅くならPM向き、狭く深くならエンジニア向きではないかと感じています。

上の項目を踏まえて、「パフォーマンスが出せるもので力をつける」ものに集中してから、他の領域にも少しずつ手を伸ばしていくのがよいと思われます。

自分のケース

私の場合は、営業や経営企画や自営業など他職種、異業種のバックグラウンドがあるので、PM*9 がそれに該当しているように感じました。*10

その上で、興味を持っている領域で仕事ができたらいいなと思います。DS*11 、AIやML*12 、DMP*13 など、データ分析に関わること全般に知見を持っているPMなら将来的にも需要がありそう、と考えました。

自社開発のサービスなら何でもいいってもんじゃない

エンジニアの転職条件に「自社開発希望」と書かれる方は多いですし、私もそのように希望をしていましたが、SIと自社開発とを両方経験して分かったことがありますので違いを書いておこうと思います。(あくまで個人的な感想です)

  • SI

    • 色々な新しい技術や顧客や業界に携われる
    • SI社内のチームワークや人間関係は比較的良好
    • 品質を保つための工夫が比較的しっかり行われている
    • ドキュメントがちゃんとある
    • わりとウォーターフォール
    • 説得力とプレゼン力が必要なため顧客を上手くコントロールできないと死ぬ
    • 納期が迫ってきて死ぬ
    • IT業界の闇を垣間見ることができる
  • 自社開発

    • 自社のサービスに関わるぶん結果が見えやすい
    • R&Dの部署に入れれば納期フリー、ただし相当な技術力が要求される
    • ドキュメントがないケースの方が多い
    • わりと偽アジャイル*14
    • 事業サイドの意向に引っ張られて炎上しやすい
    • CS(カスタマーサポート)の部署の人と仲良くできないと死ぬ
    • 過去のリリース時の環境に引っ張られているケースの方がはるかに多い、技術的負債との闘い

自社開発の場合は、サービスインしてからの年数、使用言語、使用フレームワーク、サーバ、開発体制なども入社前に知っておく必要があると思います。でないと技術的負債の返済だけであっという間に時間が過ぎ、労力の割には自分の志向と合わないポートフォリオが出来上がる懸念があるように感じられました。

応募先の会社としてのステージを意識する

また、自社開発においては、求人を出している企業がどのステージにあるかで重視される人材が変わります。
例えばこんな具合に。(※個人的な印象です。便宜上この分け方で)

  • スタートアップ
    • とにかく実装に強い人
  • ベンチャー
    • 実装に強い人、あるいは基盤技術に強い人
  • マザーズ上場後
    • 開発体制の底上げをしてくれる人、交通整理をしてくれる人、技術的負債を返済してくれる人
  • 一部上場後
    • 実装に強い人を中心に何でも来い

ちなみに、SIは「何でも来い」な印象です。顧客が求めるもの、つまりPJに合わせて求められる人材が変わるからなのかも知れません。

スタートアップはとにかく実装が命です。UXの改善はもちろん、裏側もどんどん改善していかないといけないので、スピード感についていける人でないと厳しそうです。

ベンチャー(スタートアップから脱してサービスがある程度軌道に乗ってきた状態ということで……)になると、サービスの改善はもちろんのこと、裏側のデータの整理が出来ていない状況はよくあるようです。*15 DL→DWH→BIという流れを作るにしても、どのデータに着目して、どういった形でデータを用意するか判断して(アドホックでやるのか、バッチでやるのかも含め)、BIツールとしては何を用意すればいいのか、実際に事業部側に活用してもらうためには、など色々考えることも増えてきます。

上場もした会社ともなると、自社開発のサービスが軌道に乗ってはいるものの年数が経っていてプロダクトが古いままになっている事はよくあるようです。その会社が技術的負債の返済にひたすら追われているのか、その中でも新しいことにちゃんと注力できているかは、見極めに特に重要な要素となるでしょう。

一部上場後の企業の場合は、マザーズ上場後とも状況は似ているように感じられます。会社が大きくなる過程においてサービスの種類が格段に増えているため、メンテナンスしなくてはいけないものが多く、実装など手を動かすスピードが速い人が一番求められているように思われます。

というわけで、会社のステージによって求められる人材やスキルセットもかなり変わってくると思いますので、事前に調査して、面接時にはちゃんと質問しておいた方がよいのではないかと思います。

終わりに

以上が、今回の転職で行ったことや感じたことでした。

最後に、退職あいさつの際に取締役の方からかけていただいた言葉を置いておきたいと思います。

「なんでも勇気が大事なので、一歩一歩前進してください。勇気は養うものですから」*16

……勇気を出して、前に進みたいと思います!

*1:結果忙しすぎて、一度メンタル崩壊しました。皆様も予定の詰めすぎにはご注意を!

*2:こんなところで、経営企画の経験が活きてくるとは思いませんでした。人生無駄な事ってないんだなぁ……。

*3:執行役員の方には本当にお世話になりました。人間的にも技術的にも素晴らしく色々お手本にしたいと思いました。この方がいなかったら今頃どうなっていたか?

*4:要求レベルの高い部署かつ上司が大変厳しい方であった分、自分のレベルも上がっていくものの、日々自信が失われていきました。これはキツイ。

*5:できれば転職は避けたかったのですが……収入面、会社のカルチャーやステージ、業務の内容や環境などを総合的に判断した末に、新しいチャレンジをすることに決めました。とはいえ、チャレンジを避けるようになったらそれまでな気もします。

*6:最近流行の「1ばんくし」が幾らかは知りませんが、お金はあるに越したことはありません。

*7:私が身をもって知ったことでもあります。

*8:私の前職での失敗のひとつは、自分のスキルセットを切り捨てる形で下流に走ったことだと個人的には考えています。ただ、その前職でPMも経験させていただけたので結果オーライでした。

*9:プロジェクトマネージャーです。Project Manager

*10:前職で「スキルセットはPM向き」と言っていただけたのが非常に大きいです。

*11:データサイエンスです。Data Science

*12:人工知能機械学習です。Artificial Intelligence, Machine Learning

*13:データ分析基盤です。Data Management Platform

*14:アジャイルはチームメンバー全員がアジャイルを理解していないと機能しにくいと伺いました。

*15:データレイクだけ用意してそこに手を突っ込むように超長文SQLを書いてデータを取っている、というような事も往々にしてあるそうな。

*16:個人的には、この言葉を頂いただけでも10ヵ月間苦しんだ甲斐があると思いました。ありがとうございました。