東大院卒!Web系を目指す18卒がPythonエンジニアに!

東大院卒!Web系を目指す18卒がPythonエンジニアに!

大学院生
東京理科大への在学中、C++を学んでいたSさん。人口知能分野の盛り上がりを見て、人口知能の開発エンジニアを目指してLIKEITに入会。夏休みの3ヶ月間集中的にプログラミングを学んで、国内シェアNo.1のサイト内検索サービス「MARS FINDER」を開発・提供する株式会社マーズフラッグに就職が決定しました!
IT業界への就職を目指す20代なら最大3ヶ月間まで完全無料で通えるプログラミングスクール「LIKEIT」。サービス開始から3年間、これまで年間100名以上の未経験者のエンジニアデビューをサポート。オンラインカウンセリング、無料体験学習のご予約はLIKEITサービスサイトお問い合わせフォームよりご連絡ください。

人口知能の開発エンジニアになる!
条件は開発力&フラットな環境

Sさんは東京理科大学在学中にC++を学ばれていたんですよね?
はい!近年、人工知能の分野が非常に盛り上がっているのを見て、「世の中には、人工知能を使って実現できることがもっとたくさんあるんじゃないか?」と感じたのがきっかけで、プログラミングにチャレンジしようと思ったんです。C++を選んだのは、単純に大学で学べる言語がベーシックな言語しかなかったからなんですけど(笑)C++を学習するまでプログラミングの経験はありませんでしたけど、実際に学習してみたら苦手意識なく取り組むことができたので、卒業後はエンジニアになろうと決めたんですよね。
そうだったんですね!「こういうIT 企業に勤めたい!」っていうご希望はあったんですか?
まずは常に新しい技術を取り入れて、開発力を高めている会社ですね。また、良いアイディアであれば若手社員の意見でも積極的に受け入れてくれるところ。新しいことにチャレンジしたいと思えば取り組める、スピード感のある会社が良いと考えていました。逆にそういう風土であれば、規模や会社の知名度はあまり重要視はしていなかったですね。
今回はLIKEIT のキャリアアドバイザーがかなり自分にフィットする企業を紹介してくれたので、本当にありがたかったです!選考中の企業とのやりとりも全部代行してくれたから、非常に楽でしたね!自分で就活した経験もありますけど、何十社分もエントリーシートを書いたり選考日程を調整するのって、かなり大変じゃないですか。全部お任せできたから僕は純粋に学習に集中できましたよね。
実際にLIKEITに通ってみて、学習面でのメリットはありましたか?
LIKEITは無料で学べるところが一番のメリットですね!たくさんプログラミングスクールがある中からLIKEITを選んだのは、受講料が完全に無料だからです(笑) 他のスクールは何十万円も受講料を払わないと入会できないですけど、学生には厳しいです…。LIKEITは無料だし、「まずは行ってみようかな!」って気軽に体験学習に参加できましたね!
確かにスクールを選ぶ上で、受講料は重要ですね!通学ペースはどれくらいでしたか?
夏休みの間は週3日ペースで通っていました。そのくらいのペースが私生活とのバランスも良いと思いますし、短期間でも集中して学習した方がスキルが身につくスピードは上がると感じましたね!逆に週1日しか来れなかったりして時間が空いてしまうと、前に来た時に学習したことを忘れてしまうので大変だと思いました。
僕は3ヶ月間通いましたけど、自分でスケジュールを調整しながら学習できたので、知識をとにかく詰め込んだって感覚は全然ないですね。他のスクールだと学習期間が1 ヶ月程度しかないところもありますけど、最終的にWebサービスが開発できるようになるってことを目標にするならかなり厳しいスケジュールだと思います。週5日ペースで通ったとしても学習が終わらない人はいっぱいいるんじゃないですかね?そういう点では、3ヶ月間で学習し終わるように作られたカリキュラムは長すぎず短すぎず、ちょうど良いと思いますね!
ありがとうございます!Sさんはオンラインでも学習していたんですよね?
そうですね、自宅からオンラインでも学習してました。オンラインでテキストがすべて見れるのはすごくメリットですね!自宅で学習していても、分からないことがあればslackを使ってメンターに質問することもできますし。僕の場合は自分なりに調べながら学習を進めたんですけど、自分で調べて試行錯誤しながら演習問題に取り組むことで、自己解決力が身につくと感じました!
LIKEITは平日のみ開講していますけど、土日は自宅でも学習できるので開講時間に不満を感じたことはないですね。メンターもかなり気安く会話できる方で質問しやすかったですし、しっかり学習できるカリキュラムも提供されていたので入会して本当に良かったです。
ちなみに、学習で躓いたこととかってありましたか?
最初の1ヶ月以内に学習するJavaの基礎構文などの基礎的な単元に比べると、Webプログラミングは仕組みを理解するのにかなり時間が掛かりましたね。ServletやJSP(Java Server Pages)、DAO(Data Access Object)などの思想をきちんと理解するまでは大変でした(笑)でも、分かるようになるまでメンターにも質問しながら、繰り返し学習して克服しましたよ!もともとC++の経験があったので、Webプログラミングまでの単元は初心者がよく躓くオブジェクト指向プログラミングも含めて、スムーズに学習できたと思います。
良かったです!オリジナルのWebサービスは、どんなものを開発したんですか?
僕は勤怠管理システムを開発しました!ユーザーの権限管理を行い、一般ユーザーは自分の勤務時間の登録、管理者ユーザーはユーザーの新規登録や一般ユーザーの勤怠状況を閲覧できるというシステムです。
ECサイトみたいによくあるWebサービスを開発しても良かったんですけど、前の単元で既存のECサイトのソースコードのリファクタリングや機能追加も学習したのでECとは違ったタイプのサービス開発にもチャレンジしたいと思ったんです。HTMLやCSSなどフロントエンドの技術もLIKEITで初めて学びましたけど、かなり時間を掛けて開発したのでデザインも凝ったものにすることができました!
すごいですね!やっぱりC++からJava、Python、R言語と、最初に学んだ言語の知識は他の言語にも応用できていますか?
C++とJavaを最初に経験しておけば、他の言語に取り組んでも躓くことはないと思いますね。C++やJavaプログラミングの経験者なら、Pythonは躓くところもなくすんなりと理解できると思いますし、C++やJavaの知識を応用できると思います。
C++やJavaの場合はコードの組み立て方をしっかりと考えた上でかなり長いコードを書かないといけない場面もあるんですけど、PythonやR言語は色んな便利機能が内蔵されているんですよね。短いコードでも実現できることがたくさんあるので、すごく便利だと思います。反面、PythonやR言語でコードを書いていると、C++やJavaでは絶対に禁止されている書き方をすることになる場面もあるので、なんとなく気持ち悪さはありますね(笑)
そうなんですね!色んな言語が使えるとそれぞれのメリット・デメリットが分かるからすごく良いですよね。ところで、Sさんはこれからどんなエンジニアになっていきたいですか?
IT 業界で生き残っていく上では、とにかく新しい技術を取り入れていくことが重要だと感じています!今は人工知能が業界のトレンドで最新の技術だと思いますけど、これからは先はどうなるか、まだ分からないですよね。新しい技術が出てきたらそれをいち早くキャッチアップして、常に自社の製品に取り入れて最新のものしていくということは就職後も意識してしっかり取り組んでいきたいと思っています。

