プログラミング初学者が学習1ヶ月でやったこと
はじめに
隙間時間で学習していたものを含めれば、正確には2ヶ月くらいですが
twitterを開設して、本格的にプログラミング学習を開始してから大体1ヶ月以上経ったので、備忘録変わりに今までやった事と、必要と感じた今後の課題をメモしておこうと思います。
学習開始前の私のレベル感は
- ブラインドタッチが出来ない
- IT関連の職務経験はゼロ
- プログラミング経験もゼロ
- macを持っていないし、使った事もない
- pc自体は遊びでヘビーに使っていた
という感じです。pcを使う事自体に抵抗がないくらいで、ほぼゼロからのスタートです。ちなみに金銭や貯蓄的な関係もあり、プログラミングスクール、オンラインサロンの類は参加していません。
Progate
最初にプログラミングを学習しようと思った時に始めたのがProgateです。
初学者的には、(よく分からない)環境構築を一切行わずにいきなりコードを書けるのは、大変有り難かったです。
HTML、CSS、Javascript(ES5)、jQuery、Ruby、Rails、Git、コマンドライン、SQLコースを一通りやりました。
分からない所は何度かやりましたが、それほど深追いせずレベルが200を超えた辺りで一旦終了しました。
当時は仕事を行いながらの学習だったため、学習が間延びしてしまったのが反省点です。二週間くらいで概要だけ抑えて、すぐに実践的な学習に入るべきだったかもしれません。
Progateを軽く終えたくらいでは、何かをゼロから作れるというわけではなく、プログラミングがどういった物なのか概要だけ理解した...という感じです、
[書籍]ゼロからわかるRuby超入門
「書籍から入ると挫折するよ」という意見も見ましたが「やってみてから判断しても遅くはない」という事で簡単な書籍を一冊やりました。
読むだけではなく、基本的にはエディタやターミナルでコード書く「写経」で進めていきました。結果的には挫折せず、一応は演習問題も含め最後までやりきる事が出来ました(本が良かったのかもしれません)
最後の方の章でSinatraで簡単なアプリを実装するのですが、これが後の学習にも繋がりました。
paiza Rubyコース
Progate、書籍とこなしたものの「まだまだ理解したとは到底思えないし、webアプリは作れない」という事は分かっていたので、評判も良さそうなPaizaで引き続き基礎学習を進めました。しかしこれは今考えると失敗だったと思います。
paiza自体は教材そのものは高品質ですが、如何せん私にとっては、基礎学習の期間が長すぎました。
自分はこんなwebアプリをつくってみたい!こんなサービスがあったら楽しいだろう!というのが最初にあり、基礎的な学習はいかにも受験勉強的であまり楽しいものではありませんでした。
エンジニアとして職を得ている有識者の方も良く指摘するように、「基礎学習が長すぎる→モチベーションを維持するのが難しくなる」という負の現象に見事にハマっていたような気がします。
paizaのRubyコースはなんとか終わらせましたが、終わりの見えない基礎学習で、一体いつになったらwebアプリを作れるようになるんだろう...と感じていました。
Udemy Rails入門:基礎をSinatraで理解しRailsで作れるようになる
このままだといつまでたっても作る力が身につかないと感じたので、ハンズオン形式の教材で実際に作り始める事にしました。そのために活用したのがudemyです。
この教材は今までで一番手応えがありました。Sinatraから入り、Railsに繋げて学習する事でRailsの利便性が実感できたというのもありましたが、何より実際に業務でプログラミングを使っている先生の手元を見ながら一緒に開発していくので、プロの人間が普段どういう思考でどういう風に調べたりコードを書くのかが鮮明になりました*1
コピーに近いですが、最終的には一番それっぽいアプリを完成させる事が出来ました。
【day48/100】
— Takuya Kou (@takuya_prog) August 5, 2019
Udemy Rails入門: セクション13
Udemy終了。Kaminariでページネーション機能を追加して
Todoアプリがひとまず完成した。#100DaysOfCode pic.twitter.com/Xnrhkdl9xY
CSSとかも適当なので、到底人に見せられるレベルではないですが、まず何か作れたという達成感で嬉しかったです。
タイピング
プログラミングを学習しているのに、人差し指でキーボードと睨めっこでタイピングしているのは流石に効率が悪すぎると思ったので、同時期くらいにブラインドタッチも練習し始めました。
練習と言っても大したものではなく、毎日10分程度寿司打やmytypingなどのサイトで息抜きに学習していたくらいです。ただプログラミングと同じく基本は毎日やっていました。
寿司打の高級コース初めてクリアした。
— Takuya Kou (@takuya_prog) July 28, 2019
1ヶ月前は人差し指でタイプしてた事を考えると成長を感じ取れて嬉しい。 pic.twitter.com/eWmjcadfCq
高級コースの普通をなんとかクリアできるくらいなので、はっきり言って遅いですが、コードを書く際、違和感なくタイプできるようになったので「使える」レベルには達したと思います。
今後の方針
今後の大きな目標や方針としては
- 自分の作りたいwebアプリをrailsで実装する
- webエンジニアとして転職する
としています。そのためにやっていく事は
でしょうか。やはりこの程度の学習量では理解したと言い難いので、引き続き学習を進めて、自作アプリをデプロイしようと思います。こんな感じのやつを作ってみたいというのはあるので。
また独学しているよりも、現場にジョインした方がやはり学べる総量は違うと思っているので、未経験でもアルバイトを問わず雇って下さる方がいらっしゃるなら、いつでもお気軽にtwitterまでDMしていただけると有難いです。
*1:物凄いエンジニアならまた違うのかもしれませんが、予想の3倍くらいググってるんだなあと思いました