ギークなエンジニアを目指す男

機械学習系の知識を蓄えようとするブログ

【退職エントリ】SIerを辞めてWeb系ベンチャーの機械学習エンジニアとして働きます

f:id:taxa_program:20190228213941p:plain:w350

こんばんは。takapy(@takapy0210)です。

本記事は、転職カウントダウンカレンダー 最終日の記事です。
(最終日と言いつつまだ埋まっていない日付があるので、これは後々埋めます)

www.takapy.work

いわゆる退職(転職)エントリです。

本日、2019年2月28日を持ちまして、新卒から6年弱勤めたSIerを退職しました。

昨年の11月~12月にかけてN社の退職エントリがバズっていましたが、私はN社勤務ではありませんし名の知れた大手SIerでもありません。

以下は個人の主観に基づく主張のため、ネガティブなことも多分に記載しています。

結論だけ知りたい方は「今後について」に記載しております。

転職活動時のわたし

  • 年齢:20代後半

  • 職業:SE(新卒入社)

  • スキル:
    オープン系システム開発(5年)
    エクセル職人
    個人でiOSアプリ開発とか、機械学習の勉強とか

  • 資格:
    基本情報
    応用情報
    データベーススペシャリスト

現職での仕事

300~500人規模SIerのSEとして、開発:50%、Excel職人:50%、社内活動:20%などをしていました。 自分の所属している部署はERPパッケージを導入することをメインにやったりしていました。

幸運(?)な事に、下請けなどは一切やらずプライム案件のみでしたので、俗に言われる「多重下請け構造による問題」などは起こり辛い環境にいました。*1

要件定義~設計開発、保守など、いわゆるプロジェクトにおける一連フローを経験できる職場であり、THE SIerといった感じで仕事をしてきました。

開発

多くの人が見聞きしたことのないマイナー言語で開発をしていました。流行りのCOBOLではありません。 コードレビューは名ばかりで(99%やりません)、ほぼ個人の知見に委ねられたコードが出来上がるため、仕様変更や保守などには苦労した記憶があります。 技術に関しても、個人でキャッチアップしている人などは(おそらく)皆無であり、最近の技術ネタを話しても「何それ?」状態でした。

最近は「若手の技術力あげたいから諸々よろしく」みたいな感じで上司から言われたりしていましたが、このような環境だとなかなか難しいのではないかな、と思ったりしていました。

DBはOracleを使っていたため、PL/SQLなどは結構得意だったりします。流行りのパブリッククラウドなどとは無縁の世界でした。 また、バージョン管理もお察しの通りです。*2

Excel(PowerPoint)職人

システムを導入するにあたり顧客へ操作トレーニングなどをするのですが、これに使用する資料を作ったり、業務運用方針などを検討する際に利用する資料を作ったりしていました。

上記はまだモチベーションがあったのですが、テスト結果のエビデンス*3を取るために、画面のスクリーンショットをひたすらExcelにコピペしたり、顧客に納品するためのドキュメントの体裁を整えたり*4など、刺身タンポポ仕事が多かったのは言うまでもない事実です。

社内活動

非効率な定型作業*5がいくつもあったので、それをshellやVBAマクロなどで半自動化したり、slackやGROWI*6を導入して働きやすい環境づくりなどを積極的に行ってきたつもりです。

slackやGROWIなどの業務効率化ツールに対しては、管理職の方を中心にあまりポジティブな意見を持っていなかったため、導入するのには骨が折れました。(slackに関しては全社導入したかったのに未だにできていません・・・。理由は後述)

現職の良かったところ

転職したとはいえ、現職にも良かったところは多くあったのではないかと思います。といっても自分は新卒で入社してから現職のみなので、友人から聞いた他社の情報や世間一般的に知られている情報との比較になります。

良い人(≠仕事ができる人)が多い

自分が現職に入社した理由の一つでもあり、6年勤めた今でも本当に良い人が多い会社だと思います。 ここで述べている「良い人」の定義ですが、

  • 嫌味を言わない
  • 他者に興味を持ち、困っていると助けてくれる
  • 思いやりがある

など、世間一般的な「良い人」を想像してもらえれば大丈夫だと思います。

したがって、人間関係で困った事はなかったように記憶しています。 実際に退職する旨を伝えたときも、「残念だけど頑張れ」という声を多くいただきました。

福利厚生が手厚い

良かったものをあげてみます。(その他、家族手当・子供手当などの福利厚生は一般的です)

住宅手当

東京23区内に住んでいるか、結婚しているか、などの条件にもよりますが、自分は8万/月ほど貰えていました。

医療費補助

保険証を提出すれば窓口でかかる料金(個人負担額)は、社会人であればおおよその人が3割負担だと思います。この3割負担のうち、残りの金額の3割だけが個人負担となります。(7割を会社の保険組合が負担してくれます)