サイト内検索サービスを開発する
株式会社マーズフラッグの
Pythonエンジニアに

今回就職される、株式会社マーズフラッグについてお話を聞かせてください!
マーズフラッグでは、サイト内検索などのWebサービスを開発・提供しています。サイト内検索サービスの開発に人工知能を取り入れていて、僕も入社後は人工知能関連の仕事も任せていただけることになっています!今は就職後に備えて、人工知能や機械学習の勉強中ですね。
仕事内容としては、過去の膨大なユーザーのログデータと機械学習とを組み合わせて、より最適な検索が行われるようにサービスの運用開発を行うというものです。R言語を利用して、過去の膨大なデータを分析したりもします。開発言語はPythonを利用しますね。今は機械学習の理論を勉強しながら、実際に自分でコードを書いてPythonプログラミングのトレーニングしているところです!Python自体の難易度はJavaと比べると比較的かんたんなんですけど、機械学習プログラミングに利用するアルゴリズムなどの理論的な知識を理解するのがかなり難しいと感じています。Javaでのプログラミングはコンピュータ的な難しさがありますが、機械学習には数理的な考え方が求められるので、また違った難しさがありますね。
なるほど。マーズフラッグさんの面接では、どんな自己PRをしたんですか?
自己PR では、東京大学大学院在学中に素粒子物理学の研究を行って、研究成果を出したことをお話しました。在学中は私を担当してくれた指導教官を共同研究者として、私が計算などの実作業を担当し、その計算結果を用いて共同研究者と議論を重ねながら研究を進めていたんですよね。
共同研究を行う上では役割分担とチームワークが求められるんですけど、その時の経験はエンジニアになってからも活かせるんじゃないかと感じてますね。マーズフラッグの人事担当者からも、物事を理論的に説明できる私のコミュケーション能力がエンジニアの仕事でも役に立つんじゃないかと、評価していただくことができました!
すごいですね!そういう「論理的な思考」や「順序立てて人に伝える能力」って、身につけるコツはあったりしますか?
理論的な話し方は、在学中にゼミのメンバーと議論を行う中で培われていったスキルだと思います。人とうまくコミュニケーションを取るコツは、分からないことがあったら、すぐに誰かに相談することですね!日本人特有かもしれませんけど、人に相談するのは恥ずかしいって感じる人はかなり多いですよね。でも僕としては、一人で抱え込んじゃって作業が全然進まない方が恥ずかしいことだと思ってます。恥ずかしいと思わずに相談してみると、人と意見交換する機会も増えるので、議論しているうちに理論的に説明する能力が身についていくと思います!
プログラミングも、一人で考えて分からなかったらやっぱり先輩エンジニアに相談しますからね。恥ずかしがらずにチャレンジすれば、プログラミングと一緒にコミュニケーションスキルも伸ばせそうですね!

LIKEITをオススメするポイント

就職してからも頑張ってくださいね!最後に、LIKEITへの入会を考えている人に向けてアドバイスをお願いします!
LIKEITは完全無料なのにしっかりJavaが学べるので、非常にオススメですよ!たとえばRubyやPHPなど、Java以外に学びたい言語がすでに決まっているならLIKEIT以外のスクールに通う選択肢もあるかもしれませんけどね。でも、Java自体はかなり汎用性が高い言語ですし、Javaを理解しておけばPythonも含めて他の言語もすぐに理解できるようになると思います。 「プログラミング経験はないし、どんな言語があるかもまだ知らない…」という方には本当にJavaがおすすめです!LIKEITは入会する前に体験学習も受けられるし、気軽にチャレンジしてみてほしいですね!