今回は、学生時代に起業し、エグジット後も譲渡先のスタートアップ企業で、現役バリバリのCTO(最高技術責任者)としてご活躍されている石橋 尚武さんに、未経験プログラマーの採用に関して、またこれからプログラマーを目指す人が、悩みやすいポイントに関してインタビューしてきました。
具体的なアドバイスから、エンジニアとは何ぞやとういスタンスに関することまで、貴重なアドバイスをいただけたのでご紹介します。
石橋尚武 / Hisatake Ishibashi.
東京大学在学中にフリーランスとして活動しはじめ、制作会社THE CLIPを創業。株式会社THE CLIPを株式会社オープンエイトに売却しCTOに就任。
Contents
Q1 これから身に着けるのにおすすめの言語は?
プログラミングと一言で言っても、様々な言語がありどれから手を付けるのか?これからプログラミングを覚えようとする方の中には、どの言語を習得するのかで悩む方も多いと思います。そこで、私がおすすめする言語選びの方法をいくつかご紹介します。
①作りたいモノから考える
エンジニアリングといっても、フロントエンドやバックエンド、アプリやウェブサービスなど、ジャンルは様々です。自分がどんなサービスを作りたいのか、そのサービスのどの部分にかかわりたいのかを決めてることで自ずと言語は絞られます。
②言語選びより先に、エンジニアとして就職したい会社を探す
エンジニアへのキャリアチェンジを考えた場合、フリーランスという選択肢もありますが、やはり一度は企業に属することを考える方も多いと思います。その場合、先に求人サイトなどで行きたい会社を絞り込むこともおすすめです。会社が絞られれば、サイトの求人ページを見て、どんな言語のエンジニアを募集しているかを確認することで言語が絞られます。
③周囲にエンジニアがいる場合は、そのエンジニアの得意な言語を覚える
スクールで学習する過程でも、卒業して実務についてからも、おそらくはわからないことが多くあると思います。そんな時に、周囲に気軽に相談できる人いるという状況はとても心強いです。 もし自分の周囲にすでにエンジニアとして活動する人がいるのであれば、同じ言語を学ぶことで、相談したり、質問できる相手が確保された状態になるのでおすすめです。
結論から言うと、どの言語が正解/不正解というのはありません。まだこれからプログラミングを学習しようという方にとって、将来自分がどんなエンジニアになるかというのはわかるわけもなく、その正解を考えるというのは少しナンセンスかもしれません。何より大切なのは、とにかく最初の一歩を踏み出すことです。でなければ何も始まりません。
Q2 5年先を見据えたときに、身に着けるべき言語は?
これも、特定の言語がおすすめということはありません。言語は手段なので、その時々で自分がやりたいこと、もしくは仕事で求められるプログラミングに合った言語を扱えるようになることが必要です。
重要なのは、常に学び続けるという意識を持つことです。「自分はこの言語でしか開発はできません」というエンジニアに、そこまでの価値はありません。実際にエンジニアになったとして、そんなことを言っていたら社員であれば使えない人ということになりますし、フリーランスなら仕事が取れないだけです。
また、エンジニアリングはその時々でトレンドも大きく変わるので、新しいパラダイムシフトが起きたときに、きちんとそれを理解して、対応することが求められる職種だと思います。
Q3 実務未経験のエンジニアを面接する時に重視するポイントは?
私が未経験エンジニアを採用するときに重視するのは、
①カルチャーフィット
②自走力
③論理的思考
になります。
②はいかに自分で物事を考え、それをアクションに移せるかということ。
③は特にプログラマーに求められる能力になりますが、面接という場においては、これらよりも優先されるのがカルチャーフィットです。
どんなに優秀な人でも、会社の文化や理念に共感できない場合は、仕事でその価値を発揮するのは難しいからです。 また、こういうことを言うと、中には自分を取り繕ってその会社のカルチャーに合っているとうい”フリ”を面接でしてしまう人もいますが、これはあまり意味がありません。 面接している側からすればすぐに見抜けますし、仮にその会社にうまく入社できたとしても、カルチャーが合わなければ、そこでの人間関係やミッション、評価など、様々な部分でストレスを抱えることになり、長くは続かないと思います。
Q4 スキルはどうやってチェックする?
実務未経験の方を採用する場合は、最低限実際に書いたコードを見せてもらうようにしています。 GitHubで公開しているコードに目を通すこともありますし、そのコードがスクールや本などの写経したコードでありそうな場合は、コーディングテストなどを行う場合があります。 そのコードを見ながら、そのコードで工夫した点や工夫した点や難しかった悩んで点などを聞くことで理解度を測ることが多いです。 コード自体を評価するというよりは、そのアウトプットに至った道のりで、何を学び、どんな失敗や工夫をしたのかを知りたいのです。
Q5 「それを頑張っても意味ないよ」ということがあれば教えてください
基本的に、技術やスキルはどんな分野であっても評価につながると思います。大切なのは、目標をもって取り組み、それをやりきるという”やりきる力”にあると思います。 やりきる力というのはなにものにも代えがたいスキルだと思いますし、そんな人材はどの企業でも評価されるのではないでしょうか。
ただ、現実問題として業種や職種との関連性はある程度あるので、Q1で回答したように、自分がどんなものを作りたいのか、どんな企業で働きたいのかは大体のイメージを持った上で、それに見合ったスキルを身に着けることはおすすめです。
例えば、AIに興味があるとか、ゲーム開発がしたい、分析が得意だ、マーケティング職を目指したいなど。 これらは、すでに何らかの社会人経験をお持ちの方であれば、いままでの経験とプログラミングを掛け合わせたときに、シナジーがある領域を選ぶこともおすすめです。
Q6 30歳以上の未経験エンジニアは採用する?しない?
年齢はそこまで大きな判断基準にはなりませんが、実際の採用においては複数の候補者で一つの採用枠を争うことになりますので、まったく同等の評価の方が二人いた場合には、より若い人材を採用するということはあり得ます。
また、プログラマーは技術職である以上、スキルと経験でアウトプットの質は変わってきます。そのため、年齢ではなくやはり実務経験の有無や長さはアウトプットに影響しますし、アウトプットは給与や役職に影響します。
自分より年下の社員が、自分より給与が高かったり、役職が高いというケースはあると思いますので、これらを受け入れる必要はあると思います。
Q7 入社後の成長やキャリア形成で重要なことは?
これについては、企業側がその基準を設けるというよりは、その人自身が1年後、3年後、10年後でどんなキャリアビジョンをもっているかが重要です。
これは、仕事をする上でのモチベーションになり、そのモチベーションによって成長し、成長によってパフォーマンスが発揮されると考えるからです。企業側の理想を押し付けても、そこに自分の意志がなければ中長期で頑張り続けることは難しいでしょう。
きちんと自分のキャリアの理想を持ち、それを実現するためにミッションや、スペシャリスト、もしくはゼネラリストといった仕事の環境をフィットさせて、お互いがwin-winになる関係でられることが重要だと思います。
Q8 入社後に直面するであろう壁と、その乗り越え方は?
技術的に理解できない難しい問題などはたくさん出てくると思います。より良い技術者になるためには「なんとなくわかっている」状態で放置しないことが重要です。
また、繰り返しになりますがエンジニアは技術職である以上、知識のアップデートに終わりは無いです。いつになっても新しい知識の取得をし続けないとなりません。
Q9 プログラマーに向いてるのはどんな人?
何よりも技術を楽しんでるかどうかが重要です。また、技術は手段であることを理解することも重要だと思っています。
よく機械学習のプロジェクト採択時に言われることなのですが、「この問題は機械学習で解くべき問題であるか」という問いがあります。 流行りにとらわれたり、手段が目的化してしまうことで、わざわざ難しい、非効率な方法を選んでしまうことがあります。
重要なのは、冷静に本質をとらえて合理的に最短距離を選択できることです。 手段と目的をしっかり整理して幅広い選択肢の中で適切な解決方法を広い視野で考えることが出来る人が活躍すると思います。
Q10 プログラマーに向いてないのはどんな人?
HRT精神に欠ける人は向いてないと思います(HRT精神=謙虚:Humility、尊敬:Respect、信頼:Trust)。会社はそれ自体がチームであり、その中にはさらに大小様々なチームが存在します。
チームは人の集合なので、HRT精神に欠ける人は、どんなに技術力があったとしてもチーム内の不和を生んだり、協調できなかったりして結果的にチームのパフォーマンスを下げます。
フリーランスとしてやる分にはよいと思いますが、組織で働くことは難しいかもしれません。 エンジニアとして技術に対しての高いプライドを持ちつつも、同僚や他職種に対してのリスペクトも常に持ち続けることが大事だと思います。
未経験エンジニアにオススメのプログラミングスクールはこちら
- TechAcademy
起業・転職・副業・フリーランスで収入を得たい人 or オンラインで費用対効果高く、良質な学びを得たい人におすすめ - DMM WEBCAMP COMMIT
優良企業へ希望通り転職したい20代におすすめ - テックキャンプ
最短でスキルをつけて高年収で転職したい人 or 30代におすすめ - RaiseTech
稼げるエンジニアになりたい人向け - RUNTEQ
Railsエンジニアになりたい人向け