見出し画像

初心者がたった2週間でWebサイトを作ってから1年、どうやって学んできたか振り返る(後編)

長くなったので2つに分けました。前半はこちら

3.動かしながら意味を考える 時には飛ばす

2番の補足に近いです。個人的にオススメなのは、同じ処理で違うパターンの書き方を何個か調べてきて、できれば自分でそれぞれ写経して動かしてみること。似ているところと違うところを意識しつつ、最後は自分のプログラムと合体させて動くものを完成させます。それから理屈に戻って意味を読み解こうとしてみます。

このときに、全然分からなければそのまま次に行くし、ちょっと分かりそうだったら粘って調べてみる感じです。私も最初全然分からないままに、ただ動くコードをガシガシ書いてましたが、だんだんと粘る割合が増えてきた印象があります。でも初心者のうちは基本的には動いたら一旦OKくらいの気持ちでどんどんいきます。

自分のやりたいことが実現できて、使い回しがしやすそうなコードを拾ってくるのも実は簡単なようで練習が必要です。またそうやって見つけたコードをいざ自分のプログラムに組み込もうとすると、変数をいじったりしないといけないので、プログラムの中身について結局考えることになります。ちょっとしたことの積み重ねですが、こうやっていろんな人の書いたコードに触れながら動かすのは勉強になると思います。

4.分からないことを言語化する=質問する

自分がつまづいているところは、なぜ分からないかを深掘ってみて、書き出すといいです。特にプログラムの処理の中身に関することで言えば、質問をするために言語化できれば、ググってみることができます。
ググることが上達しないことにはプログラミングもなかなか上達しないと思います。そしてググるためには、言語化する練習が必要です。質問できる場所はオンラインにもたくさんありますし、スクールに行けば講師の先生がいると思いますので、練習だと思ってどんどん質問しましょう。

一方で逆説的ですが、ざっくりした質問しか出ない時は「分からないことが分からない」状態なので、無理に理解を深めるタイミングじゃないかも、と割り切ることも必要だと思います。一旦寝かせて分かる時が来るまで手を動かし続けるほうが大事。

次の動画はプログラミングを始めて2ヶ月、PHPの授業に入ってから作ったものですが、この頃からようやく理解しようと粘る時間が増えてきたと思います。これを作ってるときに講師の先生に送った質問を見返すと、ちゃんと具体的で詳細な質問ができていました。「〇〇ができなくて、ググったらこうだったので、△△になると思ってやったら××でした。どうしてですか?」みたいな感じです。

「手を動かしてるうちに分かってくる」感覚は、文字通り手を動かさないと得られないのです。なので理解は後回しでも良いので書くことが大事だと思います。とにかく一定のレベルまでは習うより慣れろ、です。

5.人に教えたり、説明したりしてアウトプット

また少し慣れてきて粘って調べる頻度が増えてきたなと思ったら、アウトプットを増やしていく段階かもしれません。実は私も最近始めたのですが、もっと早くやればよかったと思っている勉強法です。
アウトプットすることで、記憶の定着にも良いし、分かったつもりで分かっていなかったポイントの可視化にもつながり、より理解が深まります。

疑問点が似ている場合が多いので、同じくらいのレベルの人に対して説明する機会があれば一番手っ取り早いと思いますが、調べて分かったことを自分用にメモしていくだけでもずいぶん違います。理解できていなかった昨日の自分に対して説明するイメージです。
また、少しハードルは上がるかもしれませんが、noteとかQiitaとかにまとめていくと、たまにリアクションがもらえるのでアウトプットのモチベーション維持にもとても良いです。最近私もがんばってます。

ちなみに今は、チュートリアルはコードを書きながらコメントをどんどん入れていったり、作業や勉強した記録をGitHub上のissueや手元のツールでどんどんメモとりながら進めてます。ハマってさんざん調べたことなどは、その作業メモをまとめて記事にしている感じです。

6.できれば仲間をつくって目標を共有する

期間を区切って、その期間の目標を共有できる仲間がいれば心強いし簡単に投げ出せなくなると思います。しかもできればオフラインで会える形であれば、定期的に一緒にもくもく会したりアウトプットし合ったりできて最高です。

私の場合ですが、1人でコツコツ目標に向かうよりも、他の人の目があるほうが頑張れるタイプだったので、スクールで一緒に頑張る仲間がいたのは大きかったです。しかも生徒も講師もメンターも、みんな本気でやっていたんです。正直、コミュニティの力をこれほど感じたことはありません。それくらい私にとっては重要なファクターでした。
期間も半年と決まっており、最後に卒業制作を作って発表する、という明確な目標があったので、同期と一緒にとにかくそこまで必死で駆け抜けた感じです。達成できたこともできなかったこともあるけど、ゴールまで走りきって一度区切りをつけられたのは良かったです。

