おすすめ 学習

【悪魔的勉強法】初学者が「サービスの個人開発」でプログラミングを習得する方法

こんにちは、文系エンジニア君です。

結局、プログラミングの勉強ってなにすればいいの・・?

今回は、上記の疑問を抱えているプログラミング初学者の方の疑問にお答えします。

私自身これからご紹介する「勉強法」を行ったおかげで、短期間でプログラミング力が圧倒的につきました。

そして、本業はインフラエンジニア(プログラミングあんましない)ですが、転職活動時にサービス開発会社から「いい勉強してるね!」と良質なアプローチを何件もうけることができました。

 

この記事ではそんな【悪魔的】な勉強方法をお伝えします。

 

この勉強方法をやり切れば「未経験」「初学者」の方でもスクールに通わず、"強いエンジニア"としてキャリアを進めることができるはずです。

 

よくあるプログラミング勉強の落とし穴

まず、現役エンジニアの私が見て思う、よくあるプログラミング勉強の落とし穴をご紹介します。

しかし業界未経験/初学者の方は、「現場のレベル感」がわからないので落とし穴にハマって当然だと思います。

下記にあてはまった方は後にお伝えする「悪魔的勉強法」を参考に、自身の勉強法を見直してみるといいかもしれません。

 

実践力を身につける前に満足してしまう

特に下記2点のパターンが多いようです。

ダメな満足パターン

①Progateをやりこんで満足する
②資格を取って満足する

それぞれのパターンを解説します。

 

Progateをやりこんで満足する

Progateをやりこんで、満足してしまう人が多いです。

Progateで得る知識/経験はもちろん超大事です。
皆この道を通ってプログラミングを上達させていくのです。

私がお伝えしたいのは、Progateをやりきって「満足」してはだめ。ということです。
Progateで得られるのは、あくまで「前提知識」だからです。

残酷な事実ですが、Progateをマスターしたレベルでは「プログラミングができる」とは言えないのです。

 

私は決してProgateを批判しているわけではありません。

とても使いやすく、前提知識を学ぶのにこんな良いサービスはないと思います。

なんなら後述する「悪魔的勉強法」でProgateを使います。

要するに、

Progateで得られるのは前提知識。
前提知識だけでは「プログラミングができる」とは言えないということです。

 

 

資格を取って満足する

資格を取って満足してしまう方も多いです。

もちろん資格は大事です。

持っているに越したことはないです。

ただ、「資格持っている=プログラミングができる」ではありません。

 

例えば、野球を上達したいとします。

知識本を読むだけでは上達しませんよね。

知識本を読んだ”上”で実践を繰り返し、「体に動きを染み込ませる」が上達の近道だと思います。

 

プログラミングも全く同じです。

参考書を読むだけでは、圧倒的に力不足です。

実際にプログラミングを繰り返し、「頭の使い方を脳に染み込ませる」のが上達の近道なのです。

 

要するに、プログラミングを習得するには、机上で資格勉強するより、嫌になるくらい実際にプログラミングをするのが効率的ということです。

 

続かない

プログラミングの勉強が続かない方は本当に多いです。

王道の理由は下記2つですね。

続かない理由

・理解するまでが難しいから
・プログラミングできるようになるための道筋(ゴール)を知らないから

それぞれの理由を解説します。

 

理由1 「プログラミングできる」までが大変だから

「プログラミングできるまで」が大変です。

下記図がプログラミングができるようになるまでの簡単な流れです。

上記図の「論理的に分かる」→「実際にコーディングできる」が難しいのです。

先述したように、この部分は実践を重ねなけらばならないのです。

ところが、独学で「実践を重ねる」にはある程度コツが入ります。

なりふり構わずプログラミングをしていると、「あー大変だ・・向いてないな自分には・・」とプログラミングを投げ出してしまいます。

 

 

理由2 明確なゴールを設定していないから

明確なゴールを設定しないでプログラミング学習を始めてしまうと、これまたつまづきやすいです。

例え話をします。

あなたは英語の勉強をするとします。

まずゴールを定めるとしたら、下記のどちらが勉強を進めやすいでしょうか?

ゴール設定の差

①英語ができるようになる!
②6ヶ月後のTOICEで800点を超す!

②ですよね。

 

プログラミングも全く同じです。

勉強を始めた時の思いである「プログラミングできるようになる!」をそのまま目標にしたら、何をすればいいか曖昧で続かないのです。

勉強を続けるには、目標をもっと「具体的な物」に置き換える必要があるのです。

 

 

サービスの個人開発を通じたプログラミング勉強法

いよいよ本題に入ります。
概要、詳細な手順を紹介します。

 

悪魔的勉強法の概要

この悪魔的勉強法の概要は、一言で言うと下記の通りです。

悪魔的勉強法概要

自ら新サービスを考案し、要件定義からローンチまでの一連を自身で行う

ハードル高くない・・?

 

そう思った方々、安心してください。

ちゃんと未経験者/初学者が続けられるような仕組みを敷いています。

(「楽」ではありませんが。)

 

この悪魔的勉強法は、先述した「よくあるプログラミング勉強の落とし穴」にはまらないように、徹底的に工夫を凝らしています。

よくある落とし穴まとめ

・プログラミングする上での前提知識習得で満足してしまう
・どうすれば自力で実践を積めるかわからない
・「理解している→実際にプログラミングできる」の壁が高く続かない
・明確なゴールが設定できず続かない

 

それでは、具体的な手順をお伝えしていきます。

 

手順1 要件定義

まずは要件定義からです。

世にない新サービスを考案するのです。

そして、そのサービスを世に出すことをプログラミング勉強の「ゴール」とするのです。

 

しかし、難しく考えないでください。

