学習

[2022年版]実体験をもとに独学でプログラミング学習するためのロードマップを紹介

cardene

こんにちは!実務でPython、Djangoを使って、機械学習やWebアプリケーションの開発をしているかるでねです!

今回は「独学でプログラミング学習するロードマップ」について紹介していきます。

独学でプログラミング学習したいけど何すれば良いかわからない...

独学でプログラミング学習してるけど、このやり方でいいのかな?

独学でエンジニアなるに何したら良い?

あなたはこんな悩みを抱えていませんか?

この記事を読むことで、「独学でプログラミング学習する手順」がわかり、エンジニアになるにはかなにをすればよいかまでわかります。

前置きは早々に早速ロードマップを見ていきましょう!

ロードマップ全体

まずは独学でプログラミング学習するロードマップの全体を見ていきましょう。

ロードマップ

  • 下調べ
  • 動画でインプット
  • 書籍でインプット
  • 基礎アウトプット
  • 応用アウトプット

この5ステップが全体の構成です。

1つ1つ丁寧に確認していくので少し長くなってしまいますが、ぜひエンジニアを目指している方や独学でプログラミング学習しようとしている方、学習中の方の参考になれば幸いです。

下調べ

いきなり何の下調べするの?

すぐにプログラミング学習した方がいいんじゃない?

こんな声が聞こえてきそうですが、この部分が一番重要です。

ただしこの段階に時間をかける必要はありません。

1日ほどで調べ終わりますが、今後自分が進むべき道が定まるので、ぜひスキップせずやってみてください。

(もちろん現在プログラミング学習中の人にも役立つことです。)

では見ていきましょう。

エンジニアの種類を知る

エンジニアと一口に言ってもさまざまな種類があります。

フロントエンドエンジニア」、「バックエンドエンジニア」、「インフラエンジニア」、「機械学習エンジニア」、「データサイエンティスト」、「iOSエンジニア」…

パッと思いつくものだけを書いてもこれだけあります。

このことについて調べると、「自分がやりたいこと」、「自分が辿るべき道」が明確になってきます。

例えば「機械学習エンジニア」を目指しているのに、スマホアプリの学習やデザインの学習をしてしまうとだいぶ遠回りになってしまいます。

自分が目指す未来へ最短で辿り着くために、しっかり調べましょう。

言語を選ぶ

前章のエンジニアの種類を知るで「自分がやりたいこと」、「自分が辿るべき道」が明確になりました。

次にするべきことは「プログラミング言語」を決めることです。

普通の言語を学ぶ際、

どの言語でもいいからとにかく日本語以外を学びたい!

なんてことをする人はほとんどいません。

プログラミングでも同様で、

自分がやりたいことを実現できる

プログラミング言語を選ぶべきです。

そのためにはプログラミング言語ごとの特徴などを調べて、1番自分が学んでみたいというが言語を1つに絞りましょう。

計画を立てる

前章までで、「自分がやりたいこと」と「学習するプログラミング言語」が決まりました。

最後にすることは「学習計画を立てる」ということです。

計画立ててる間に学習した方が良くない?

計画立てるのめんどくさい…

という声が聞こえてきますが、重要なことなので飛ばさず読んでください。

まずは計画を立てる理由から説明していきましょう。

計画を立てる理由はシンプルで、

ダラダラ学習を避ける

ためです。

独学だと特に初めのうちは一緒に学習する仲間もいなければ、課題などもありません。

そのため、ダラダラと学習してしまい、ほとんど進まず1年が経って挫折。

こんなことが起こりやすいです。

これを避けるために、「いついつまでにここまで終わらす!」という計画を立てる必要があるのです。(もちろん計画を立ててもできない人はできないです。)

ではその計画はどのように立てれば良いのか?

計画と聞くと細かく細かく決める必要がありそうですが、今回の場合はざっくりで大丈夫です。

例えば書籍を使用しているなら、

第1章から第5章までを今日で終わらして、残りの章は明日で終わらす

などです。

できれば1ヶ月から数ヶ月先まで計画を立てられると良いですね。

1ヶ月目はインプットメインで進め、2ヶ月目からはアウトプットメインで進めるなど、外枠を決めてから詳細を決めていくのもありです。

改めて、ここで大事なのは「ダラダラ学習を避ける」ことなので、細かく決めすぎないでください。(あまり細かく決めすぎると、ほぼ計画通りに進まず挫折するきっかけになります。)

まとめ

