Published on 01 Jan 2020
独学でプログラミングを勉強して2月でちょうど1年。
プログラミングの勉強を始めるにあたり佐藤有希さんやYukaさんのブログにすごく助けられたこともあり未来の海外転職志望者や英語でプログラミングを勉強したい方の参考になればと思い少々雑ではありますが、プログラミング初学者が海外ブートキャンプの奨学金を得るまでにしたことをまとめてみました。
始める前に…
独学前は簡単なhtml、cssを知っているぐらいでした。
当初の目標は「半年でWeb業界に転職」だったのでMyルールとして以下を設定していました。
・基本的には英語で学ぶ
・一ヶ月毎に振り返りと翌月の戦略を練る。
・できるだけ手を動かす
就職にはポートフォリオがマストになってくることは調査済みだったので、できるだけ早い段階で自分で何かを作れるようになる必要がある、と思い込んでいました。
英語力に関してですが、ちゃんとした留学経験をしなかった上、大学からシンガポールで就職するまでは英語と無縁の生活だったこともあり英語力はほぼ0からのスタートでした。
シンガポールで就職してからも、当時お金も時間もなく決まった時間、日時にスクールに通うことが難しく、仕事前と仕事後に英単語を覚えて仕事中にアウトプットする様な生活を送っていました。
ここ数年は英語系のテストを受けていないので現在の英語力はかなり曖昧なのですが、目安として
ちなみに、数年前からマネジメント系のポジションだったこともありローカルのスタッフをはじめ、インターナショナルなスタッフ、チームと英語でコミュニケーションをとる必要があることも一応付記しておきます。
2月
この頃の目標は9月頃に転職できればいいかなぁ、と漠然としたノリでスタート。 ただ、何から手をつけていいかまったくわからず、とりあえず勉強方法や教材を調べる。
参考にしたサイトは以下。
基本的な方針はここを参考しました。とりあえず、無料で始められるってところがよかったので概要を把握するにはよきでした。
目標とする海外在住日本人プログラマーの方々の記録も自分の原点として行き詰まっては何度も読み返していました。
とりあえず、JavaScriptを理解しないと次に進めないということで、当面の目標をJavaScriptの理解と応用にしていました。
とりあえず、無難に紹介されていた以下2つを始めてみる。
3月
引き続きIntroduction to JavaScriptとEloquent Javascriptを進める。 ただ、JavaScriptの基礎って超アバウト(実はとっても大事なんだけど)な感じがして理解に苦しむ。
Loopsぐらいまではどうにか進めたけど、それ以降FunctionやらObjectのネスト化など、一体どんな風にWebページにリンクして貢献しているのかがまったくもって理解できなかった時期。
理解できてなくても、やり進める。
4月
結局、Introduction to JavaScriptをやっても超基礎ワード覚えたぐらいで、全然JSを理解できてなかったことにショックを覚える。 横断的にAndrewのMediumに掲載されてるサイトなども試しながら、自分にあった勉強法や教材を探し求める。
そんな折にちょうどAndrewのUdemyコースがディスカウントされたタイミングで思い切ってThe Complete Web Developer in 2019: Zero to Masteryを購入。
これが結果的に大いに活躍。
Html、CSS、コンピュータ・サイエンスの基礎から始まり、Terminal、Gitの使い方、JavaScript、Reactなどもう盛りだくさん。
基礎を一通りやっておきたいなら下手に色々手を出すよりこれやった方がいいです。
5月
ただ動画見るだけは絶対に覚えていけないと思い、Zero to Masteryと並行して簡易的なブログ制作に乗り出す。 参考にしたのは勉強を始めるきっかけになった佐藤有希さんのこちらの記事。
少し古い動画にはなるけど、Giraffe AcademyのMikeチュートリアルはわかりやすかった。
とりあえず、自分で佐藤さんのブログを再現してみようということで見様見真似で進めていく。 佐藤さんのコードを分析しながら、自分なりにイジれる部分をアレンジしながらGitHub経由でDeployまでこぎつける。 Jekyllのインストールでつまづき、Terminalを使ってのcommitやpushでも四苦八苦したのはいい思い出。
6月
JekyllでCSSの理解が危ういことに気づいたのでZero to Masteryを見直して自分でもFlexboxやBootstrapを使ったページを作ったりしていました。
本業が四半期決算ということで、忙しくなり学習時間があまりとれずこの月は終了。
7月
機は熟した!といよいよJavaScriptを使ったページにも挑戦し始めたのがこの時期。 今思えばなぜそれまでやってこなかったのか不思議なのですが…。
とりあえず、評判のいいWes BosのJavaScript30に挑戦。
が、しかし、1つ目のチュートリアルからハイレベル過ぎたのと、このチュートリアルの使い方がわからなかったので即挫折。
代わりにYouTube上にある短いチュートリアル動画を観ながら自分でJSを使ったアプリでページを作成。 目標は週1で1アプリ。
Dev Edのチュートリアルを動画は簡潔で分かりやすくて非常によかったです。
Traversy Mediaも有名ですね。
8月
JavaScriptやりまくってちょっと気分転換にと思いReactに挑戦し始めたのがこの時期。 シンプルに増田さんが紹介していたThe Complete React Developer Course (w/ Hooks and Redux)に挑戦。
最初は「えー!!JSでHTML使えるなんてめっちゃ楽やん!」とか思える程に興奮していたのですが、Lifecycle methodで挫折。
なんでわざわざmountしてupdateしてunmountするの?っていう超初歩的なところに納得いかず、Redux手前でとりあえず寝かす。
このままではよくないということで、これまたDev EdのReact動画やその他Reac解説系やチュートリアル動画をYouTudeで見漁る。
ただし、この時点ではReactを使ってなんのアプリも作成はせず…。
9月
目標としてはnode.jsを勉強しようとしていました。
していました。
いや、しませんでした…。
理由は色々あるのですが、大きなきっかけとなったのは月の前半に行ったフランス旅行。
ちょうど転職目標にしていた9月に差し掛かって改めて現状の自分の理解度やスキルを考えると、フルタイムの仕事と並行しているとはいえ効率がよくないと思っていました。
そこで、思い切ってBootcampに挑戦してみてはどうだろう…?と思い立ったのがフランス旅行直前。
パリ滞在中にはアポがとれたBootcampに話を聞きに行ったりしてイメージを膨らませて、帰国後には目標を転職からBootcamp参加に変更。 ターゲットにしたのは佐藤さんと同じベルリンのIronhack。
カリキュラムや授業内容が佐藤さんのnoteとブログで詳細が把握でき、卒業後の就職までがイメージできたことが決めてです。
10月
ブートキャンプでのテクニカルテストを想定してCodeWarsを始めてみる。
8kyuから始めるも手も足も出ずで悔しい思いをする。
結局JSを勉強しても使いこなせないと意味がないし、問題解決できないようなコードを学んでもしょうがない、と当たり前なことに改めて気付いて足りない部分を補うようにJSを初歩から見直し。
基本に立ち返り公式Docを初めて読んでみると、これが意外とよかった。 なんで今まで読まなかったんだろうと思える程に必要なことが分かりやすく解説されていたので感動。
ただ、全くの初心者が読んでもさっぱりわからないと思うので、ある程度JS勉強してReferenceとしてBookmarkしておくとよきです。
一方でReactにもう一度挑戦を決意。 JSの公式Docがよかったので、Reactもそっちから攻めようと思い読み進めると、やっぱりこれもよかった。
またこの時期からYouTubeで見つけたJoshua Flukeの動画に感化される。 Web業界のリアリティだけでなく、レジュメやポートフォリオの添削やTipsが紹介されていてかなり参考になった。
こういう語り口が苦手な人もいるだろうけど、一歩引いて見た彼の視点は面白くて、文句を言いながらも有益な情報を提供している姿がだんだん面白くなってきます。
ポートフォリオ作成にかなり行き詰まっていたので、道標ができたのも彼の動画のおかげ。
完全オリジナルであるに越したことはないのだけど、それでも初学者にはかなりハードルが高い。
なので、
ってことをするだけでも、かなり視界が広がってよかった。 いきなりオリジナルアプリやサイトを作ろうとせず、シンプルに土日でできるような題材から始めるべき。
で、ここで活躍したのがWesのJavaScript30。
一時はDay 1で挫折したものの、全部通して見ることで自分でアレンジできそうなものに狙いを絞り作成していました。
また、Wes BosとScott TolinskiがホストのポッドキャストSyntaxをまじめに聞き始める。
11月
ひたすらCodeWarsをやってはnotionにわからなかったことを書き込んでいく日々。
8kyuを50問近くやっても一向に正答率は上がらなかったけど、やりこんだおかげでいろんなmethodが知れた。
Methodを学ぶことで、今まで気にもかけなかったstring, Number, Arrayの性質をより深く知れただけでなく、YouTubeのチュートリアルの説明がより一層わかりやすいものになった。
Reactの理解が深まったのでYouTubeで関連動画を見漁る。
特によかったのがThe Net NinjaのComplete React Tutorial (& Redux)。
シンプルでかつ分かりやすくて下手に有料のチュートリアル買うぐらいなら断然これをオススメしたい。
他にもBuild a Reactjs app with the Google Books APIを参考に書籍検索ページを作成したり、ベタにTodoアプリを作ってみた。
JSの全体像とMethodの使い方がわかり始めたおかげで、Reactの構造や目的も結構すんなり入ってきた。
今までLibraryとかFrameworkとか言われてもいまいち理解できてなかったのが、この辺りから腑に落ちるようになる。
12月
目標にしていたIronhackベルリンが突然奨学金制度を発表していることを申し込み締切日に偶然知り、速攻で申し込む。
テクニカルテストの準備として推奨されたCodecademyのIntroduction to JavaScriptを数ヶ月ぶりにやってみる。初期に比べて圧倒的に理解度が深まっており、つまづいていたネスト化やオブジェクトに関する問題も一応理解。
その後、すぐにテクニカルテストを受けて無事パス。
無駄だと思っていた10ヶ月間が報われた気がして、合格のメール受け取って思わずガッツポーズをとってしまった。
ベルリンはホリデーシーズンで本業も四半期決算で忙しかったのでインタビューは1月にスケジュール。
1月
たとえ奨学金が手に入らなくても絶対にBootcampには行きたい!と意気込む。 ターゲットにしている6月始まりのブートキャンプまでにポートフォリオサイトを充実させようと評判のよいGatsby.jsに着手。
Starterセットが充実しているので気軽に始められる上、なかなかオシャレに仕上がるのでおすすめ。
ちなみにこのサイトも英語版とともにGatsbyで作成。
一方でPersonal Interviewに向けてIronhackの担当者にメールで事前に質問。
「お前のテクニカルテストのスコアはなかなかよかったから、あとはインタビューだけ受ければいい」
と言われ、インタビューに臨む。
事前情報通り、簡単な自己紹介と動機の説明、モチベーションチェックに卒業後にどうしたいかなど割と社交辞令的な内容で15分ぐらいで終了。
2週間後にPartialではあるものの奨学金選考合格の通知を受け一安心。
2020年1月現在の通常の学費は€7,500(約90万円)ですが、そこから25%分マイナスされて€5,625(約70万)になります。
本音を言うともちろんFullが良かったのですが、申し込もうと思っていた時期にはEarly bird Discountなどががなくなってしまったため、当初は€7,500を学費として支払う予定だったため多少でも出費が抑えられるのはまさに渡りに船でした。
プログラミング勉強の1年間をざっと振り返ってみました。もっと手を動かして実際に動くものを作れたかなというのが正直なところ。過去を悔やんでも取り返せないので、今後の学習に活かしてできるだけものを作っていく。
これから6月のブートキャンプまでに止まってるRedux、GraphQL、Node.jsからDBまでを目標にしつつ、最終目的である転職を見据えてCodeWarsやResume類の整理、インタビュー対策も挟みながらコツコツ勉強する予定です。