ただひたすら、日常生活で不便だなと感じたことをメモしてください。

そのメモを見て、「システム(ITサービス)で解決できないかな?」と考えるのです。

そこに専門的な知識はいらないはずです。

 

毎日毎日メモを見て考えてください。

「不便」を意識して毎日を過ごしていると、意外とすぐにアイデアが浮かぶのです。

アイデアが浮かんだら、次は「設計書作成」です。

 

手順2 設計書作成(軽くで良い)

これも難しく考えないでください。

あなたのアイデアをExcelやスプレッドシートに落とし込むだけです。

下記は実際に私が作成した設計書の一部です。

 

このように、必要なページを洗い出して、ページごとの説明を書いていくのです。

意見すると難しく見えるかもしれませんが、そんなことありません。

既存のサービスをめっちゃ参考にしてください。

そうすると、簡単に作成できます。

既存のサービスは世の中に唸るほどあります。

それらのサービスを参考にすると、意外と簡単に作成できます。

 

一点注意があります。

そこまで完璧に作らなくて良いです。

なぜなら、高確率でプログラミング段階で「手戻り」が発生するからです。

設計時にどんなに細かに決めても、やはり人間ですので考慮の漏れが結構発生します。

なので、どうせ手戻りするから、設計書はまあまあの完成度で良いということです。

 

手順3 体系的学習

次は使用する言語の体系的学習です。

このフェーズでの目標は、「なんとなく人がやってるの見ながらサービスを真似して作れる」です。

(ちなみに使用する言語はググって決めておいてください。例えばWEBサービスを作りたいなら、「webサービス 作成 おすすめ言語」のようにググって、言語を決めましょう。)

言語が決まったら、まず体系的学習をして、前提知識をつけるのです。

この体系的学習をせずにいきなり、設計書を元にプログラミングをすると高確率でくじけます。(私もその経験しました。)

流石に、無知識でサービスを作るのには無理があります。

 

体系的学習は下記ツールを用いて行いましょう。

オススメツール

①Progate
②Udemy
③YouTube
④良書

それぞれのツールを解説していきます。

 

Progate

前提知識を学ぶにはかなり効率的なサービスです。

Progateに使用する言語がある場合、まずProgateをやりましょう。

しつこいようですが、Progateで学べるのは前提知識です。

この前提知識は理解しておいてください。
そこまで難しいものではないので。

 

Udemy


動画教材を視聴できるサービスです。
これめっちゃおすすめです。

現場のプロのエンジニアと一緒にサービスを作ることができます。
さらには、本人に直接質問できたりもします。

ちなみに私は、下記動画を用いて体系的学習を完了させました。

【iOS14対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

とにかく、「初心者向けに」解説してくれる講師の方を見つけて、とことん学んでください。

ただ、Udemyで動画を一周しても満足はしないでください。

あなたのゴールは「新サービスのローンチ」だからです。

 

Youtube

YouTubeも実は結構使えます。

Udemyに「丁寧さ」は劣りますが、動画でプログラミングを教えてくれる方は多いです。

「サービスを一から開発」のような動画を挙げている方と一緒に、開発してみるのもいいと思います。

 

良書

その言語の「良書」と言われている参考書で体系的に学ぶのも良いかと思います。

ただ、動画に比べるとややわかりづらいので、少しハードルが高いかと思います。

ですので、動画で学んだことを復讐する辞書代わりに、良書を使うのが良いかもしれません。

 

手順4 プログラミング

体系的学習が終わったら、いよいよプログラミングです。

設計書をコードに起こしていきましょう。

ただ、すんなりできることはないでしょう。

体系的学習を行った後でも、

ん?この機能コードでどう書けばいいんだ?

この疑問は絶えずやってきます。

ただ、体系的学習を行っていれば、調べまくって、実践しまくれば解決できるはずです。

もし、それでも解決できなければ、下記サービスで質問してみてください。
結構すぐ答えが返ってきます。

このフェーズで「つまづく→調べる→試す」のサイクルを何度も何度も繰り返し、実践力を積んでいくのです。

明確なゴール(サービスをローンチ)があるので、つまづいても立ち上がりやすいのです。

このフェーズをやりきったら、最初と比較したら格段に「プログラミングができる」ようになっているはずです。

 

手順5 テスト

いよいよテストフェーズです。

いろいろなパターンをもれなく想定して、バグを潰して行ってください。

プログラミングを乗り越えたあなたには、そこまで難易度は高くないはずです。

詳しいやり方は、「プログラミング テスト」のようにググってみてください。

 

手順6 ローンチ

お疲れ様でした。

ローンチ後はマーケティングを頑張って、そのサービスを伸ばすのもいいですし、
次のサービスの構想をするのもいいでしょう。

ここまでやり切ったら普通に勉強しては得られないほどの「実践力」が身についているでしょう。

 

 

【おまけ】プログラミングスクールに通うのも全然あり

プログラミングスクールは手っ取り早い

プログラミングスクールに通うのは、一番手っ取り早い方法かもしれません。

私がお伝えした勉強法は自力で「実践を積む」ために工夫を凝らした物です。

ただ、お金に余裕がある方、未来の自分に投資をしても良いと思う方は、スクールに通うのも全然ありです。

プログラミングスクールでは、すでに実践的なプログラミング経験を積める環境が整っています。

私の友人は、プログラミングスクールで実践経験を積み、「営業→エンジニア」に転身しました。

安くはないお金を払う分、自分を追い込んで力を出せたそうです。

 

 

最後に

以上、個人サービス開発を通じて、プログラミングを勉強する【悪魔的勉強法】でした。

是非参考にして、プログラミングを習得してください。

 

 

 

 

-おすすめ, 学習

© 2022 文系エンジニア君 Powered by AFFINGER5