1
/
5

Wantedlyは、270万人が利用する国内最大のビジネスSNSです

This page is intended for users in Japan. Go to the page for users in United States.

駆け出しエンジニアが2年で自社開発プロダクトのリードエンジニアになるまでの軌跡

株式会社Relicでバックエンドエンジニアをしている安井です!
withコロナということで、マスク姿ですがご了承ください。顔面は想像にお任せします。
Throttleというイノベーションマネジメント・プラットフォームの開発を担当しています。
めっちゃ良いサービスなので、是非フリープランご登録お願いします。

弊社はThrottleに限らず、様々なサービスを展開しているのですが、今回は事業の紹介はしません。
「ターミナル?なにそれ?おいしいの?」状態だった駆け出しエンジニアが、2年で社内新規プロダクトのリードエンジニアになるまでの軌跡をご紹介します。
特に、これからエンジニアを目指す方には、参考になる部分も多少あると思うので、最後までお付き合いください。

未経験で入社するまで

私の経歴ですが、大学では日本史を専攻しており、日々ホコリまみれの古文書を解読する生活をしていました。
その後、ヒョンなことからネットワークエンジニアとして、社会人をスタートさせたのですが、開発はまったくしていませんでした。
しばらくたった頃、「プログラミングがアツい!」みたいな謎のブームが発生し、そのビッグウェーブに乗る形で、プログラミングスクールに通うことになります。
そしてご縁あって、2018年4月よりRelicにお世話になっております。

なぜRelicだったのか

どんな基準で会社選びをすればよいのか、簡単ではありますが、自分の例をご紹介します。

① Rubyを開発言語に採用しているか?

スクール時代、Rubyを中心にインプット・アウトプットしていたので、まずはRubyを主な開発言語にしているところで探しました。
まあ、今となっては、どんな言語でも大丈夫だとは思いますが、やはり人間、最初のうちは慣れているスキルで仕事をしたいものです。
弊社では開発言語にRubyを採用しており、経験豊富なRubyエンジニアが多かったのが魅力的でした。また、その他にPHPやPythonなども採用しているので、様々な言語での実務経験を積むことができますよ。

② 会社のメンバーは優秀か?

次に、一緒に働くメンバーが優秀かどうかも大切なポイントです。
「未経験だったくせに高望みするんじゃねぇ!」という声が聞こえてきそうですが、これだけは譲ってはいけません。
当たり前のことではありますが、背伸びした環境に身を投じた方が、ぬるま湯に浸かっているより高確率で成長角度は上がっていきます。
日々優秀な方たちと仕事をし、様々な情報を吸収する中で、自分との差が可視化されます。また、身近に目指すべきエンジニアがいるので、2、3年後の理想像をイメージしやすくなります。その理想を現実のものにするためにはどうすればよいのか、自然と考えて行動するようになり、気がついたときには急成長を遂げている、という具合です。もちろん、与えていただくだけではダメですので、ギブアンドテイクの精神を忘れずに。
弊社は、ビジネスメンバー・エンジニア問わず優秀な方が多く、常に刺激的な環境で仕事に取り組むことができます。特にCTOはレベル99のダークドレアムみたいな感じです。本当に凄いですよ。

③ 裁量ある仕事を任せてもらえるか?

裁量をもって仕事ができるか、というポイントも重要です。
言い換えれば、責任の伴う仕事を任せてもらえるのか、ということです。求められるレベルが高いほうが、やはり仕事をしていて楽しいのではないでしょうか。
もちろん、いきなりすべて任せてもらえるはずはないですが、その土壌があるかどうかを検討材料のひとつにすると良いでしょう。
たとえ駆け出しエンジニアであっても、「仕事を完遂させてやる!」という強い意欲があれば、裁量ある仕事を任せてもらえる環境が弊社には整っています。やりがいのある仕事をしたい方には、特にオススメの環境ですね。



未経験で苦労したポイント

まあ、色々と偉そうなことを書いていますが、はじめのうちは失敗だらけでした。
まず、ただ指示を待つだけのワーカー(作業者)としてのエンジニアを、弊社は求めていません。右も左も分からないようなペーペーであっても、プロフェッショナルとして接してくれますし、自分もそれに応えなくてはいけません。