では「下調べ」ついて簡単にまとめていきましょう。

下調べ

  • エンジニアの種類をしる。
    • エンジニアの種類を知り、「自分がやりたいこと」を実現できるものを選択する。
  • 言語を選ぶ
  • プログラミング言語ごとの特徴をしり、「自分がやりたいこと」に合った言語を選ぶ。
  • 計画を立てる。
    • 学習計画を立てて挫折を防止。

下調べができたらたら次章から早速学習の手順を見ていきましょう。

動画でインプット

ではこの章から早速プログラミング学習の手順を紹介していきましょう。

まずは「動画でインプット」です。

動画以外のインプット方法として主流なのは書籍です。

この章では、「動画でインプットするメリット」を最初で紹介して、「おすすめの動画学習プラットフォーム」、「学習方法」に関して書いていきます。

動画でインプットするメリット

まずは動画でインプットするメリットについて見ていきましょう。

メリット

  • 理解しやすい。
  • どこでも学習できる。
  • 価格が安い。

上記の3つが上がりますね。

今回は書籍と比較しながらメリットを解説していきます。

1つ1つ確認していきましょう。

理解しやすい

書籍は文字が細かいために苦手に感じる人が多いです。

一方動画は人が話してくれるので細かい字を読まないですみ、わかりやすい説明を聞くことができます。

そして何より動きを確認できるのが最大のメリットです。

書籍だといくら画像を添付しても細切れのため、流れを確認することができません。

初学者にとって流れを確認できるメリットは大きく、比較的詰まらず進めることができます。

このように動画は初学者に寄り添った学習教材なので、使わないともったいないです。

(動画は基礎や大まかな理解のために使用し、書籍はより専門的な部分の理解のために使うのがおすすめです。)

どこでも学習できる

動画だとどこでも学習ができます。

イヤホンさえあれば、隙間時間に気軽に学習できるので捗ります。

さらに言えば持ち運びが便利なので、外に持ち歩くハードルが下がります。

書籍だと小説でも若干邪魔に感じるほどなのに、技術本だとサイズが大きいのでより邪魔に感じます。

一方動画はスマホさえあればどこにでも大量の教材を持ち運べます。

移動時間や隙間時間を有効的に使うためにも動画学習はおすすめです。

価格が安い

動画教材は書籍と比べて価格が安いです。

技術本は安くても3000円、高いと5000円を超えてきます。

それに比べて動画教材は1000円台がほとんどです。

比べると圧倒的に動画教材の方が購入しやすいですよね。

安い分質が落ちるんじゃない?

と疑う人がいるとおもいます。

今まで50個以上の動画教材を購入し、30冊以上書籍を購入したしてきた筆者からすると、動画教材の質はめちゃくちゃ高いです。

そもそも動画教材と書籍では立ち位置が異なるので、どっちが優秀というものではないと考えています。

おすすめ動画学習プラットフォーム

ではこの章で、おすすめの動画学習プラットフォームを紹介していきます。

Udemy

プログラミング学習したことある人ならほとんどが知ってるほど有名です。

実際に現場で働いているエンジニアが個人で学習教材を販売しているプラットフォームです。

教えるプロではなく、個人が作成したものだとクオリティが低かったり、わかりにくかったりするんじゃない?

こんな疑問を持つ人がいると思います。

今までUdemyで50以上の講座を購入してきた筆者の意見としては、「全く問題ない。むしろわかりやすい。」です。

もちろん中には説明下手な人もいますが、それでも全然理解できるレベルです。

Udemyについては以下の記事でより詳しくまとめているので、興味がある方はぜひ読んでみてください!

ドットインストール

こちらも有名ですね。

月額1000円程度で幅広く学ぶことができます。

実際に成果物を作る講座もあるので、何か作る体験をすることができるのも魅力ですね。

YouTube

誰しもが知っているYouTubeでもプログラミング学習することができます。

もちろん無料で学べる上に、教材の質がめちゃくちゃ良いです。

これが無料?

レベルでわかりやすく、詳しく解説してくれているので、使わない手はないです。

最近ではYouTubeの自動翻訳の精度も上がってきているので、英語の動画も気軽にみれます。(当たり前ですが、英語の動画の方が質が高く、量も多いです。)

PAIZA

実際の声優さんが講座を開設しながら進めてくれるので、楽しく学習できる教材です。

こちらも幅広くプログラミングについて学ぶことができます。

また、動画を見終わった後に実際に手を動かして学んだことをアウトプットできるのも魅力です。

