こういった疑問に答えます。
本記事の内容
- プログラミングが上手くならない理由
- プログラミング上達のためにするべき10のこと
- プログラミングで市場価値を上げるには
プログラミング、めちゃくちゃ難しくて全然上達しないですよね。
この記事を書いている私もそうでした。
物覚えが悪く、全然プログラミングが覚えられない時期が続きましたが、なんとか試行錯誤して学習し、今では開発リーダーを任されるまでに成長できました。
今回は、そんな私が実際に試して効果を実感したことを10個まとめてみました!
1つからでもいいので試してみると効果があると思います。
それではみていきましょう~
プログラミングが上手くならない理由
ざっくりですが、主な理由はこんな感じかと思います。
- 一人でがんばっている
- 勉強時間が足りていない
- 難しいことに挑戦している
昔の私がまさにそうだったんですが、上記のパターンにあてはまるとなかなか上達しないです。
順番にみていきましょう。
一人でがんばっている
独学している方はこれに当てはまるんですが、知識ゼロから一人でプログラミングを学ぶのはかなりきついです。
わからないことがあっても自分で解決しないといけないわけなので、めちゃくちゃ時間がかかります。
私も独学をしたからわかるんですが、初心者のうちはそもそもどうやって調べればいいかもわからないわけですから、かなり効率が悪いです。
また、自分がやっていることが正しいのかどうかも疑問なまま進めることになるので理解も浅くなってしまいます。
勉強時間が足りていない
プログラミングを習得するのに必要な時間は約300時間といわれています。
300時間勉強して全くスキルが身についていないというのであれば問題かもですが、そうでないなら単純に勉強時間が足りていないだけかもしれません。
ちなみにこの300時間というのはかなり個人差があるので、あくまで目安です。
難しいことに挑戦している
これもありがちです。
前提知識が足りていないのに、いきなり難易度が高いものを作ろうとしているパターンです。
システムは小さなスキルがたくさん組み合わさってできているので、ひとつひとつステップを踏んで順番に習得していく必要があります。
それを飛ばしていきなりものを作ろうとしても、おそらく「何がわからないのかわからない」状態になるかと思います。
プログラミング上達のためにするべき10のこと
それでは実際に私がプログラミングの上達のために試したことを10個紹介します。
一気に全部やる必要はないので、まずはひとつでもできるものから試してみてください。
- 勉強時間を作る
- セミナーや勉強会に参加する
- ステップを踏んで学習する
- 10分悩んだら質問する
- 先人のコードから学ぶ
- 色んな教材を試す
- 学ぶ言語を見直す
- 目的と期限を決める
- コードレビューをしてもらう
- メンターを頼る
長いのでそれぞれ簡単に説明していきますね。
勉強時間を作る
当たり前なんですが、とにかく勉強時間を確保しましょう。
- 通勤/通学中
- お昼休み
- 休み時間
まとまった時間でなくてOKです。
スキマ時間もうまく使いましょう。
いまならスマホでも勉強できる教材がたくさんあるので、こまめに勉強する習慣をつけるといいですよ。
動画コンテンツだと、ご飯を食べているときやお風呂に入っているときもインプットすることができるので、ストイックにやるならおすすめです。
勉強時間を捻出するちょっとした裏技については、勉強しないプログラマーは生き残れるのか【勉強したくない人がやるべきこと】にて紹介しているのでこちらも併せてお読みください!
セミナーや勉強会に参加する
こういったイベントに参加すると、学習できるだけではなく色んなメリットがあります。
- 最新の技術が学べる
- プログラミング仲間に出会える
- メンターになってくれる人に出会える
嬉しいことだらけですね。
人との繋がりができるのが一番のメリットかもしれません。
また、意識が高い人が集まるので単純にモチベーションのアップにもつながるのでかなりおすすめです。
ちなみに余談ですが、イベントによっては限定のグッズがもらえたりするので地味に嬉しいです。
ステップを踏んで学習する
いきなり難易度の高いものに挑戦しても挫折するのがオチなので、自分のレベルに合わせて順番にステップアップしていきましょう。
何か作りたいものがある場合は、機能ごとに細分化してあげるとわかりやすいです。
例えばショッピングサイトを作りたいなら
- 会員登録
- ログイン
- 商品検索
- カート
- 購入
それぞれの機能を1つずつ単体で作ってみるイメージですね。
それができたら最終的に組み合わせるとシステムができあがるといった感じです。
もっと掘り下げると、いきなりシステム的(動的)なものを作ろうとするのはおすすめしないです。
例えば購入機能を作っているなら、「選んだ商品が購入できる」ではなく、「固定の商品が購入できる」ところから作るべきです。
それが動いたら動的にするというステップですね。
こういった細かいところからステップに落とし込んで順番にやっていくと理解もしやすいです!
10分悩んだら質問する
10分という時間にとくに意味はないんですが、時間を決めて悩むようにしましょう。
無限に悩んでしまって気づいたら数時間たっていた、、、なんてことはザラにあるので。
質問はSNSでもQiitaでもなんでもOKです。
とにかく悩んでいる時間を減らすことを意識しましょう。
先人のコードから学ぶ
参考書やネットのサンプルコードでもなんでも大丈夫なんですが、先人が書いたコードをよく見てみましょう。
自分が知らない効率的な処理をしていたり、コメントの書き方など、たくさんの気づきがあるはずです。
すべて鵜呑みにする必要はないですが、良いと思ったところはどんどん真似するといいかと思います。
色んな教材を試す
教材によって癖があるので、自分にとってわかりやすい教材を見つけることが上達のポイントかと思います。
参考書やオンライン学習サービスはたくさんあるので、自分にあったスタイルの教材かを確認してみましょう。
学ぶ言語を見直す
もしかすると今学んでいる言語の難易度が高いかもです。
言語によってはある程度前提知識がないと難しいものもあるので、初心者でも学習しやすい言語を選ぶことが大切です。
個人的なおすすめは、WEB系ならPHP、アプリ系ならSwiftあたりです。
プログラミング言語の選び方は、【初心者向け】プログラミング言語の選び方【後悔しないための選定基準】にて紹介しています!
目的と期限を決める
ゴールがブレていると途中で何をすればいいのか迷います。
また、期限を決めないといつまでもだらだらとしてしまうので、いつまでになにを達成するのかを明確にしておきましょう。
例えば1ヶ月後にショッピングサイトを作るなら一周目に会員登録とログイン機能作成、二週目に商品検索…etc
と目標から逆算してスケジュールがたてられますね。
コードレビューをしてもらう
自分のコードを第三者に見てもらいましょう。
SNSでもメンターでもなんでも大丈夫です。
一人でやっているとどうしてもその人の癖が出てしまったり、偏ったコーディングになりがちです。
他人の目を通すことで、より効率的な書き方や間違いに気づくきっかけになるのでかなりおすすめです。
あと見られることを意識して書くようになるので自然と綺麗なコードが書けるようになります。
メンターを頼る
知り合いに教えてくれる人がいればそういったメンターに相談するのがぶっちゃけ一番効率がいいです。
独学でももちろん学習は可能ですが、どうしてもめちゃくちゃ時間がかかってしまうので…。
また、客観的な意見をもらえるので新たな気づきも得られますし、理解度もかなり深くなります。
でも「それができないから苦労してるんだよ!」という感じですよね。
そういった方は勉強会やSNSで知り合いを見つけることから始めてみるのもいいかもです。
エンジニアは結構教えたがり優しい人が多いので、Twitterとかで募集してみるのはかなりありです。
エンジニアとしての市場価値を上げるには
最後に、市場価値を上げるために意識することを紹介します。
そもそもなぜプログラミングが上達したいのかというところなんですが、市場価値を上げて収入を増やしていきたいからではないでしょうか。
であれば、「プログラミングの上達=市場価値の向上」はちょっと違うかもです。
プログラミングを目的にしない
プログラミングはあくまで手段であって目的ではないんですね。
例えば課題があったとして、それが解決できれば手段は別にプログラミングじゃなくてもいいわけです。
実際私の現場でも、システム開発の依頼が来た際に、根本的な背景から聞いていくとそもそもシステムを使わずに解決できたという事例もありました。
視野を広げ、本質的なことを見抜ける能力がある人は市場価値が上がります。
能動的に動く
提案できるエンジニアになると強いです。
言われたことをこなすだけであれば誰でもできてしまうわけですが、問題に対して自分の意見を提案できる人は多くありません。
思考を伴わない仕事の価値は年々下がってきているので、指示待ちにならず、能動的にどんどん動いて自分に付加価値をつけていきましょう。
ちょっとした裏技
なかなか上達しない原因は、学習のコツを掴めていないからです。
そんな人におすすめしたいのが、プログラミングスクールの無料体験だけ受けて、学習のコツを教えてもらうことです。
体験だけなら完全無料なので、本気で上達したいなら参加してみましょう。
無料体験を実施しているスクールは以下の記事にて紹介していますので併せてお読みください!
まとめ
今回紹介した内容
- 勉強時間を作る
- セミナーや勉強会に参加する
- ステップを踏んで学習する
- 10分悩んだら質問する
- 先人のコードから学ぶ
- 色んな教材を試す
- 学ぶ言語を見直す
- 目的と期限を決める
- コードレビューをしてもらう
- メンターを頼る
プログラミングの上達方法を書いてきましたが、プログラミングができることだけがエンジニアの価値ではないです。
プログラミングができる人って世の中にいっぱいいるので、そこの土俵で戦うよりも自分なりの付加価値を身につけるほうが最終的には強くなるのかなと思います。
とはいえ、もちろん最低限のスキルは必要ですので、今回紹介したポイントのひとつからでも今の自分に取り入れてみてください。
それでも「プログラミング無理だな…」と感じたら、【断言する】プログラミングは無理ゲーです【解決策あり】にて、今回紹介した以外のコツも紹介していますので併せてお読みください!
それでは以上です。