#0.はじめに
Progateなどのおかげでプログラミングのハードルがとても下がりましたね!
一方で、Progateから先に進めない、モチベーションがうまく続かない人も多いと思います。
駆け出しエンジニア/初心者プログラマーの筆者が、プログラミング学習の上達やモチベーション維持のために、実際にやってみてよかったこと、教えてもらったことをまとめます。
#1.問題解決編
##英語で検索する&英語で質問する
日本語でググってもググっても出てこない場合は、英語でググりましょう。情報ソースが倍になります。プログラマーのためのググる技術では、英語でぐぐる技術を紹介していますので、英語が苦手な人もご安心を。
さらに、どうしても検索しても出てこない場合は、stackoverflowなど、英語のプログラミング技術に関するナレッジコミュニティで英語で質問してみることも非常に有効です。Microsoftなど公式なサポートを行っているところもあります。夜に頑張ってどうしてもダメだった場合、投稿して目覚めると地球の裏側から回答がきていたり、なんてこともあります。
##コードで検索する
GitHubのコード検索 : プログラマにとっての宝の山で紹介されていますが、うまくいかないときはコードでググることも有効です。
Githubには良質なコードが沢山アップされているので、プログラミングに詰まった際は、コードで検索してみましょう。上手な書き方も学べますよ。
##Chromeでのデベロッパーツールを学ぶ
初心者プログラマーが意外と勉強していないのが、デバッグの仕方やデバッグツールの使い方です。Web開発でよく使う、特に使えるChromeデベロッパー・ツールの機能などを参考にすると、バグを見つけるスピードが向上します。
##メンターをつける
検索の仕方がわからない、デバッグの仕方もわからない、そんな人はお金はかかりますが、メンターをつけるほうが近道かも知れません。たとえば、MENTAでは、メンターとなってくれる現役のエンジニアの方がたくさんいます。
##本を買う
WEBで検索するとなんでも出てくる時代ですが、ある程度勉強が進んだら本屋さんに行ってみてください。本は体系立てられてまとめられているので、紙の本を開いて、自分の学んだことを俯瞰することも振り返りやスキルチェックとして有効です。
##Udemy動画で学ぶ
本での学習があわない人は動画学習がおすすめです。例えばUdemyでは、良質なプログラミングの講座がセール中であれば1200円で購入することが可能です。
#2.モチベーション維持&スキルアップ編
##Twitterで学びを記録する、仲間とつながる
何事も仲間がいるとモチベーション続きます。ハッシュタグ#100dayofcodeや#プログラミング初心者と繋がりたいなど で検索&投稿することで、世界中のプログラミング仲間を作ることができます。
##もくもく会に参加する、ハッカソンに参加する
人と合うことがモチベーションにつながる場合は、IT系の勉強会に参加しましょう。Techplayで検索すると毎日のようになにか勉強会が開催されています。
また、ハッカソンはの参加はたくさんの学びがあるのでぜひおすすめです。
- 短い期間でプロダクトを作りあげることができ楽しく達成感がある
- チームメンバーと自分のスキルとのギャップを知ることができる
- チームでの開発を経験できる
- APIパートナーなど、企業が親切にサポートしてくれる
プログラミング初心者も、画像集めや企画のアイディア出しなど、プロジェクトマネジメント、発表資料作成など、得意分野を活かせばチームに貢献できます。
##Qiitaに学びを投稿する
教えること、書くことは記憶の定着や学びの整理に非常に有効です。学びをQiitaに記事を投稿することで、人に説明できるレベルまで到達したことを確認しましょう。
参考: エンジニアは全員技術記事を書くことを習慣化した方がいいぞ
##ゲームを作る
ゲームはプログラミングの基礎やアルゴリズムを楽しく学ぶ非常に有効な手段です。
ある程度のことを学んだらゲームづくりに挑戦しましょう。
◯☓ゲーム、オセロ、テトリス、ブロック崩し、マインスイーパーなど、簡単なものから挑戦することがおすすめです。
##Paizaでスキルチェックをする
Paiza(パイザ)のプログラミングスキルチェックは、 コードを書いて書類選考なしで面接可能な求人がわかる、 IT/Webエンジニア、プログラマのための転職サービスです。
プログラミングスキルチェックを受けることで、「自分のスキルが他社で通用するのか」を判定してくれます。ある程度プログラミングの学習が進んだら、やってみると面白いです。
対応言語も Java、PHP、Ruby、Python2、Python3、Perl、C、C++、C#、JavaScript、Objective-C、Scala、Go、Swift と幅広く対応しています。
##アプリを作ってみる!
どんなに簡単でもアプリを作ってみると、フィードバックをもらうことができます。DaiさんのDAINOTEなど、簡単にアプリを作れるチュートリアルを公開しているので、まずは小さなオリジナルアプリから作ってみるとモチベーションが高まります!
##オンラインサロンに入会する
※後日公開