スクール通ってみて分かりましたが、通わなくてもできる人は確かにできるし、逆に私みたいに周りを固めて環境を作らないとできない人は、最初は独学だけでやるのは厳しいかもしれません。独学が良いかスクールが良いかというのは完全に個人のタイプによると思います。
今は学習系のSNSとかも充実していて、わりと誰とでも気軽に繋がれると思うので、そういうのも活用して最適な環境を模索するのも良いと思います。

7.信頼できるメンターをもつ

講師やメンターにいつでもなんでも相談できるのメリットは、私にとってはとても大きいものでした。しかも質問に答えてもらうだけでなく、飲み会や雑談でしゃべってたことがめちゃくちゃ勉強になるパターンが多々ありました。スクールに通ってみて一番良かったのはここかな、と思っています。

現役のエンジニアでバリバリやってる人の話は勉強になるし、強い人と話すと自分のレベルの低さを残酷なほど思い知らされるので、もっと勉強しようという原動力になります。

実は現在、大名エンジニアカレッジというスクールにも通っていますが、そこを選んだ理由もメンターさんの存在です。素晴らしいエンジニアの方と知り合えてお話する機会があると本当に為になります。ということで私は現在Ruby on Railsをモリモリ勉強中です!

独学でメンター探しは厳しいかもしれませんが、勉強会でエンジニアの方と仲良くなるキッカケを作ることから始めると良いかもしれません。初心者歓迎のイベントとかもあるので、ぜひ積極的に参加すると良いと思います。

変な人たちと教室がないスクールで学んだ半年

私の通ったG's ACADEMYというスクールについて、少しだけ詳しく触れます。冒頭のWebサイトを作り上げたのがちょうど1年前。そこから遡ること3ヶ月前の2018年4月にG's ACADEMYというプログラミングスクールを広告でたまたま知って、面白そうだったから即説明会に申し込んで、気づけば校舎もまだ無いという結構ぶっ飛んだ環境のプログラミングスクールの1期生になっていました。
そしてそのスクールには、多種多様なバックグラウンドを持つ個性的で熱すぎる人たち・・・同期の面々、講師&運営スタッフ陣、メンター陣がいました。印象深かったのは、入学式の自己紹介で「初っ端だし、変な人が集まってると思って来た」という趣旨の発言をした人が数人いたこと。「そう言うあなたがすでに変わってるよ、、、」と私は思ってました。

そんな個性的で熱い人たちに囲まれて学ぶのは刺激的だったし、児玉さんのプレゼンはいつもかっこよくてシビれたし、飲み会は企画&技術の真面目バージョンもおふざけバージョンもどっちもめちゃくちゃ楽しかったし、すごいスピード感で授業は進んでいくし、どんどんレベルアップしていく同期に追いつけ追い越せでがむしゃらにやってるうちに気づけば卒業制作に入るし、卒制はメンターに助けてもらいながらなんとか作り上げたけどスケジュールどんどん遅れて全然進まなかったし、何よりずっと寝不足だった。そんな長いようで短い半年間でした。

ここに行ったから今の私があると言えます。大人になってこんなに頑張ったことなかったけど、G'sだったから頑張れた。少なくとも私はそうです。

さいごに ゴールはスタートだった

あの半年があって、プログラミングの学習に関してはやりきれなかった後悔もあったけど、やっぱり楽しくて続けたいと強く思いました。2月に卒業したあと4月には仕事をやめて転居し、本格的にエンジニアへの道を模索し始めました。入学前は卒業制作がゴールで、卒制発表は目指すべき輝かしいものだと思っていましたが、やっているうちに卒業制作や発表は、ひとつの区切りでしかないと考えるようになりました。

卒業制作でゼロから作ってみて思い知った自分の実力。ありがたいことに卒制発表の機会までいただきましたが、自分のなかでは「これだけしかできなかった」という悔しい気持ちも大きかった。そんな自分を見つめ直して、私はやっとスタートラインに立ちました

現在はG's ACADEMYで同期だった仲間のプロダクトの制作をフリーランスという形で請け負い、今も楽しく必死に学び続けています。1年前には想像もしていなかった状況です。

そして今後ですが、いま関わっているお仕事がひと段落したら、就職活動を本腰入れてやりたいです。その経緯はまた、noteでアウトプットしていければと思います。
勉強方法を振り返る、と言いつつ最後はただの回顧録になってしまったのですが、私の経験談なのでご容赦いただければと思います。

技術系のことは少しずつQiitaにあげていて、Twitterでもたまにつぶやいていますので、よければそちらもよろしくお願いします。長文読んでいただき感謝します。

見てくださってありがとうございます。サポートは本を読むときのお供のコーヒー代にあてさせていただきます。