エンジニア未経験者に自社開発企業からスカウトがくるまで
はじめに
この度自社開発スタートアップ企業から直々にスカウトがあり、そこの会社で働くことになりました。そこで勉強を行う際に実際に注意したポイントや気をつけた方がいいところなどを書きましたので、最後までご覧いただくと未経験の方でも
どのような勉強をすればいいのか(初学者向け)
スカウトがきたポートフォリオを作る上でのポイント(ポートフォリオに悩んでいる人向け)
が多少わかると思います。(気になるところだけを読んでくださってもかまいません)この記事をご覧になった方にとって少しでもWebエンジニアになる手助けになればと思います。また最後に筆者の人生を変えてくれたプログラミングスクールについても少しお話させて頂きます。独学で勉強している、または今通っているスクールが合わないと思っている方はぜひ一度ご覧ください
自己紹介
まず初めに簡単に自己紹介させて頂きます。自分は大阪で建築系の大学院に通っています。現在は23歳になります。プログラミングは独学を約1ヶ月半残りは「RUNTEQ」というプログラミングスクールに通いプログラミングを勉強しました。それまでプログラミングの経験は全くありませんでした。
エンジニアという業界は転職という形では実務未経験の方は多少採用してもらいやすいらしいのですが、自分は学生だったので新卒で未経験という絶望的なスタートでした。
しかしこんな絶望的な状態でも会社側からスカウトされ内定をもらい今は渋谷で大学院と両立しながら働いています。なのでこれからプログラミングを始める、この記事をみてくださっている方は決して諦めないでください。茨の道ですが必ずよかったと思える日がきます!
どのような勉強のプロセスを辿ればいいのか
まず筆者は初めに独学で勉強を始めました。ProgateのHTML,CSS,Javascript,jQuery,Rubyを一通りやりました。そこからスクールに入ろうと思い入学までの1ヶ月で「現場で使えるRuby on Rails 5速習実践ガイドの4章までを勉強し、その次にRailsチュートリアルの無料を1週だけしました。(チュートリアルはほぼわかりませんでしたが…)
おそらくこの段階で多少サービスを作り始める人もいるとは思いますが、それではサービスを作るのに必死で本当に作りたいものが作れない場合が多いと思います。実際筆者は全くRailsが身についていなかったのでそのままスクールで勉強することになりました。
そこからはスクールの手順に沿って黙々と課題をこなしていきました。スクールの何がすごいのかについてはまた最後に説明したいと思います。
勉強時間について
筆者は学生でありながらも残りの授業は少なかったのでほぼ毎日を勉強時間に費やしていました。11月にスクールへ入り5月に卒業するまでで1500時間以上勉強をしました。今思えばそこまで勉強しなくてもなんとかなった気はしますが…
また平日はほとんど勉強できなくても結果的に1000時間ほど勉強をすれば力は身につくので長い目で見れる人はゆっくりやっても全然大丈夫だと感じました。なので今から勉強を始められる方は1日あたりの勉強時間は心配しなくても大丈夫だと思います。
学習方法で後悔したこと
筆者が独学の時期に勉強面で後悔したことです。初学者の方々には同じ過ちを犯してほしくないので、以下を注意して勉強するといいかもです!
・インプットばかりだったこと
プログラミングはアウトプットがとても大事です。どれだけ参考書を読んでも全くコードがかけるようにはなりませんでした。なので最初はとにかくコードを書いて動くことを確認するような勉強がいいと思います!
・エラーの読み方・調べ方を調べる
プログラミングはエラーとの戦いです。勉強のほとんどの割合はエラーを解決することになると思います。そのときにエラーのどこを読めば解決のヒントがあるのか、どう調べればgoogleで検索結果が多くなるのかを知っておくだけでスピードは全く違ってきます。
初学者はこの辺りを意識すると学習スピードが全く違ったものになると思います。
しかし筆者の入ったスクールのRUNTEQではここの対応はしっかりしていました。よくある「アウトプットをしましょう」や「エラーはこのように調べましょう」など先生が促しているのではなく、
上記の問題をシステムでしっかりと解決しているのです
RUNTEQではインプットし続けても一生課題は終わりません。アウトプットをし、自分でエラーをしっかり解決できた場合にのみカリキュラムが進むようになっています。その結果アウトプット学習に切り替えるしかない状態になります
またカリキュラムでの質問ではどのようにエラーが出て、どの部分がわからないのか、どこまでエラーが読めたかをテンプレートに沿ってしっかり質問しなければならないようになっており
エラーの読み方がわからない→質問がまともに伝わらない→カリキュラムが進まない
といった状態になります。なので勉強する上で大切なことが身につくしかない状態になっています。
ポートフォリオを作る上でのポイント
次にポートフォリオを作る上で自分が特に重要だと感じたことを書いていきます。ポートフォリオが良ければスカウトが来る可能性が普通のポートフォリオとよりは上がると思います。
ポートフォリオ紹介
まずは筆者のポートフォリオを紹介します。
TaskQuestというゲーム風タスク管理サービスを作成しました。
タスクを完了するとキャラクターが敵を倒してくれるというものです。
ありがたいことにたくさんの人に使って頂き、たくさんの反響がありました。このポートフォリオのおかげで就職先も決まりました。
その経験を生かし自分が大切にしていたことや注意したことを書きます。
誰でも作れる
ありがたいことにたくさんの反応があったTaskQuestですが、元のサービス自体は誰でも作れるぐらいに簡単です。書いているコード自体はスクールを卒業すると最低限身についているものです。機能も単なるタスク管理サービスとほぼ同じ仕様で作っています。なので元のサービス自体は誰でも作れます。ポートフォリオは難しい技術を使った方がいいと皆さん思っていますが一概にそうではないということです。(フロントはJavascript、バックエンドはRailsの5系で書いています)
しかし筆者はそれ以外の所で勝負した結果、ツイッターで約900いいねをもらうことができました。自分が何を注意して作ったのかを書いていきます。
普段の生活での疑問を自分の得意分野で解決する
ポートフォリオを作るとなると皆さん初めに日々の生活で困っていること、疑問に思っていることを考えます。ここで筆者が大事にしたことは
一般的に困ってそうなものを選ぶのではなく
自分自身が困っているものを選ぶ
です。自分の体験談がないと何が問題だったのか、なぜ解決しようと思ったのかが説明できずに表面上のサービスになってしまいます。なので体験談から選ぶようにしました。
筆者の場合は大学の課題や建築の模型などを作成する際に最初はタスク管理をしていましたが、次第にめんどくさくなりタスク管理をしなくなりました。そういった理由で自分でも続けることができるタスク管理サービスが作れればいいのではないかと思いタスク管理サービスという結果になりました。
次にその課題に自分の得意分野で解決できないか考えます。
おそらく皆さんも他の人よりもすこしでも得意なことがあると思います。社会人なら仕事で得た知識などもありますし、例えば毎日YouTubeだけ見てゴロゴロ過ごしてる人でも他の人よりはYouTubeについての知識があるはずです。
自分の好きなことや無意識に1日の中で割合が大きいものが知識や経験となりプログラミングでは武器になります。数多くのポートフォリオから埋もれないためには自分の武器をしっかり使っていくことが重要です。
自分は建築の学生なのでイラストやデザインなどの技術を持っておりこれを武器にしようと思いました。そこでイラストを使いタスク管理をビジュアルの面で楽しくしようと考えました。
その他のポイント
他にはやはり見た目の完成度をどれだけ上げるかによってユーザーの反応度が変わります。簡単なサービスを作ったとしてもユーザーが楽しく使ってもらえるか、ユーザーが興味をもつかなどを考え、それを説明した方が会社からのウケは良かったです。
また新しい技術を習得してしまってそれを実装するのも1つです。自分もドット絵アニメーションを1から勉強しポートフォリオに組み込みました。自分のできることからサービスを作るのではなく、まずは何も考えずなんでもできる程でサービスを考えるのもいいのではないでしょうか?
スカウトが来るポートフォリオにするには
上記をまとめると必要最低限のプログラミング知識がある上で、自分の経験上の課題を自分が持っている武器(特技・知識など)で解決していくことが他とは違ったポートフォリオを作るポイントです。筆者はそこを意識して作りました。しかしやはりまず最低限のプログラミング技術がないと意味がないですし、初心者はどのくらいコードをかけたら必要最低限に達するのかわからないと思います。そんな時はやはりスクールに通うのが一番いいと思います。今回は最後に半年で自分の人生を変えてくれた「RUNTEQ」について少しだけご紹介したいと思います。
なぜスクールに通ったのか?
スクールに通わなくてもプログラミングを習得する方法はたくさんあります。そんな中たくさんの人が「スクールに通わずに某メンターサービスを使えば安く済むのでは?」と考えると思います。
しかし実際に見てみればわかると思いますがメンターを1人つけるだけでも結構なお金がかかります。スクールよりかは安いのは確かですが、スクールはプログラミングの勉強の他に「面接練習」「ES添削」「無数のイベント」「会社とのつながり」「何人もの講師」など様々な付加価値があります。メンターサービスでプログラミング技術を身につけ、その武器だけで就職活動をするのは現実問題難しいと思います。
自分自身も「会社とのつながり」がきっかけにスカウトがきました。こういうことはスクールじゃないと起こり得ません。
なぜRUNTEQなのか?
RUNTEQが他のスクールと違うところは「難易度が高い」ということです。
とても難しいですが、あるとき「今の技術があれば生きていくのに困らないんじゃないか」というくらいに成長を実感できると思います。
またかなり難しいカリキュラムをこなしていくのでポートフォリオは楽勝に作れるようになります。自分のポートフォリオも機能をつけるところは一度も質問せずに作ることができました。
またスタートアップを目標設定しているところも大事なポイントだと思います。スクール業界でよくある、いざ入ってみればいきたくない企業に行かせられるということはまずありません。みんながスタートアップ企業に行くという高い目標があり、切磋琢磨しているので自然と自分のモチベーションも上がってきます。
プログラミングを勉強するのは大変だと思います。しかし勉強しやすい環境というものは提供してくれているサービスがあるので、使ってみる価値はあるのではないでしょうか?自分は学生で親からお金を借り、毎月返していますが、RUNTEQに通ったおかげで人生が変わりました。
独学で1年間かけてプログラミングを習得して就活するよりも半年で圧倒的なポートフォリオを作り就活し、残りの半年でスクール代金+αを稼ぐ方が長い目で見るとお得ですよね
このnoteに書いているような「どうすればうまく勉強できるのか」や「ポートフォリオはどのように作ればいいのか」それ以外にも様々なことを現役のプロエンジニア達が何人も直接マンツーマンで教えてくれます。
最後に
筆者は数々のプログラミングスクールの説明会に行きまくった結果RUNTEQを選びました。またその決断は間違っていなかったと心から思います。皆さんにもプログラミング勉強で挫折せず、夢を現実にして欲しいと思い長々と書いてきました。
もし少しでも興味があれば一度覗いて見てください。
またここのnoteからキャリア相談会に申し込みをすると10000円OFFで入学できるみたいです!HPからだと10000円OFFにはならないので注意してください!
またもしこのnoteからRUNTEQに入学し、筆者に直接ポートフォリオやその他のことで聞きたいことがある場合は講師に頼むと繋げてもらえますのでいってくれればどんな質問でも答えます!
このnoteをみて少しでもモチベーションや勉強を頑張っている人の手助けになれたらを思います。エンジニアはやはり夢のような職業でした。
皆さんもぜひエンジニアになって幸せな人生を勝ち取ってください!応援しています!!