インプット直後にアウトプットすることで理解が深まり、学んだことが定着します。

他にも「スキルチェック」という、問題を出されそれをプログラミングで解答するというものもあります。

他にも検定や転職サービスなども行っているので、後々の自分の役に立ちます。

Progate

動画ではないですがあまりにも有名なので紹介します。

スライド形式で講義が行われ、スライドを確認した後学んだことを実際にアウトプットできます。

手順が表示されるので、その手順に沿って学んだものをつかっていきます。

また、レベルというものがあり、これは学習が完了するごとに経験値がもらえ、一定経験値が貯まるとレベルアップします。

この機能は学習モチベーションにつながります。

ぜひ1度使ってみてください。

その他

他にもプログラミングを学べる動画教材はたくさんあります。

とりあえずは上記で十分ですが、気になる方は他の動画教材を調べてみてください。

学習方法

最後に動画教材を使って学習する方法について紹介していきます。

え?ただ見るだけじゃダメなの?

このように思う方もいると思いますが、見るだけではダメです。

学習方法の一覧は以下にになります。

学習方法

  • 手を動かす。
  • メモするな。
  • わからなくても次に進む。
  • 流し見しない。

では早速学習方法についてみていきましょう。

手を動かす

必ず手を動かしましょう。

動画を見ているだけでは内容が頭に入りません。

せっかく動画を見ているなら、動画に沿って手元でも同じことをして確認しましょう。

手元で動かすと必ず何かしらのエラーがおきます。

そのエラーを解決するのも良い学習になるので逃げずに挑戦してください。

必ず手を動かす!

これを忘れないようにしてください。

メモするな

これは初学者にありがちですが、いちいち動画を止めてメモしてはいけないです。

メモすると後から確認できて良くない?

と考える人がいると思いますが、全く不要です。(筆者自身はじめの頃やってましたが無意味でした。)

まずメモしたことはググっても出てきます。

そしてググり力(検索力)はエンジニアに必須のスキルです。

わからないことがある」、「忘れてしまった部分がある」こんな時は即ググってください。

テストでは教科書をみたり検索したりできないですが、普段はカンニングし放題です。

それなのにわざわざメモするのは無駄以外の何者でもありません。

ただ、エラーに関しては解決方法などもメモしておくのはおすすめです。

基礎部分はメモしても無駄

このことをしっかり頭に入れておきましょう。

わからなくても次に進む

これは書籍で学習する際にも言えますが、わからなくてもとにかく進んでください。

最初はわからなくても後の方で理解できるパターンはよくあります。

基礎部分を初めから1つ1つ理解する必要はなく、徐々に理解できれば十分です。

基礎部分はもにかく「知る」ということに重きを置いてください。

知る」と「知らない」では雲泥の差があります。

知ってさえいれば、何かしらのきっかけで思い出したり理解につながることがあります。

流し見しない

動画だとついついスマホを触ったり、他のことをしながら見てしまいます。

これは良くありません。

他のことをしながら理解できるほど簡単ではないですし、まず頭に入りにくくなります。

本気で勉強したい方がこの記事を読んでいると思うので、「流し見しない」ことを忘れないでください。(僕自身たまにやってしまうので反省します…。)

「動画でインプットする」についてのまとめ

この章では「動画でインプットする」ということについて、「動画のメリット」や「おすすめの動画学習プラットフォーム」について紹介してきました。

ぜひまずは動画教材を使って学んでください。

書籍でインプット

前章では動画教材を使ってインプットすることについて紹介しました。

動画教材は基礎部分のインプットに最適ですが、より細かい部分や専門的な部分を知るために書籍は欠かせません。

この章も前章と同じように「書籍のメリット」、「おすすめ書籍」、「学習方法」の順に紹介していきます。

書籍のメリット

書籍のメリットとしては以下が挙げられます。

ポイント

  • より詳しく学べる。
  • 試し読みができる。
  • 電子版もある。
  • 安く買える。

は1つ1つ見ていきます。

より詳しく学べる

書籍は動画と比較してより詳しいことが書かれています。

そしてより専門的なことを学べます。

動画教材は比較的初心者向けのものが多いです。

応用的な部分や専門的な部分を学びたかったり、知見を得たい場合には書籍が役立ちます。

ググってもほとんど記事がないような情報も書籍にまとめられていることもあるので、実務で新しいことに取り組むときや、応用的な分野にと取り組む際に特に役立ちます。