「プロとしての意見を求められる」ということに、まず苦労しました。

はじめて自分がアサインされたプロジェクトは、大手通信会社様のアプリ開発案件だったのですが、入社していきなり先方とのミーティングに参加し、バックエンドエンジニアとして意見を求められ、ミドル層に囲まれ厳しいレビューをいただきながら開発し、という具合で頭がパンク寸前の日々でした。
クライアントも当然プロのエンジニアとして接してくださるので、その期待に応えなくてはなりません。特にセキュリティ関連やネイティブアプリの知見など、これまで全く知らなかった領域のキャッチアップも求められました。もちろん、一人にすべて丸投げではなく、社内でのサポート・レビュー体制はしっかり整えられています。当時はそこそこキツかったですが、今となっては良い経験となっています。

そんな感じで、日々の仕事に忙殺されるなかで、圧倒的に自分にはエンジニアとしてのスキル・知識がないことを痛感させられました。やはりプログラミングスクール上がりのRailsちゃんだったので、どうしても引き出しの幅が少なく、アウトプットの質と量ともに残念な感じでした。自分には土台となる知識が欠落しているんだな、と気づくようになります。

どう乗り越えたか


正直、目の前の仕事をこなすだけなら、騙し騙しできちゃうのかなと思います。ただ、スキル不足というのは、ふとした場面で露呈しますし、エンジニアとしての芯がないまま過ごしても、いずれ限界が訪れると思います。

最初の半年くらいは仕事を片付けるのに精一杯で、十分なインプットができていたとは言い難い、というよりほぼやっていませんでした。
あるときCTOとの1on1で、「最近ちゃんとインプットしてる?」と聞かれドキッとしました。「やばい、、全然できてない。。仕事に忙殺されているのを言い訳にしてるではないか。。」と、気づかされました。ただ、きちんと自分の現状を見てくれているんだな、嬉しいぜっ、とも感じました。
インプット時間を確保できていないまま仕事をするということは、冷蔵庫に食材がないのに料理をしようとするようなものです。食材を仕入れ(インプット)なければ、料理のスキルを磨く(アウトプット)ことはできません。

その日から自分の現在のスキルを棚卸し、足りない部分・伸ばしたい部分を整理しました。
まず、コンピュータサイエンスの基礎的な知識が欠落していたので、エンジニアとしての土台作りをしようと思いました。
大学で体系立てて学んできた方にとっては不必要かと思いますが、自分の場合は文系学部で古文書とにらめっこしながら過ごしてきたので、基礎工事が完了していません。
そこで、手っ取り早く基礎固めをするため、IPAが主催する基本情報技術者試験および応用情報技術者試験を1年間で取得することにしました。
アウトプット重視の方が良いのでは、という意見もあると思いますが、体系立てて学びながら、その副産物として目に見える成果がほしかったのです。
※ 決して資格厨ではございません。

次に、プログラミング言語への造詣がまだまだ浅かったので、とりあえず一つの言語を、自信を持てるレベルまでスキルアップしていこうと思いました。
業務で主にRubyを使用していることもあり、そちらを極めようと考えました。こちらについては、アウトプット重視で、詰まったらその都度公式ドキュメント等でインプットする方式も良いですが、その前段階として体系立ててインプットすることにしました。
ちょうど、Ruby技術者認定試験という、Rubyエンジニアとして技術レベルを測定する制度があり、こちらのSilverとGoldを取得することにしました。
Ruby2.1が対象なのでけっこう古いですが、コアの部分は変わらないので、大変勉強になりました。
※ 決して資格厨ではございません。

目標が決まったら、あとは取得するだけなので簡単です。業務の空き時間などを有効活用し、インプットしていきました。結果として、どちらもコケることなく合格しました。事前にしっかり準備しておけば、基本的に落ちることはありませんね。起床試験を突破するのが条件ですが。
あくまで、これらの資格を取得することはMUSTではないですし、もし合格したとしても、それはスタート地点に立ったくらいの認識でいたほうが、気持ちが楽になるかなと思います。また、資格を取得するための勉強だと無意味なので、しっかりと血肉化しましょう。インプットした知識は、実際の業務でどう生かせるだろうか、と思いを巡らすだけでも、吸収率は違ってくるかなと思います。

