こんにちは、LIG Philippines Inc.のセイト(@seito_horiguchi)です。
今回は、エンジニアになりたい人やプログラミングをこれから勉強したい人向けの話です。
YouTubeやTwitterを見ていると「プログラミングスクールに行け」とか、「独学で3ヶ月やれば余裕」といった意見を目にすることが多々あります。
それらを間違いとは言わないけど、僕としては「非効率的なんじゃないか?」と思うところがあります。もっといい方法があるとすら思ってます。
というわけで本記事では具体的に、なぜ僕がプログラミングを独学やスクールで学ぶのは非効率的と思うか、より最速で習得するにはどういった方法がベストなのか、について解説していきたいと思います。
が、YouTubeにも動画をアップしてるので、記事を読むより動画が観るor聴くのがいいなーという人はこちらを!
自己紹介:セイト現在僕はLIG Philippines支社の経営に関わっていますが、以前はLIG東京オフィスでエンジニアをやっていました。 エンジニア時代は本業の開発の仕事のほか、動画画集サイトスクーでプログラミング講師、他社さんの新卒エンジニア研修、また技術書の執筆なども行っていました。 なので、この分野に関しては信頼してもらっていいんじゃないかなと思います(笑)。 |
プログラミングを学ぶ上で独学やスクールだと発生しうるデメリット
独学やスクールに行く場合、初心者向けに体系化されたカリキュラムが用意されている、講師に丁寧に教えてもらえる、などメリットは多いです。
が反面、デメリットもありますし、100人いたら100人全員にとって最適ではありません。
僕が感じるデメリットの3つをご紹介します。
1. モチベーションが上がらない
皆さん、モチベーションは高く維持できる方でしょうか? この質問にYesと即答できる方はかなり稀なんじゃないかと思います。
というのも、人が成長したり変化するには自分以外に「外的要因」が非常に重要なので、自分ひとりで努力を継続し続けるのはそもそも難しいことだからです(ここに関しては後ほどもう少し詳しく説明します)。
マッキンゼー伝説のコンサルタントとして有名な大前研一さんの名言「人が変わるには、場所、人付き合い、時間配分、いずれかを変えるしかない」もありますが、本当そのとおりで、外的要因なくして独学で成長し続けるのはしんどいものです。
2. 講師のレベルが期待値と違う可能性あり
世の中のプログラミングスクールにいる講師は、現場の第一線で活躍されている方と比べると、若干能力的にはレベルが下がる可能性があると思っています。
というのも、プログラミングスクールの講師業を行うと、講師業にリソースを割きすぎてしまい、開発の現場から遠のいてしまうことで、講師自体の技術力やカリキュラムのレベルが下がりやすくなるためです。
技術の世界は進化のスピード・流行が激しいため、現場でコーティングしていないキャッチアップが難しくなります。そのため、プログラミングの初歩を教えるだけなら構いませんが、実践で使えるレベルのことは教えてくれない場合があります。
もちろん、すべてのスクールがそうとは限りません。現役のエンジニアが先生のスクールもあるし、カリキュラムが優れていると感じたところもあります。
プログラミングのみのスクールではないですが、実際に働いている人たちとの距離が近いスクールとして、弊社のデジタルハリウッドSTUDIO by LIGもあります。
ただ、もう一歩先に行きたいと感じている方への選択肢は、世の中にもう少しあってもよいのでは? とも感じています。
3. 仕事につながるかどうかは話が別
独学はもちろんですが、多くのスクールは卒業後の進路まではなかなか面倒をみてくれません。先述したSTUDIO by LIGのように、卒業後のサポートに力を入れるスクールもありますが、すべてがそうではありません。まあカリキュラムを提供するのがスクールの役割で、仕事を斡旋するのは人材紹介などまた別の仕事になるので当たり前ではあるんですが。
しかし皆さんプログラミングを学ぶこと自体がゴールじゃないかと思います。その後、仕事につなげたくて勉強しているはず。
ただ、企業の人事の目線でいうと、エンジニア職で実績がない方を採用するのは厳しく、実績がなければその時点で書類選考に落ちることもありえます(新卒などは除く)。これは実績がないとプロジェクトにアサインして成功するかどうかの判断がつきませんし、教育コストもかかる、というデメリットを考慮しているためです。
より最速でプログラミングを習得する方法とは?
じゃ、独学でもプログラミングスクールでもなければ、どういう方法がベストなのか? といいますと……
僕の結論としては、状況的に可能なのであれば、インターンシップへの参加がベストだと思っています。
それも短期ではなく、できるだけ長期のインターンシップです。
なぜインターンシップが良いかというと、理由が4つあります。
1. 仕事なので、きっとあなたはがんばる
心理学やビジネスの世界においては、「内発的動機付け」と「外発的動機付け」という概念があります。人がモチベーションを高く持つ/維持するには、この2つが揃っていることがベターです。
内発的動機付けとは、「自分がしたいからする、自分の内側から来る動機」です。例えば、「プログラミングに興味があるので、ただ勉強がしたい」という自分の知的好奇心からくる動機がそれにあたります。
外発的動機付けとは、「外部の影響による動機」です。たとえば、「褒められたいからやる、リターンが欲しいからやる」という他者や周囲の環境からくる動機がそれにあたります。
インターンシップは今回のようなアルバイト扱いの場合、「仕事」なので、給与をもらいながら勉強させてももらえます。一方で、当然ある一定の成果も求められます。つまり、内発的動機付けと開発的動機付けの2つが揃う環境なので、モチベーションが維持しやすいといえるでしょう。
2. 第一線で活躍しているプレイヤーが周りにいる
インターンシップは企業が行うものですから、当然周りには現役のエンジニアがいます。
つまり、実務レベルの技術に触れる機会があるんです。
もちろん、スクールではないので現場のエンジニアがつきっきりで教えてくれることはないでしょう。ただ、仕事内で質問に答えるとか、後輩が困っていたら助けるのは特別なことではないので、ある程度教えてもらえることは期待できます。たとえばLIG Phillipinesのインターンではカリキュラムがありますし、カリキュラムをリードし、質問にも回答できるようメンターがつくようになっています。
また、皆さんと一緒に働く他のインターンメンバーも同様に採用選考を突破して来ていますから、マインドの高いライバルや仲間ができることも期待できます。
3. 実績が得られる
最大のメリットはこれかもしれません。
インターンシップは仕事ですから、実績として残りますし、もちろん履歴書にだって書けます。
企業の人事は実績を重視するため、100%とはいえませんが、実務経験があれば選考でかなり有利に働くでしょう。先ほどインターンシップ期間は長ければ長いほどいいと言いましたがそれもこのためで、インターンの期間が長いほど、アサインできるプロジェクトの数が増えます。そうすると、企業はインターン期間後半にいくにつれて、より難易度の高い案件にもアサインできます。
そのため、インターン期間が終了するころには、皆さんは実績という名の経験値を積んでレベルの上がった状態で他の企業の選考に挑めるようになるんです。もちろん、インターンからそのままその会社の正社員になる道もあります。
通常の選考だと1回1〜2時間の面接を数回、トータルにしてわずか数時間の期間を経て合否を判定しなければなりません。が、自社でインターンシップを経験している人は何ヶ月も一緒にいることで、入社後どのように働くかのイメージがつきやすくなります。このインターンから会社員というルートも、双方納得感の高い採用となるため、おすすめです。
4. 無料で学べてお金ももらえる
アルバイトを前提とした長期インターンシップは、当然ながらお金がもらえます※。
冷静に考えたらこれ、だいぶおいしいと思います。
もし仮にインターンシップで満足いく結果が得られなかったとしても、金銭的にはノーダメージですし、めちゃめちゃ都合の良い投資といえるでしょう。
インターンシップの探し方とデメリット
インターンシップはどこで募集しているかというと、WantedllyやタイガーモブといったWebサイト、あるいは企業のWebサイトやTwitterで見つけることができます。
ただし、そんな美味しいごとづくしのインターンシップにも1つデメリットがあります。
それは、インターンシップできるかどうかは企業次第、という点です。……当然っちゃ当然ですが。笑
ただ、そんな元も子もないことを言って終わらせるのももったいないので、インターンシップに受かりやすくなる方法も次章に記します!
インターンシップに受かりやすくなる方法3つ
まず前提として、インターンシップ採用合格基準は他の正社員採用のよりも格段に下がります。
アルバイト雇用なので給料や仕事のレベルも下がりますし、正社員と違ってだいたいが短期(数ヶ月〜1年程度)なので、そのぶん求める条件も下がるからです。
まずはこの前提を抑えた上で、インターンシップに受かりやすくなる方法を3つお伝えします。
1. 基本事項を抑える
基本事項を抑えるとはつまり、募集要項や会社概要を読み込む、履歴書やプロフィール欄をしっかり埋めるということです。インターンに応募しに来る人は就職活動や転職活動の経験値が低いため、その辺の基礎ができない人が結構多いです。
僕も面接官やることがあるので、面接で応募者の方に会社概要や業務内容について尋ねますが、準備不足でまともに答えられない人は実は多いです。
また、履歴書はスカスカだったりそもそも持ってない人も多いので、ググって出てくるような一般的なやり方に沿って書きつつ、誤字脱字に気をつければ最低ラインは超えるでしょう。
また、Wantedllyなどのサイトを使う場合、プロフィール欄を重視する会社もあるのでそちらもしっかり記入しましょう。
2. 素直、元気、やる気がある意思を伝える
少しフザけたように聞こえるかもしれませんが(笑)。
人事が好印象を持つポイントは限られていて、「ある程度の笑顔と声量がある人」はそれだけで高く評価されます。真面目かつ積極的に仕事してくれそうですし、単純に明るい人・笑顔が素敵な人は誰からも好かれますが、これは人事も同じです。
また、「聞かれたことに関して正確に答えられる人」も好印象です。
たとえば、Yes or Noで答えられる質問ならYes or Noで答える、過去の経験を聞かれたら過去の経験を語る、わからないことを聞かれたらわからないと答える、などです。よく就活ではコミュニケーション力が重視されるといいますが、これは多くの場合こういった受け答えができるかどうかを指すことが多いです。
これをクリアするコツとしては、「面接でよく聞かれる質問リスト30選」などの記事をググり、事前にどう答えるかをある程度準備しておくに限ります。もちろん、受ける企業のレベルによってはより難しい質問や変化球があるかもしれません。しかし、いずれの場合でも正社員の選考に比べれば難易度は下がるでしょう。
3. できる範囲でいいから、プロダクトを作る
これがもっとも重要です。
Webサイトでもゲームでも何でもいいんですが、とにかくURLを叩いてその場ですぐ見せられるプロダクトを何か1つ作って用意しましょう。
書店で初心者向けの入門書……たとえばWebサイト or ゲーム or アプリの作り方に関する書籍を1冊買ってきてそれどおり作れば、プロダクト1個くらいは作れます(動けばよく、完璧である必要はありません)。
そしてその場で見せることができるプロダクトを持っていることが、面接官にとって「やる気の証明」になるのです。
いくらやる気があると言われても口で言うのは簡単なので、業務経験ゼロの人のやる気はわからないものです。しかし何か形になっているプロダクトがあれば、エンジニアリングへの興味・行動力があると思われます。
ちなみにこのことは、「日本一残業の少ない会社」で有名な株式会社アクシアの米村社長もブログで書いています。
まとめ&お得情報
結論としては、プログラミングを勉強するなら、インターンシップがもっともオススメです。
ぜひ、「1.基本事項を抑える」「2.素直、元気、やる気がある意志を伝える」「3.できる範囲でいいから、プロダクトを作る」を実行して修行してきてください。
ちなみに、LIGセブ支社でも通年でインターシップを募集中です!
今まで大学生、大学院生、社会人の方がインターンシップに来てくれていますが、多くの方がインターンシップ卒業後にそのままLIGで正社員化、他社に内定、フリーランスで独立といった結果につながっています。
興味がある方はWantedlyに求人があるので、ぜひ応募してください。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。