試し読みができる

書籍は購入前に試し読みできる点が強みです。

動画だと一部は試し見できますが、中身全てを見ることはできません。

一方書籍は本屋に行けば中身を全て確認できます。

中身を確認できると何が良いかというと、「自分が学びやすい書籍か?」、「自分が求めている書籍か?」を確認できる点です。

プログラミング関連の書籍は安くても3000円ほどします。

もし購入した後に自分が求めていたものと違った場合を考えるとなかなか手が出しづらいです。

しかし、中身が確認できるだけでその点に対応できるのは強みです。

電子版もある

書籍は基本紙の本ですが、一部Kindleなどの電子版に対応しているものもあります。

電子版だと何が良いかというと、「持ち運びが便利」、「メモできる」点が特に便利です。

書籍は1冊持つだけで邪魔に感じますが、電子版の書籍を購入することで、スマホなどの端末があれば何冊でも持ち歩けます。

隙間時間などにも軽く読むことができ、インプットが捗ること間違いなしです。

また、メモを残したり、付箋をつけることができます。読んでる際に思いついかこと、現状の理解などを簡単にメモできるのは本当に便利です。

付箋も残せるので、気になるページは付箋を貼って後から確認できるようにして置けると活用の幅が広がります。

安く買える

安く買えるというのは「中古」で買うことができるということです。

お金に余裕がある人は新品を買って学習しても良いですが、そこまでお金に余裕がない人はメルカリなどのフリマアプリを覗いてみてください。

高確率で自分が求めている本が売られています。

新品にこだわる気持ちもわかりますが、できるだけコストを抑えたい人はその気持ちを捨てて中古で購入してください。

おすすめ書籍

この章ではおすすめの書籍を紹介していきます。

ピンポイントで「これ!」と紹介すると言語にも偏りが出るので、「〇〇シリーズ」としてら紹介していきます。

O'Reillyシリーズ

オライリーシリーズは基礎的な部分から応用部分までしっかり説明してくれている書籍で、これ一冊あればとりあえず大丈夫と言えるほど中身が充実しています。

ただ活字が細かいので、読みづらく感じる人や、情報量の多さに圧倒される方もいると思います。

確かな力が身につくシリーズ

フルカラーで初学者にとって読みやすい本になっています。

図やコードも豊富に記載されているため、理解しやすい。

スッキリわかるシリーズ

基礎をしっかり把握できる本です。

こちらも図が豊富にあり、理解の手助けとなります。

ボリュームがしっかりあり、学びたい言語の基礎力をしっかりつけることができます。

まとめ

他にもおすすめの書籍はありますが、初学者はひとまず上記から選んで問題ないです。

以下の記事でもおすすめ書籍をまとめてあります。

学習方法

では最後に学習方法を見ていきましょう。

学習方法の一覧は以下になります。

学習方法

  • 手を動かす。
  • メモは書籍に。
  • ノートにまとめない。

手を動かす

書籍も動画と同じで手を動かすことが大事です。

読んで満足」はしないようにしっかり手を動かしていきましょう。

書籍に書かれているコードを一通り実践するだけでも、その言語の扱い方がなんとなくわかってきます。

メモは書籍に

書籍を読み進める中でメモしたいタイミングが出てきます。

そのメモはぜひ書籍に直接書き込んでください。

書籍に直接書き込むことで、後から読み返したときに併せて確認できます。

よく「本は綺麗に使いたい」や「後で売るために綺麗に扱う」なんて人がいますが、プログラミングを習得したいならそんな考え捨ててください。

いかに効率よく学ぶか」を考えてください。

ノートにまとめない

よくプログラミングの本を読んで、それをノートにまとめようとする人がいます。

ハッキリ言って「意味がない」です。

なぜ現役エンジニアの方がわかりやすいようにまとめたものを、初学者がまとめ直すのでしょうか?

もちろん自分が理解しやすいようにすることは大事ですが、プログラミングに関しては例外です。

そのノートにまとめてる時間は学習を進める時間に使ってください。

「書籍でインプットする」についてのまとめ

この章では「書籍でインプットする」ということについて、「書籍のメリット」や「おすすめ書籍」について紹介してきました。

ぜひ動画で学習した後は、書籍を使って学んでください。

基礎のアウトプット

ここまで動画と書籍を使用してインプットしてきました。

では次にすることはなんでしょうか?

答えは「アウトプット」です。

いくらインプットしてもアウトプットしないと身につきません。

