転職します。
現職場4年目の26歳です。
メインの仕事はRailsでのサーバー開発。状況に応じ、インフラ、CMS、データマート&分析SQLの作成等の対応もしております。一時期はSwiftでiOSも書いていました。
1月いっぱいで現在働いているスタートアップを退職し、来週からメガベンチャーでElixirエンジニアとしてのキャリアを歩んでいくことになりました。
この記事を読んでいる関係者、知人の皆様。こちらの記事で初めて転職のことを知る方もいるかと思います。直接ご連絡出来ず申し訳ありません。今後も、どうかよろしくお願い致します。
何故書くか
大学3、4年の将来に関して深刻に悩むであろう時期、僕自身、スタートアップに新卒カードを使うことにとても悩みました。いろいろ調べてみたのですが、新卒からスタートアップに入るという記事は、当時なかなか見つかりませんでした。
20代前半ともなると、それまでに積み重ねて来たものや将来の選択肢の違いが、少しずつ浮き彫りになり始めます。同様な状況の後輩達へ向けて、ちょっとした指針になれば良いなぁ、と思い記させていただきます。
経歴
大学時代
2014年進学
音楽を夢見て栃木県から東京の私立理系大学の情報学部へ進学(指定校推薦)、バンドを結成し年間100本以上のライブ活動を行い、レーベル入る。
大学3年時前期が終わったタイミングで休学
ライブイベンター、ドラム講師、レーベルからの給料で生活しつつ、一応ITパスポートを取得。
1年間の休学からの復学後
音楽活動と講師業を続けながら未経験OKな渋谷のベンチャー企業にインターンとして参画。初めてRuby on Railsと出会う。万葉のタスク管理アプリを作る研修資料を元にwebを学び、実務を開始する。(元々大学時代は授業で最低限コピペでコードを書くくらいで、プログラマーと呼べるレベルではありませんでした。)
4年時の夏
将来的な生活基盤の設計が難しいことから当時加入していたバンドを脱退。(その後別のバンドに加入し今でも音楽活動は続けております)
その後すぐ、渋谷でのインターンと並行して、現職にインターンとして参画。3ヶ月ほど悩んだ末、現職一本に絞りそのまま正社員として入社。(単純にサービスとサービス設計が面白そうだったので)
※ バンド脱退の時期的に、一般的な就職活動は行えませんでした。
社会人から今まで
正社員1年次
CTOを除く、正社員1人目として参画。
CI環境の整備、データマートの構築、ECS on EC2からのFargateの移行等、インフラ寄りな業務を中心に他RailsやReactでの開発を担当。web決済システムといった、システムとして、よりコアな部分の開発も経験。また、社内リソースの関係で一部iOSの開発も担当。
主催の勉強会グループで、平成Ruby会議を開催。
2年次
サービスの価値設計の変更等サービス自体のよりコアな部分の設計、開発を経験。後半はグロースを回しまくる為の開発、設計を担当。DBをAutoScaling構成に変更。
3年次
海外版のサーバー、インフラを担当。社内リソースの兼ね合いでServer開発に注力。
enumerize, alba, carrierwave, active_model_serializerといった主要gemにPRを送り始める。ElixirやGoといった他Server言語を学習。
春頃、ふと登録したFindyのユーザーサポートの方と面談し、以降他の会社の情報を集め始める。
退職申請は3ヶ月前に提出、残りの期間は引き継ぎ資料の作成等に注力。
新卒でスタートアップに入ることは良いことか
僕個人としては、とても良かったです。
勿論スタートアップですので、足らない事の数を数えると切りがないのですが、それ故、担当できる領域も多く、結果として多くの経験値を得ることが出来ました。
とても苦労した開発もありましたが、それと比例して成長を実感することが出来ました。
とはいえ、業務時間が長かったことも否めないため、それでも良いと思えるような人間関係が構築できる前提、もしくはサービス内容への期待を持てることが大切だと思います。また、手とり足取り教えてくれるような"先輩"のリソースも限られて来ますので、能動的に学べてチャンスを掴み取ろうと出来る人には良い環境だと思います。
自分の中でざっくりでも良いので、短中期的プランを描ける事や、社外に出てでも技術力を伸ばすことの出来る方には是非オススメできます。
労働環境に関してですが、近年のスタートアップですと、中長期戦前提な場合も多く、ある程度整っているところのほうが多いと思います。ましてや、近年売り手市場のエンジニアですし、その点に関してはある程度の安心はして良いはずです。(会社毎に全く違うと思います。自分から積極的に調べていきましょう。)
何故転職するのか
同じ環境で、ある程度働いていると、どうしてもコンフォートゾーンに突入してしまうことが多いと思います。現職で新しい挑戦ができれば良いのですが、1人目のエンジニアということもあり、担当する業務量が多くなってしまい、なかなか一歩踏み出すということが出来ませんでした。それよりもビジネス側で出来ることをする方が優先度として高くなってしまっていました。
そんな時に出会った言語がElixirです。
- Object思考とは違うパラダイム
- 動的型付け
- 並列処理
- 日本ではまだまだ書いている人が少ないこと
- Webでの開発で必要なものは揃っていること
どれもとても魅力的でした。ライフワークバランスを整えて、Elixirに投資したい欲が出てしまい、折角の20代ということもあり、自分の興味の赴くまま行動しました。
どうやって転職したか
発端はFindyです。
ふとした機会に、ユーザサポートの方と面談。キャリア設計等の相談をさせていただきました。
話を聞いてもらうだけでも自分の中で思ってることが整理できました。
その後Findy経由で数社と面談を行い、並行して他言語のキャッチアップを開始。実際に手を動かして色々書いてみると、自分がどの言語や分野に興味があるのか整理することが出来ます。勿論ちゃんと時間はかかりますが、その分きちんとした経験値にもなりますし、何より自分の選択への後悔が減ると思います。
それからすぐに転職ドラフトへ登録して、転職活動を本格的に開始しました。
しばらくFindyと転職ドラフト経由での面談を続け、ここだ!という企業の面接へ進みました。
元々ブログを書いていたり、勉強会の主催等を行っていたので、面接で話すことで、特に困ることはありませんでした。
カジュアル面談x19回, 面接3社を行い最終的に次職が決定しました。
(転職ドラフトの指名は2回参加で20社程でした)
どうやって退職したか
ぶっちゃけ、めちゃめちゃ言い出しにくかったです。
CTOには正直とてもお世話になりましたし、何より一緒に居た時間が長かったです。他メンバーもとても良い方が多く、正直躊躇してしまいました。最終的には、自分の興味を優先して、転職する決断をしました。
伝え方に関してです。内定承諾後の人事面談が終わった直後、CTOに「お話がありまして、明日辺りどこかでお時間頂きたいです」と、DMで送って、翌日口頭でお伝えしました。その後、数回面談が入りましたが、最後には背中を押してくれる事となり、円満に退職が決定しました。
とはいえ、現職の都合的にもすぐに退職してしまうのは不都合が多かった為3ヶ月後、しっかりと引き継ぎを行った後に退職することとなりました。
その後は普段の業務を行いながら、既存のシステムに関してのドキュメント整備や、RubyやRails, Mysql, Elasticsearch等のversionを上げる作業をおこなっていきました。これにより、暫くの間は開発環境のメンテナンスが必要となるタイミングを、伸ばすことができます。またドキュメントを元に説明している動画も撮り溜めましたので、今後、他エンジニアが入ったタイミングでのキャッチアップ資料としても活用する事ができます。(動画は1つ2,30分程で19個くらい撮り溜めました)
正直、引き継げるもの、整備出来るものの対応は思いつく限り行えたので、退職までの期間での後悔はありません。
最後に
これからしばらくはElixirエンジニアとして、キャリアを歩ませていただきます。
将来的にスペシャリスト寄るか、マネジメント方面に寄るかの選択はまだ出来ていません。それらを選ばなければいけなくなった時の選択肢の引き出しが増やせるような活動を、これから数年間は行っていきたいです。
また、個人的にOSSという文化が大好きですので、そちらの方面でなにか功績を残せたらいいなぁと思っています。まだまだプログラミングに関しては未熟者ですが、頑張っていきます。
とりあえずは来週から新しい会社です!!!
めちゃめちゃ怖いです!!!
そもそもリモートも多いですし、他社員の方と仲良くなれるかも不安です。。。。
技術的にも全く変わってしまうので、足を引っ張らないよう精進いたします。。。
最後に少しだけ宣伝です。
最近ElixirでちょっとしたCLIをつくりました。可愛いので良かったら使ってみてください。
こちらはRuby, RailsのEnumerableをElixirでも使えるようにしたライブラリです。
RubyエンジニアでElixirに興味がある方は、このライブラリを用いて開発を行うとちょっと楽だと思います。
Elixirには無いRubyやRailsの便利methodも定義されておりますので、Elixirエンジニアの方も是非ご利用ください。