ジモティーで未経験からエンジニアを始めた話

はじめに

こんにちは、ジモティーでAndroid開発をしている林と申します。 エンジニア未経験でジモティーに入社し、もうすぐ2年近くが経とうとしています。 ここでは未経験で入社した者がどのようにプログラミングの実務をこなして、他チームと案件に携わっていったかのプロセスをご紹介できたらと思います。

※未経験の記事を書いていて大変恐縮ですが、ジモティーでは現在経験者の方優先で採用活動を行っております。

入社前のスキル

まず前社では主にセールスフォースを使ったデータ管理や資料作成、エクセルのマクロ作成などで少々プログラミングを行った程度でした。 マクロ作成からプログラミングに興味を覚え、その時Pythonがこれから来るらしい!という情報からPyQを使って独学で勉強し、Djangoを使ってWEBブログのサイトを作成しました。 しかし当時求人を見てみたらPythonの求人が少なく、Rubyなら可能性が広がると考えて、UdemyでRuby + Railsを勉強し、写真も投稿できる簡易型掲示板を作成しました。 これらをポートフォリオとしてジモティーを受けて、アプリエンジニアとして採用させてもらいました。 そしてここからまたアプリを一から勉強し、RetrofitとRXを使ったアプリを作成して一応仕組みは理解しているつもりで入社することになります。 しかし、この時はまだエンジニアの入り口にも立てていなかったのです。。

入社後の挫折

まずGitを使ったチーム開発もしたことのない初心者だったので、プルリクの作成方法やGitの基本的な使い方などから勉強が始まりました。 そしてhttpをhttpsに変更する簡単な修正を行い、「なんとかこれならできる!」という感触を最初は持っておりました。が、、すぐに全く歯が立たなくなりました。 まず、独学でやっていた時はクラスを分ける意識もなく、必要なものをただ上から書いていただけだったので、プロダクトコードを深く追って行ってもどこに何があるのか分からず、「そもそもどこでnewしてるんだよ!」という有様でした。 インターフェースまでたどり着いても、実体が別にあり、これ呼ばれてるのに何もないじゃん?とますます混乱が増大していきました。 また膨大なコードと初めて対峙したので、引数が多くあった時点で思考が停止してしまう有様でした。

そしてここからアーキテクチャー研修を受けることになります。

やっとエンジニア開発の入り口に到達

ジモティーのAndroidではApp層、Domain層、Infra層と層を分けており、MVP+ クリーンアーキテクチャーをもとに実装がされています。 アーキテクチャーを理解しないとまず改修や画面作成などは手をつけるのが難しいです。 そして先ほどのどこでnewしているかわからない問題やインターフェースと実体の関係性も、DaggerというDIの仕組みがわからないと全体が見えてきません。 アーキテクチャー研修によりこれらの全体像を掴み、「何を聞いたらいいのかも分からない状況で、とにかく分からないです、、」といった感じから、やっと開発ができる入り口に到達することができました。

※弊社のAndroidアーキテクチャー詳細についてはこちら

そしてただプログラミングに慣れる日々

ここから簡単な案件に携わることになり、ディレクターから要件を確認し、サーバーチームやiOSチームのメンバーと連携して開発を行っていきました。 最初のうちは簡単な案件でもチーム開発を理解するために、マネージャーに振り返りを行ってもらい、この疑問はこのタイミングで聞いておくとよかったとか、次からは自分で提案してみてもいいですね、などコミュニケーションスキルの向上なども相談に乗ってもらいました。 またエンジニアチームでは技術点を設けており、1ヶ月にこの点数獲得したら評価はA、A+など分かりやすい目標も持って開発を進めていきました。 仕事場では全く聞いたことのない単語や専門的な話が飛び交っていて、何だかすぐに全てを理解しなければならない錯覚に陥ってしまい不安が高まっていたのですが、ジモティーでは週に一回1on1の面談を設けていて、そこでマネージャーに今やるべきことや、「そのうちできるといいくらいなので大丈夫ですよ。やっていけばできるようになりますよ。」とメンタル面でもケアをしてもらいました。

転機

半年ほど経った時に初めて新規画面を一人で実装することになりました。1ヶ月くらいかかるプロジェクトをジモティーでは大玉案件と呼んでいますが、初めてそのような案件に参加して上記のアーキテクチャー研修でやった内容をプロダクトコードに反映させて、リリースも行いました。 結果的に障害もなく無事にリリースできたので、「これやっていけるんじゃないか。。」とエンジニアとして自信につながる貴重な経験を得ることができました。

そして今に至る

現在はプログラミング能力が向上したのか、ただコードを見慣れたからなのか定かではないですが、エンジニア開発も問題なくこなしており、広告担当者として責任の大きい案件の実装も行っております。 またiOSの研修も行ない、ジモティーではAndroidiOSで同じアーキテクチャーを採用しているため、どこに何が実装されているのかおおよそ予想がつくようになっており、スムーズに研修をこなすことができました。 ゆくゆくはiOSも同じように開発できるようになることを目標に日々精進しております。

最後に

入社当初は毎日会社にいさえすれば成長できるはずだと考えて日々邁進しておりました。 環境面においても、プログラミング技術においても、「慣れる」ことがいかに大事かを学んだ期間でもあったかと思います。

最後まで読んでいただきましてありがとうございました。 もしジモティーにご興味ありましたら、こちらでエンジニアの方を募集しております!

※現在は経験者の方優先で採用活動を行っております。