例えば全額で10,000円かかった場合、

10,000×0.3=3,000、3,000×0.3=900円

にまで自己負担額が抑えられます。

以上のような手当がありました。

残業代がしっかり支給される

みなし残業などはなく、残業代は申請した分だけ貰えます。出入口のカードリーダーにカードを通さないと扉が開けられないため、労働時間の過小申告が難しくなりました。(一部の人は家にPCを持ち帰って仕事をしていたようですが)

しかし、良くも悪くも「給料」や「評価」に大きな差として現れるのがこの残業であり、残業すればお金が人より多くもらえたり、残業した時間に比例して上司の評価も良くなる傾向(労働時間が占める評価軸が大きい、というかそれでしか判断できない)にあると感じていました。

ぼーっとしている人でもある程度の年収は貰えるため、そういった意味では良い職場だった(?)のかもしれません。

なぜ転職しようと思ったのか

上記のような良い部分があったにも関わらず、なぜ転職したかについてです。

プロダクトそのものに興味が持てなかった

入社して2~3年ほど経った時、ふと思いました。

自分たちの提供しているサービスは、「誰」の「何」に役立っているのだろうか

汚い言葉でざっと説明すると、システムを導入することで穴が開き、その穴を埋めるためにシステムに機能を追加していく仕事に違和感を感じざるを得ませんでした。(基幹システムを導入しているベンダー界隈の人であれば、なんとなく伝わると思っています)

もちろん自分の知らないことを知っていく楽しみはありましたが、その先はありませんでした。顧客のシステムなので当然といえば当然なのかもしれません。

キャリアパスに対する不安

世の中にはいろいろな技術が出てきているのにも関わらず、仕事で用いている技術は入社時から変化していないけど大丈夫か?という焦りと不安を覚え始めていた記憶があります。

この頃から開発(コーディング)とExcel作業の割合が50:50ぐらいになってきており、社内の上司を見渡してもExcel職人(≒マネジメント特化人材)へのキャリアパスしか残されていないということは、若手の自分でも目に見えて分かりましたし、仕事上で身につくテクニカルスキルに早くも限界を感じていました。

自分のような若手(の技術者)が昇給したければ、専門家としてプロの道を途中で諦め、マネジャーの見習いにならないといけない仕組みが、そこには出来上がっていました。

もちろん、マネジメント特化人材が悪いとは微塵も思っていませんし、仕事のできる上司、仕事に責任と誇りを持って働く上司もいました。しかし、自分はもっと幅広い技術力*7を身に着けたいという思いが強く、そのキャリアを積むのはなかなか今の環境では難しいのではないかなと感じていました。

そんな中、仕事でできないなら自分でやればいいのでは?と思い、こんな感じのiOSアプリを3本ほど作ってみたりして、「プログラミングやっぱりオモロイ」って思ったり、「世の中に自分の作ったアプリが公開されているスゲー」って思ったりしていた記憶があります。

そんなことをしてきましたが、結局自己満足で終わってしまっていることに気づき、どうせなら世の中に影響力のあるサービスを作りたいなぁとぼんやり思うようになり、いろんな事を考えている中で機械学習という分野に出会いました。とても面白く夢中になって勉強していました。

ただ、プライベートで勉強していたことが仕事に活かせるわけでもなく、日々悶々と過ごしていました。(会社には機械学習使えばこんなことができそうですよ、というアピールは何回かしました)

職場の評価制度や社風

これに関しては悪しき古き良き文化を継承している日本企業の多くが当てはまるのではないかと思っています。(特に評価制度)

評価制度

結局は年功序列であり、仕事ができる/できないという軸で待遇の差別化はほどんどされていませんでした。

昇格の条件も、意味があるのか無いのか分からないテキスト(中堅社員は部下の見本になる必要がある!みたいな内容)を読み、それに対する問をオンライン上で解答しなければならないという謎の試験がありました。(人事評価的に、なにか目に見える評価軸が欲しいのは分からなくもないが、今考えても無意味なテキストだったと思います。内容もあまり覚えていません)

また、上記でも述べましたが、「仕事が速い人」より「残業している人」の方が給料が高い問題も発生していました。これに関しては何回か上司に提言しましたが、改善はしませんでした。(簡単に改善できないことは重々承知してましたが)

社風

冒頭でslack導入の話しをしましたが、最初は部内(20名ほど)に導入し、そこでの評判が良かったので次は全社的に導入したいと思い行動にでました。

いわゆるCSR的なことをやっている部署に連絡してみると、会社でもコミュニケーションツールの導入を検討している段階という話を聞き、「これはチャンスだ」と思いslackを推しました。

その数日後、