プログラミングは暗記するものではなく、自分の中にスキルとして身につける必要があるので、積極的にアウトプットしていきましょう!

しかし「どのように」、「何を」アウトプットしたら良いかわからない人がいるのも分かっています。(過去の僕自身がそうでした。)

この記事ではそんな人に向けて、「アウトプットするメリット」、「アウトプットの手順」、「おすすめアウトプット(基礎)」の順に解説していきます。

アウトプットするメリット

改めてアウトプットするメリットを確認していきましょう。

以下の3つが主なメリットとなります。

ポイント

  • 学んだことを使えるようになる。
  • 成功体験を得られる。
  • エラーと友達になれる。

では1つ1つ確認していきましょう。

学んだことを使えるようになる

この章の最初で述べようにいくらインプットしても、それを使わないと身につきません。

そしてアウトプットしてみると、最初の頃は全く手が動かせません。

その理由としては、「個々をインプットしたが、それらを組み合わせて使うことに慣れていないから」です。

個々の組み合わせ」でプログラムが完成し、アウトプットすることで段々とできるようになります。

ここまでできると基礎部分のインプットが完了したといえます。

プログラミングでは基礎部分を全て頭に入れる必要はありません。

知っているだけで十分です。

こんなものがある」ということを認識していれば、ググったらしながら使うことができます。

用は「使い方」を知っていれば良いのです。

使い方」を知っていれば、「組み合わせ」の際

どこにどう使うか」がわかります。

例えば「if文」というものを知っていれば、分岐を行いたい部分に組み込めます。

細かい使い方はググれば問題なしです。

ぜひ忘れないようにしてください。

成功体験を得られる

アウトプットすることで「何かを作れた!」という成功体験を得ることができます。

この成功体験は貴重で、今後の学習継続や成長に大きく関わってきます。

どんどんアウトプットして、成功体験を蓄積していきましょう!

エラーと友達になれる

アウトプットすると頻繁にエラーと遭遇します。

最初のうちはエラーを敵対視してしまいがちですが、実際エラーは悪者ではないです。

なぜならどこがおかしいかちゃんと教えてくれるからです。

初学者はよく、エラーが起きたらエラー文を読まずとりあえず質問したり、すぐ投げ出します。

そういうエラーに限ってエラー分見れば解決するなんてこともあります。

エラーが起きたら、まずはエラー文の最終行あたりを確認してググってみてください。

そのエラーの解決策が出てくるはずです。

エラーが起きるのは自分のミスなのに、それを教えてくれるエラーを敵対視するのは今日でやめましょう!

今日からはエラーは友達です。

アウトプットの手順

ここまで「アウトプットのメリット」について確認してきました。

では次に「アウトプットの手順」を確認していきましょう。

手順としては以下のようになります。

アウトプットの手順

  • アウトプットするものを決める。
  • コメントで必要な要素を書き出す。
  • ググりながらコードを書く。

最初と最後はあたりまえのことなので、真ん中について重点的に解説していきます。

アウトプットするものを決める

当たり前のことですが、まずはアウトプットするものを決めましょう。

なんとなく作ってみたいものや、ググってみて出てきたものでもよいです。

ただ、できる限りほかの技術を使わないものにしてください。(LINEやSlackなど)

使用しているプログラミング言語内で実装できるものが望ましいです。

コメントで必要な要素を書き出す

この部分が一番重要です。

白紙の状態でいきなりコードを書き始めるのではなく、まずは全体の構成を作ってからの方が良いです。

その理由としては、「何をすれば良いか明確になる」からです。

とりあえずコードを書く」だと、後から必要なものが出てきたり、次に何をするかわからなくなることがあります。

しかし、あらかじめ必要な要素を順番に書き出すと、その部分を埋めていきスムーズに作成できます。

その際「コメント(プログラムとして読み込まれないもの)」することで、どこに何が必要かが明確になります。

ぜひ、いきなりコードを書くのではなく、コメントで要素を書き出してみてください。

例、

# 「ジャンケン」するための人を用意

...

# それぞれの出し手をランダムに生成

...

# 勝敗結果

...

ググりながらコードを書く

要素を書き出すことができたら、ここでようやくコードを書き始めましょう。

必要な要素は書き出してあるので、上から順に実装していきます。

ここでポイントが2つあります。

1つ目が「わからなければググる」です。

プログラミングは暗記するものではないので、わからない部分があればすぐにググってください。

