プログラミング初心者:プログラミングの勉強を始めたいけれど、周りに相談できる人もいないし、何からすべきかも全くわからない。まずはプログラミング初心者を脱出して、調べれば何となく理解できるところまで進みたいので、他の人がどうやって勉強したのか知りたい。
という相談にお応えします。
- 1 記事の内容
- 2 ひとりぼっちでプログラミングを泥臭く勉強する手順(実践したもの)
- 2.1 プログラミング学習について検索しまくった
- 2.2 プログラミングの基礎の基礎を書籍で学んだ
- 2.3 ペンとノートを買って、アウトプットしながら勉強した
- 2.4 ドットインストールで勉強→挫折
- 2.5 Progateにハマった
- 2.6 サーバーとドメインを自前で、自分のブログを立ち上げた
- 2.7 ブログに関わる領域から、技術書を読み進めた
- 2.8 デザインにこだわりだすブロガーあるある
- 2.9 エラーに冷や汗をかいて、英語で検索する
- 2.10 エンジニア系のイベントに参加する→全く理解できない
- 2.11 SlideShareで学習方法を再度考える
- 2.12 技術関連のサイトをブックマークして、最新のトレンドを学ぶ
- 2.13 Githubを学ぶ→最難関
- 3 プログラミング初心者を脱出したら、次のステップは?
- 4 ひとりぼっちで、プログラミングを勉強した方法のまとめ
記事の内容
・ひとりぼっちでプログラミングを勉強できるようになる
・プログラミング初心者を脱出した次のステップが分かる
ひとりぼっちでプログラミングを泥臭く勉強する手順(実践したもの)
プログラミングの勉強をはじめた時は本当に孤独でした。Web業界にいるので、エンジニアの知り合いが2,3人はいましたが相談をしたくても、何を相談すればいいのか分からない。何が分からないのか、分からない状態でした。
ですので、プログラミング学習のプロからすると、泥臭く効率が良くない場面も多くあったかと思いますが、それらも今では経験になっています。
僕が本当に取り組んだことと、失敗したなー!とハッキリ分かったことを両方記載するので、合わせて読んでいただくことで、これからプログラミングを学ぶ人の助けになることを願っています。それでは、ひとりぼっちでプログラミングを泥臭く勉強する手順、はじまります。
ちなみに、2年前に僕はプログラミングを学ぶことに挫折しています。今回こそは初心者を脱出したいという意気込みで取り組みました。
プログラミング学習について検索しまくった
「プログラミング 初心者」や「プログラミング 勉強」などのキーワードで検索しまくるところから始めました。ただ、出てくる情報は僕にはレベルの高いものでした。
・勉強するプログラミング言語を決める
・まずはサイトを作ってみよう!
・プログラミング初心者におすすめ無料学習サイト5選
んんん… そういうことじゃなくて!勉強の手法としては正しいけれど、いきなり言語を決めたり、サイトを作り出すのは本当に理解できているのか?という納得感がありませんでした。
プログラミングの基礎の基礎を書籍で学んだ
納得感を得るためには、インターネットがどうやって動いているのか。なぜ、Webサイトが表示されるのか。エンジニアリングとは何なのかというコードや言語の話が出てくる手前の、土台にまで立ち返ることにしました。
「エンジニア 書籍」「エンジニア 推薦 本」などで、複数の記事をピックアップして、特定の領域に特化していない「そもそも本」を2冊購入しました。
他にも書籍はたくさん読みましたが、この2冊は基礎固めとしてとても有効でした。なお、エンジニア初心者の時に読んだ他の書籍はこちらの記事まとめてあります。
TABIPPO編集長がWebエンジニアになるために読んだ書籍11選
ペンとノートを買って、アウトプットしながら勉強した
勉強を進めていくにつれて、関係やフローを図として表すことが増えてきたので、ノートとボールペンを常備してアウトプットを始めました。
疑問や不明点を文字として表すことで思考が整理され、勉強の過程を振り返った時に「以前は分からなかったことが分かるようになった!」と自信になりました。
ドットインストールで勉強→挫折
「Webプログラミングを勉強するなら、ドットインストールがいいよ!」と聞いたことがあったので、トライしてみましたが開発の環境を作るところが分からなくて挫折していました。
エンジニア経験者なら当然のように分かる話ですが、Webプログラミングをするほぼ全ての人に関わる技術領域がいくつかあります。例えば、Macのターミナルで使うコマンドプロンプト、Viエディター、FTPなど。これらができないと、プログラミング言語の勉強をはじめることすらできない… という状況でした。
Progateにハマった
開発環境さえも用意してくれるProgateがリリースされたことで、救われました!Progateなら画面内で、実際にプログラミングしたコードの挙動を見せてくれるので、開発環境が作れなくても勉強が進められます。
ゲーム感覚で開発ができるので、いきなり挫折しないためにも、今はドットインストールよりもProgateからスタートすることをオススメしてます。
サーバーとドメインを自前で、自分のブログを立ち上げた
インターネットの構成が何となく分かりかけてきたので、0から1を立ち上げる経験をやってみようと考えて、ブログを作りしました。ドメインを決めて、サーバーを借りて、Wordpressをインストールしたことで、詳細は分からないけれど、とりあえずサイトを作れるようになりました。
今後は自分のブログで学んだことを実践できるようになったので、練習の場所が広がりました。
ブログに関わる領域から、技術書を読み進めた
WordPressをいじるためには、どうやらHTML、PHP、CSS、MySQLなどの知識が必要だと分かってきたので、ネットでオススメされている技術書を読み進んで、使えそうな技術をパクってブログに実装していきました。
デザインにこだわりだすブロガーあるある
IAシンキングを読んで、どうやって情報を整理して載せれば分かりやすいのかこだわり始めました。結果として、ブログのデザインを自分の理想に寄せていこうと試行錯誤することで、CSSの練習になりました。
エラーに冷や汗をかいて、英語で検索する
WordPressに関わる領域が何となく分かってきた気になっていた頃に、データベース関連でエラーを出しまくってサイトをしょっちゅうダウンさせていました。サイトを開いた瞬間に真っ白の画面が表示されて、冷や汗が止まらなかった経験が何度もあります。
そのままにしておくわけにもいかないので、日本語・英語で必死にエラーメッセージを検索して、何とか解決していました。
終わった…と思っても、翌朝にもう一度挑戦すると復旧することが何度かあり、素人でも何とかなるんだなと自信がつく瞬間です。
エンジニア系のイベントに参加する→全く理解できない
ビズリーチの友人に誘われて、2回ほどエンジニア向けのイベントに参加しました。これっぽっちも内容を理解できず、すごすごと帰りました。プロのエンジニアの中に入ったら、こんなものかと自分の立ち位置を再確認しました。
でも、懲りずにその後もエンジニア系のイベントは見つけたら行くようにしていまました。内容よりもエンジニアの友人を増やすために、貴重な機会です。
SlideShareで学習方法を再度考える
SlideShareというプレゼン資料を共有できるWebサービスで、今の学習方法で正しいのか再度確認しました。オススメの人気スライドはこちらの3点。
学生時代に知っておきたかったWeb技術の学び方の学び方 | リブセンス
おおお、意外と学び方は正しいっぽい!とポジティブな確認ができました。特にコンピューターサイエンスに関する知識(TCP/IPやHTTP)を学んでから、徐々に実践的な知識(PHPやCSS)へ進んだのはオススメの手順だったようです。
技術関連のサイトをブックマークして、最新のトレンドを学ぶ
クラスメソッド発「やってみた」系技術メディア | Developers.IO
いくつかのエンジニア系メディア・ブログをFeedlyに登録して、世の中で何が起こっているかを掴み取ろうとしました。分からないことの方が多いのですが、ちょっとだけ分かる部分に興奮している自分もいました。
いちいちエンジニア系のメディア探すの面倒だな、と思った方は、はてなブックマークとQiitaのランキングをチェックしておけばとりあえずOKです。
Githubを学ぶ→最難関
「最近のエンジニアはコード管理をGithubでやっていて、面接でGithubのプロフィール画面見せてって言われることはよくあるよ」と聞いたものの、Githubって何?状態だったので、Progateとサルでも分かるGit入門で学びました。
しかし、Gitは僕にとっては難関でした。リポジトリ、コミット、ワークツリー、インデックスなどの世界観を捉えきれずに、迷子になること多数。
結局、詳細は理解しきれずに実際にサイトの運用で使って徐々に分かってくるという次第でした。
プログラミング初心者を脱出したら、次のステップは?
ここまで勉強を進めたところで
・コンピューターサイエンスからプログラミング言語まで包括的に触れた
・自由にコードやデザインをいじって壊してもOKなブログを手に入れた
・何度か危機的なエラーを乗り越えて、自信をつけた
こんな感じになりました。ここからは、ひとりぼっちを卒業して、自分のコードや考え方にフィードバックをもらいながら成長する段階です。
Web関連の企業に就職して、現場で学ぶ
最短でWebエンジニアとして成長する方法を選びたいなら、Web関連の企業に未経験エンジニアとして就職する方法が早いです。Web業界は常に人材不足で、未経験でも雇いたいという企業はたくさんありますので、就職エージェントを利用してガンガンエントリーしましょう。
エンジニアスクールで学ぶ
もし、今の仕事を辞めないままエンジニアとしての技術をあげたければ、次はメンターがついてくれるエンジニアスクールで学びましょう。
近くに学校がなければ、TechAcademyなどのオンラインアカデミーになりますができれば直接対面できるTECH CAMP形式をオススメします。
エンジニア留学して、海外で学ぶ
これまでのキャリアを大きく変えて、世界中で働くことを考えている場合はセブ島でのエンジニア留学がオススメです。英語とプログラミングを同時に学ぶことができるので、卒業直後から海外フリーランスとしてのキャリアをスタートできます。
留学先は、エンジニア講師の質がとても高かったNexSeedがオススメです。ひとりぼっちでの学習を進めてきた方なら大枠の理解はできているので、分からなかったところや腑に落ちていない部分をどんどん質問して、謎を解いていきましょう。めちゃくちゃ快感ですよ。
エンジニア留学から1年後に振り返りの記事を作ったので、気になる方はご覧ください。
» フィリピンでのエンジニア留学から1年。やっぱり行ってみて最高に正解だった
ひとりぼっちで、プログラミングを勉強した方法のまとめ
今回の記事は以上です。重要だったポイントをもう一度まとめると、ひとりぼっちで泥臭くプログラミングを勉強する方法は下記の3つです。
・プログラミングの基礎の基礎を書籍で学ぶ
・Progateで開発環境の立ち上げなしで、勉強を始める
・自由にコードやデザインをいじれるサイト(ブログ)で練習する
初心者を脱出して、中級者への道のりとしてはこちらになります。
・Web関連の企業に就職して、現場で学ぶ
・エンジニアスクールで学ぶ
・エンジニア留学して、海外で学ぶ
プログラミングと聞くと、理系でギークな印象があるかもしれませんが、世界中の人が同じように扱えるようにきちんとルールや使い方が整備されています。初心者時代に取り組んだ勉強は、書籍代と若干のWebサービス代程度で、お金のリスクは0なので気になる方は、ぜひ挑戦してくれたら嬉しいです。