「現在、LINE WORKSかslackかで決めかねている。試験的に契約したLINE WORKSのアカウントを貸すので、どちらが使いやすいか評価してほしい」

と言われ、二つ返事で「やります」と言い、続報を待ちました。

・・・それから約1年間、2~3ヶ月おきに「あと少ししたらLINE WORKSのアカウントを貸せるので評価してほしい」という事を言われ続け、さすがにダメだなこれと思いました。(何回も催促した結果がこれです。結局LINE WORKSのアカウントが手元にくることはありませんでした)

何が言いたいのかというと、全体的に自分で責任を持って何かを進めようとする意識のある人は少なく、既存の仕組みで解決出来ないことに対しては抵抗勢力が大きかったと思います。

また、割と安定している会社だったためモチベーションの低い人が多かったように感じていましたし、こうしていくべきだ!というビジョンを持った人が少なく、経営層の意気込みだけが空回りしている印象でした。

振り返ってみると、何か新しいことに挑戦していくことが苦手な組織だったんだなぁと思います。

なぜネガティブなことを書くのか

ここまででいろいろネガティブなことを述べてきました。「自己肯定のためだろ」と問われたときにNOと即答するのはなかなか難しいと思っていたりします。

しかし、それだけのために長々と書いた訳でもありません。

退職の意向を会社に伝えた後に、お世話になっている上司(上記でいう仕事に責任と誇りを持って働く上司)と2人で飲む機会がありました。上司曰く「数年に1度、お前みたいな若手*8が辞めてしまう事がある。この影響で他の若手も連鎖して辞めてしまうんじゃないかと危惧している」とのことでした。

「なるべく阻止したいから、忌憚のない意見が欲しい」ということで、お酒の力も借りつつ、これまでつらつら書いた内容+αを話したりしていました。その中には上司も「やっぱりそこは良くないところだよな」と共感できるポイントもいくつかあったようで、会社的に見直していかないとダメだよな、という話になったりしました。 (念のため補足ですが、この上司はメンバーが退職することによって評価が下がったりする訳ではありません。単純に若手にも仕事を楽しく感じてもらいたい、というポジティブな考えのもと、意見交換をしていました)

前置きが長くなってしまいましたが、自分がこのような事を発信することで、この記事が現職の誰かの目に触れ、「こんな理由で転職する人がいる」「若手はこんなところに不満がある」という事実が伝われば良いなと思っています。

そして現職の環境が少しでも良くなって、若手や諸先輩方が正当に評価されるようになればよいな、という想いがあったりして、ネガティブな事も書かせてもらった次第です。

その他にも身に余るお言葉を頂きましたが、最終的には「良い選択をしたな、頑張れよ」と激励して頂きました。今後、どのような形でもこのような縁は大切にしていきたいと改めて思った、そんな夜でした。

結論

ざっくり上記のようなことがあり(細かな理由は他にもいろいろありますが)

  • もっと世の中にインパクトのあるサービスに携わりたい

  • 技術志向な企業でテクニカルスキルを高めたい

  • スピード感のある若い企業でフレキシブルに働きたい

などを考えるようになり、転職を決意しました。

また、下記のような記事を定期的に読んでいたので、少なからず影響はあったのかもしれません。

type.jp

tech.nikkeibp.co.jp

転職活動

自分の場合は、ある日突然転職エージェントから連絡がきました。(FBのメッセンジャー経由で)

どうやらconnpassなどの勉強会参加履歴などから辿ってきたようです。最初に新宿のカフェで会った時には、すでに私の生い立ちに関しては洗いざらい調査されておりました。(少し怖かったです笑)

そこから計4社のエージェントと会い、良さそうな2つのエージェントをメインに活動を行うと同時に、キャリトレなどのサービスに登録し自分で企業へ直接アプローチしたりしていました。

職種としては「機械学習エンジニア」「データサイエンティスト」を中心に応募しました。 30~40社くらい応募し、面接へ進んだのが10社程度だったと記憶しています。(未経験職だったので書類選考で結構落ちました)

転職活動期間は約2.5ヵ月でした。世の中の「平均転職活動期間:3ヶ月」というざっくりとした期間設定はあながち間違っていないようです。

職務経歴書について

DS職やMLエンジニア職は未経験でしたが、とにかく今までに勉強してきた内容を全て書きました。利用した書籍や講座、アウトプットしている媒体などすべて記載し、未経験なりに機械学習に対する思いや興味といった部分を最大限にアピールしたつもりです。

それの効果もあってか、数社ではありますが未経験でも書類選考を通過することができたのではないかと思います。

面接について

なぜ機械学習に興味持ったか?についてはどの企業からも聞かれました。

その技術に興味を持った背景だったり、なぜそれをやりたいのかを自分の中で整理しておくのは結構重要だと思います。(今後のキャリアパスにも影響する部分でもあると思うので)