サポート体制も充実

一人で孤独に頑張るのはキツイのですが、同じくらいの経験年数のエンジニアと切磋琢磨することで、自然とやる気になるものです。
幸運にも、当時の弊社は経験年数が同じくらいのひよっこエンジニアが多く、それぞれが刺激し合いながら成長していきました。そういったエンジニアチーム内での互助会的な雰囲気は大きなサポートとなっていたのでは、と考えます。

また、弊社独自のサポート制度も色々と存在しており、それらが成長スピードを促進していきました。

エンジニアの視野を広げる「社内勉強会」

まず、1つ目ですが、社内勉強会(毎週金曜日開催)を上げさせていただきます。毎週交代でエンジニアがスピーカーとなり、業務内外で得た様々な知見を共有する場となっています。コンセプトは「無知の知」です。知らないということを認識し、知識を平準・共通化させていこう、というものです。
人様の前で情報を共有する訳なので、間違った内容を披露することはできませんし、わかりやすい情報設計を心がける必要があります。そのため、登壇者の経験値はグングン上昇していきます。
ただ、「いきなり社外の勉強会に登壇するのはコワい。。マサカリが飛んできそう。。」という豆腐メンタルのエンジニアでも、気心の知れた仲間に向けた登壇なので、安心してこなせている様です。
2018年8月からスタートした同制度ですが、スピーカーが立候補制にもかかわらず、2年近く経った今も継続しているのは地味に凄いことかなと思います。

知識を確かなものにする「部活動制度」

次に、エンジニアチーム内での部活動制度を上げさせていただきます。
社内勉強会で得た知見をもっと深めたい時に、この制度を活用してスキルアップすることができます。
例えば機械・深層学習であったりソフトウェアアーキテクチャであったり、特定のトピックに絞り、興味のあるメンバー同士で勉強会を開催することができます。業務に関連する内容であれば、最大で工数の20%を割くことができるのも嬉しいですね。
特に有益だった部活動は、共通検索基盤の開発プロジェクトです。何が良かったかというと、経験豊富な業務委託エンジニアにご指導いただきながら、普段の業務では触っていない技術を使用できたことです。
GolangやElasticsearch、TerraformやFargateなど、当時の弊社ではあまり使用していなかった技術を学べたのは面白かったです。また部活動で得た知見を、実際の業務に反映できるので、良い相乗効果を生んでいます。

習得したスキルを生かせる「自社開発と受託開発」

最後に、これが一番大きいかと思いますが、メンバーの特性を考慮した上で、多種多様な案件に関われるという点です。弊社はThrottleをはじめとして自社サービスをいくつも展開していますが、それと同時に受託開発の引き合いも多くいただいております。弊社は新規事業開発の支援を事業ドメインとしているので、その関係で様々なクライアント様の案件に携わることができます。つまり、自社開発と受託開発をどちらも経験することができるのです。
自社サービスの開発とクライアントワークには、それぞれ「ならでは」の大変さがあります。そのどちらも経験しながらスキルアップできるので、エンジニアにとって幸せな環境だろうなと思います。

最後に

未経験として入社し、2年間でエンジニアとして成長できましたし、これからもグングン成長角度を上げていこうと思います。もちろん、自分以上に会社は圧倒的な急成長を遂げており、日々優秀なチームとともに仕事ができることに感謝しています。ただ、まだまだメンバーは足りません。

「エンジニアとして圧倒的に成長したい」という強い気概を持った方と、ご一緒できればと思います。
ご興味を持っていただいた方は、一度カジュアルにお話しましょう。

是非ご応募、お待ちしております!

株式会社Relicでは一緒に働く仲間を募集しています
28 いいね!
28 いいね!
同じタグの記事
今週のランキング
このストーリーが気になったら、直接話を聞きに行こう