使っていくうちにだんだんと覚えていきます。

2つ目が「できる限り学んだことを使う」です。

Pythonで例えると、関数やクラスを使わなくても基礎のアウトプットはできてしまいます。

しかし、あえてそこは関数やクラスを使用してアウトプットしてみてください。

楽するのは簡単ですが、それは自分のためになりません。

できる限り自分に負荷をかけていきましょう。(筋トレなどと一緒です。)

また、実装していく中で必要な要素が出てきた時は、適切な場所にコメントして、現在実装している部分が終わったら取り掛かってください。

構成に大きな変更が必要な場合は、別ファイルに改めて要素を書き出してみるのもありです。

おすすめアウトプット(基礎)

ここまで「アウトプットのメリット」と「アウトプットの手順」を確認してきました。

最後に「おすすめの基礎アウトプット」を紹介して、この章を終えようと思います。

ここで取り上げるものを基礎のアウトプットにしていただけると嬉しいです。

こちらがおすすめするアウトプットの一覧です。

アウトプット一覧

  • オセロ
  • ハングマン
  • ジャンケン
  • ブラックジャック

ハングマン」以外は知っているものばかりだと思います。

では簡単に1つ1つ紹介していきましょう。

オセロ

言わずと知れたボードゲームです。

JavaScriptなど見た目を作れる言語ならともかく、Pythonや Javaなどの言語では標準出力で確認するしかありません。(Pytohnであればprint()

その部分の実装を手こずるのでだいぶやりがいがあります。

ハングマン

「ハングマン」は聞いたことない人が多いはずです。

ルールは以下などを参考にしてください。

Wikipedia

オセロよりは簡単ですが、なかなかやりがいがあるのでぜひ試してみてください。

ジャンケン

お馴染みのジャンケンです。

今回取り上げた4つの中で一番簡単なので、少し物足りなく感じる人がいるかもしれません。

しかし、関数やクラスなどを用いて実装すると意外と難しいので、ぜひ試してみてください。

ブラックジャック

有名なトランプゲームですね。

ルールは単純ですが、実装するとなると意外と手こずります。

まずはトランプを用意するなどの下準備も必要なので、ぜひ楽しみながら実装してみてください。

その他

これ以外に自分で思いついたものでも良いです。

将棋」や「トランプゲーム」など、面白いアウトプットはたくさんあります。

「基礎部分のアウトプット」のまとめ

この章では「アウトプットのメリット」、「アウトプットの手順」、「おすすめアウトプット(基礎)」について紹介してきました。

この部分を読んで実行すれば確実に基礎が身につくので、ここまで読んでくれた人はぜひ実行に移してください!

最後に1つ注意点があります。

それは、基礎のアウトプットは1つで十分ということです。

「ジャンケン」作って、「オセロ」作ってのように複数製作する必要はないです。

しっかり学んだことをフルに使って、1つを制作してください。

応用のアウトプット

前章では「基礎のアウトプット」について紹介しました。

この章では「応用のアウトプット」について紹介していきます。

大きな違いとしては、「学びたい言語の枠を超える」ことです。

アウトプット(基礎)」では「学びたい言語の枠を超えない」ことがポイントでしたが、ここではほかの技術との兼ね合いが目的となります。

この章では「アウトプットの種類」、「アウトプットの見つけ方」、「アウトプットの手順」、「おすすめアウトプット(応用)」について紹介していきます。

アウトプットの種類

アウトプットにもいくつか方法があります。

アウトプットの種類

  • 個人開発
  • ブログ
  • SNS発信

つ1つ簡単に紹介していきます。

個人開発

これが一番オーソドックスです。

何か成果物を作成するということです。

自分が学習しているプログラミング言語の後ろに「アウトプット」とつけてググると(例 Python アウトプット)色々情報が出てくるので、それを参考にしても良いですし、この章の後半で解説する「アウトプットの見つけ方」を参考に自分で見つけたり、「アウトプットおすすめ(応用)」を参考にするのもありです。

ブログ

最初はブログでアウトプットするハードルを高く感じると思いますが、結構有効な方法です。

体系的にまとめていかないといけないので、しっかりとした理解が必須になってきます。

個人開発をして、そのことについてブログなどにまとめていくのもよいアウトプットになります。

SNS発信

Twitterなどを使って、短い文章と画像を使って発信していきます。

スライドにわかりやすくまとめて発信することで、自分の理解を深めるだけでなく、他の人の理解を助けることにもなり一石二鳥です。

フォロワー増加にも繋がるので基礎部分のアウトプットとしておすすめです。

アウトプットの見つけ方

ここまでアウトプットの種類について紹介してきました。

ここからは「アウトプット先の見つけ方」について紹介していきます。

よくプログラミング初学者の悩みとして、「作りたいものがない」というものがあります。

僕自身もアウトプットとなると何を作るのが良いかわからなくなり悩んだ経験があります。

ただとあることをきっかけにその悩みが吹き飛んだので同じように悩んでいる人にぜひ読んでいただきたいです。

ではどんなことがきっかけだったのか?

答えは「日常の悩みを解決する」です。

どゆこと?」と思う方に向けて説明していきます。

みなさんは日常で、「こんなのがあったらな…」、「これ便利なんだけどこんなきのうがあったらな…」、こんな風に思うことはありませんか?

ほとんどの人は小さなことでもこのような悩みをもったことがあるはずです。

もし全く考えたことがない人は、日常においての悩みを探してみてください。

数日有れば1つは必ず出てきます。

そして、このようななやみをプログラミングで解決するということが、「日常の悩みを解決する」ということです。

例えば、「ゴミ捨てを忘れてしまう」という悩みがあるとします。

その悩みを解決する方法として、「ゴミ捨ての前日と当日に通知する」ということが思い付きます。

では何に通知すると良いか?

いくら通知しても自分が気付けないと意味がありません。

そこで「LINEに通知する」ということを思いつきます。

LINEであれば頻繁に開くので気づけるはずです。

ここまでをまとめると、「ゴミ捨てを忘れないように、前日と当日にLINEで通知する」となります。

これでアウトプット先が決まりました。

このように「自分の悩み」を解決する方法を考えるとアウトプット先が見つかります。

ぜひ試してみてください。

アウトプットの手順

ここまで「アウトプット先の見つけ方」を紹介してきました。

ここでは「アウトプットの手順」を紹介していきます。

アウトプット先にも手順が変わるので、今回は「個人開発」と「ブログ」について紹介していきます。

個人開発

個人開発手順としては以下のようになります。

アウトプットの手順

  • 作りたいものを決める。
  • 作成手順を決める。
  • 手順に沿って進める。
  • わからない部分や新しいツールについてはググる。

では1つ1つみていきましょう。

※今回はわかりやすいように「オセロ」を作るということを例に進めていきます。

作りたいものを決める

まずは作りたいものを決める必要があります。

この部分は前章で取り上げているので見ていただけると嬉しいです。

※今回は「オセロ」で話を進めていきます。

作成手順を決める

作りたいものが決まったら作成手順を決める必要があります。

手順を決めておかないと、「何が必要か」、「次に何をするべきか」がわからなくなり、アウトプットする気持ちが下がってしまいます。

オセロ」で手順を考えてみましょう。

オセロ作成手順

  • 白と黒の石を用意する。
  • 盤面を用意する。
  • 盤面に石を打てるようにする。
  • 打った石の配置と種類を記憶できるようにする。
  • 同じ色に挟まれたら色が変わるようにする。
  • 打てないところがあればパス。
  • 両者打てなくなったら終了し、盤面に自分の石が多い方の勝ち。

少し長くなりましたがこんな感じです。

せっかくですので、前章で取り上げた「LINEで通知」についても手順をまとめてみましょう。

LINE BOT作成手順

  • LINE APIに登録。
  • LINE APIをプログラミング言語から扱えるようにする。
  • 通知するタイミングとメッセージを設定。
  • デプロイ。
  • 定期実行できるようにする。

こんな感じですね。

こちらはざっくりした手順になっていますがこれで問題ないです。

複数のツールを使うためわざわざ細かく手順を用意する必要はありません。

いかがでしょうか?

みなさんも完璧でなくても良いので手順を考えてみてください。

最初はざっくり決めても、作成していく中で必要なものが見えてくるので、その都度手順を修正するやり方でも問題ありません。

作成手順に沿って進める

前章では「作成手順」を決めました。

次にすることとしてはもちろん決めた「作成手順」に沿って進めていくだけです。

ここでポイントとなるのが、「必ずしも作成手順通りやらなければいけないわけではない」ということです。

その理由は「気づき」があるからです。

例えば「こっちを先にやった方が良い」や「これも必要だ」など、作成前は気づかなかったことがどんどん出てきます。

その都度作成手順に変更を加えていきながら完成を目指してください。

わからない部分や新しいツームについてはググる

どのように実装するかわからなかったり、忘れてしまうことはよくあります。

15分くらい試してみてもわからなければググってみてください。

わからないからと言って何時間も粘らず、「まずは完成させる」ということを目指してください。

同様に新しいツールを使用する場合、直感を頼りにせずしっかり手順などを確認してください。

効率よく成長するためにはきっぱりと諦めることも大切なのです。

ブログ

では次にブログでのアウトプット手順を見ていきましょう。

ブログ作成手順

  • 記事にまとめたいものについてググる。
  • メモなどに下書き。
  • 記事にまとめる。

先ほどと比べると簡単そうですよね。

では1つ1つ確認していきましょう。

記事にしたいものについてググる

まずは記事にまとめたいものについて調べる必要があります。

自分に十分に知識があるなら別ですが、自信がない方はググってみてください。

(学びたいものがあるときに、そのことについてググってブログにまとめてみるのも良いですね。)

メモなどに下書き

調べ終わったらいきなり記事にまとめるのではなく、まずはメモなどに始めから終わりまでまとめてみてください。

いきなりブログ記事にしてもまとまりがなかったり、抜け漏れなどが起きます。

下書きにまとめることで、全体の構成を確認しながらしっかりまとめることができます。

notionやiPhoneのメモなどが下書きするには最適なので、ぜひそれらのツールを使用してまとめてみてください。

記事にまとめる

下書きにまとめることができたら、その下書きをもとに記事にまとめていきましょう。

見出しをつけたり、強調したい部分を太字にしたり、読みやすいように改行すると尚良いですね。

まとめ

ここでは個人開発とブログによるアウトプットの手順に関してまとめてきました。

最初は手順通りに進めるのが難しく感じると思いますが、ぜひ一度手順通りにやってみてください。

後々の自分の助けになります。

おすすめアウトプット(応用)

では最後に「おすすめのアウトプット(応用)」について紹介して、この章を終えようと思います。

今回は個人開発に焦点をあてて紹介します。

以下がおすすめアウトプットの一覧です。

おすすめのアウトプット一覧

  • LINE bot
  • Slack bot
  • Twitter bot

本的に全てbot系ですね。

そもそもbotとはなんぞや?」という方は以下の記事を参考にしてください。

botは一言で言うと、「特性の処理を自動化する」ということです。

LINEbotなら、「特定の時間帯に特定のメッセージを自動で送信してくれる。」ということです。

なんのbotを作るかは、この章の「アウトプットの見つけ方」を読んでみてください。

botを作ると何が良いかというと、さまざまなな技術に触れることができます。

API」や「定期実行」、「ライブラリ」など、基礎部分では触れてこなかった技術を使う必要があります。

他の技術とどのように組み合わせるかなどを知れると、実務でも大きく役立つほど貴重な経験になります。

作り方に関してはもちろんググっても良いです。

ただし、記事などを見ながら全く同じものを作ることはおすすめできません。

何かしら自分なりに付け加えてみてください。

もっと便利にしたい!」という気持ちで考えてみると色々案が出てくるはずです。

まとめ

この章では、「アウトプットの種類」、「アウトプットの見つけ方」、「アウトプットの手順」、「おすすめアウトプット(応用)」について紹介してきました。

最後に復習を兼ねてまとめましょう。

繰り返す

前章までで、「独学でプログラミング学習するロードマップ」についての紹介を終えました。

下調べ」を除き、「動画でインプット」、「書籍でインプット」、「基礎のアウトプット」、「応用のアウトプット」を1サイクルとし、他のプログラミング言語や技術を学ぶ際にも同じ手順で学習してください。

このサイクルを学習の中心に置き、学ぶことの楽しさを感じていただければ幸いです。

最後に

今回は「独学でプログラミング学習するロードマップ」について紹介してきました。

最後にロードマップ全体の手順を確認しましょう。

ロードマップ

  • 下調べ
  • 動画でインプット
  • 書籍でインプット
  • 基礎のアウトプット
  • 応用のアウトプット
  • ②〜⑤を繰り返す。

1つ1つ丁寧に解説したので、ここまで読んでくれた方は手順を完璧に理解できたはずです!

ぜひ今後学習する際、この手順に沿って学習して見てください。

普段はPythonやブロックチェーンメインに情報発信をしています。

Twiiterでは図解でわかりやすく解説する投稿をしているのでぜひフォローしてくれると嬉しいです!

-学習
-