自分の場合は、

こんなサービスあったら良いな→よし作ろう→人の趣味趣向からレコメンドする機能が欲しい→機械学習というもので実現できそう→I’m really into 機械学習

といった感じで、サービスを実現するための手段として機械学習にたどり着いたのがきっかけです。それと同時に、今後より良いサービスを作っていくためには機械学習などのコア技術が重要になってくるだろうなーと思うようになり、これを生業にしていきたい!と強く思いました。

転職活動するにあたって準備しておいて良かったこと

アウトプット。これです。誰がなんと言おうとこれです。

もちろん、面接の対策などもやるに越したことはないですが、今回の転職活動を通してmustではないと感じました。後述しますが、アウトプットが内定の決め手にもなったと思っています。

こんなに勉強しました!こんだけインプットしています!といくら口で言っても、成果物がないとなかなか判断することが難しい、ということは容易に想像できると思います。

ブログやQiita、Githubなどに自分のキャッチアップしてきた内容を公開しておくことで、この人はこの程度のことならできるんだな、ということがイメージでき企業側も採用後の活躍イメージがつきやすいと思いますし、選考の通過確率もあがるのではないかと思っています。

実際の面接では、Kaggleのカーネルなどをモニターに映しながら面接したりしました。

未経験がなぜ転職できたのか

こう言うと上から目線に感じてしまい嫌ですが、

  • 実際に行動に移してアウトプットしていた点

などを評価して頂いたみたいです。

自分自身、今のスキルで即戦力として採用されるのは難しいし、入社出来ても即戦力として活躍するのは厳しいだろうと思っていました。そのような事も面接で話したと思います。

内定を頂いた企業のCTOからも、面接時に「即戦力ではないが、技術を高めたいという気持ちや機械学習に対する興味という点を評価している」というお言葉も頂き、 実際に入社までに必要な技術をキャッチアップしていくという約束の元、内定を頂きました。

上記のような約束の有無に関わらずキャッチアップはしていく予定でしたが、企業側からキャッチアップして欲しい技術の指定やフローを掲示して頂き、定期的にフィードバックもして頂くことができました。(最近インフラ系の記事が多くなっていたのも、機械学習の基盤構築から関わることができそうだったためです)

界隈で優秀なエンジニアの方々に、入社前の自分にこのように時間を割いて頂けたことは普通ならあり得ないと思いますし、とても感謝しています。

今後について

ということで、明日2019年3月1日より、「ママリ」というママの一歩を支えるサービスを行っている株式会社コネヒトに機械学習エンジニアとしてJOINします。

入社した理由はいくつかありますが、大別すると

  • サービス/ミッションにとても共感できた
  • 優秀なエンジニアの方が多い

という部分に集約してくると思っています。

転職活動の目的としてはここで達成できたということになりますが、転職活動をしていた根本的な理由には「世の中を豊かにするサービスを提供したい」という自分の目標があり、今回はその通過点でしかありません。

現職は悪い職場ではありませんでした。 でも、ビジョンを持って、技術の力で世の中の豊かにするサービスを提供していくには、別の環境に身を移す必要がありました。

コネヒトのミッションは「人の生活になくてはならないものをつくる」です。

現在は「ママリ」という日本の3人に1人のママが利用するサービスで、新しい社会基盤の構築をしようとしています。

それが本当にできるかどうかは分かりませんが、少なくとも社員全員がそこを目指して取り組んでいますし、自分もエンジニアとして同じ熱量をもち、掛け算でサービス・会社を成長させていきたいと思っています。

そして、今回選考を通してお会いしたCTOやエンジニアの方々のように、自分自信がコネヒトへのエントリポイントとなれるような人材になれればと思います。

将来的には「ママリ」にとどまらず、関わる人たち全員が誇りに思えるような、世の中に「あったら便利」ではなく「なくてはならない」サービスを生み出すことのできる人間に成長していければと思います。

長くなりましたが、こんな気持ちで新しい職場でもやっていこうと思います。

今後ともよろしくお願い致します🤲

*1:残業は定常的にあった

*2:ファイルの末尾に日付や"BK"の文字列を付与したモダンな管理手法

*3:本当に仕様通りの動作をするか、そしてそれをしっかり検証したかどうか、パソコンでスクリーンショットを撮影し、一連処理フローの証拠を目に見える形で残す

*4:Excelの各シートのアクティブセルをA1に揃える。シートの縮尺を統一する。フッタの文字列を(ry

*5:Excelの各シートのアクティブセルをA1に揃える。シートの縮尺を統一する。フッタの文字列を(ry

*6:ナレッジ共有ツール

*7:特定の分野・企業でしか使えないような技術ではなく、汎用的な技術

*8:「活きの良い若手」ととらえさせて頂く