本記事はこんな方におすすめです。
- 独学でプログラマーになりたい
- 勉強の方法や方向性を知りたい
- プログラマーになるまでのイメージを掴みたい
独学でプログラマーになるという事は、決して難しくないと先に申し上げておきます。
こんにちは。プログラマーです。
本記事ではあくまで””自己流””になりますが、独学でプログラマーになるにはどうすればいいのか、私の経験とアドバイスをシェアしたいと思います。
独学のメリット・デメリット
そもそも独学が良いか悪いかって意見が分かれそうだけど?
そうですね。実はメリットとデメリットがあります。
メリットの面では、プログラミングの学習に限らず他の分野でも言える事だと思いますが、問題はこのデメリットの部分です。
プログラミング言語と言うのは初心者の方からしたら未知の言葉で、いざその言語の海へ飛び込んでも、未知過ぎて何から始めれば良いか見当がつかないのです。
海で泳ぐことすらできず、ただ浮いてるだけなのです。
これが、「質問や相談ができる人が少ない」と言うのと「モチベーションを保つのが難しい」の2つを助長してしまうのです。
めちゃくちゃ分かる。もう入口がどこか分からないのよ、最初って(笑)
ですが断言します。私が思うプログラミングの最も高い壁は、そこです。
この未知こそが、プログラミングの最初にして最大の敵です。
何から始めれば良いか。それさえ分かれば、この記事を読んでいるあなたなら大丈夫です。
偏差値40だった僕ができたんですから、絶対大丈夫です!
それでは自信をもって、読み進めて下さい。
プログラマーになりたい理由・目的を明確化する
それでは早速始めていきましょう。の前に、1つ質問させて下さい。
「あなたはプログラミングを学んで、何がしたいですか?」
例えばそれは、スマホアプリを作る事でしょうか。
例えばそれは、仕事に役立つ効率化ツールを作る事でしょうか。
例えばそれは、自分のWebサイトを作る事でしょうか。
例えばそれは、データ分析やBOTを作る事でしょうか。
プログラミングは非常に広い分野です。何でもできるようになりたいと思っても、それは現実的ではありません。
出来る事が多過ぎるので、何から始めれば良いのかと迷ってしまいがちです。
ですのであなたがまず最初に始めるべき事は、プログラマーになりたい理由や目的を明確にする事です。
ちなみに僕は、友達とやるゲームで効率的に作業できるツールを自作したかったのが理由です。
プログラミングができる環境を構築する
目的が明確になると、学ぶべき言語や技術も明確になります。
ここまで来たらWebで検索しながら環境を構築して、プログラミングができる状態を作りあげてください。
但しここで言う環境は、学びたい言語や技術によって少し構築が難しかったりします。
最大の壁は最初ってだけで、いくつか壁はあるものです。
実は僕も最初はスマホアプリでゲームと連携ができるデータ解析ツールを開発したかったんです。
その環境を構築するのが、当時はあまりにも難しくて早速挫折しました。
ですが、「データ解析ツールって別にスマホアプリじゃなくてもできるんじゃないか?」と思ったのです。
所詮は初心者が始めるプログラミングなので、いきなり高いところを目指す必要は無いとあえて妥協した僕。
行きついた先は、Excel VBAでした。
Excel VBAでビギナープログラミングを始める
Excel VBAに限っては、Excelがインストールさえできていれば、それはつまりプログラミングができる環境になります。
最も分かりやすく手軽に始めることができるプログラミングが、恐らくExcel VBAです。
もちろん自分がやりたい事によってはExcel VBAがマッチしない事もありますが、
もしExcel VBAでできる事であれば、初心者にはここから始めることをオススメします。
Excel VBAとは?
Excel VBAとは、Excelの機能を拡張するためのプログラミング言語です。
VBAとは、Visual Basic for Applicationsの略で、Microsoft Officeのアプリケーションに組み込まれている言語の事を言います。
Excel VBAを使うと、Excelの操作を自動化したり、独自の関数やマクロを作成したり、ユーザーフォームやダイアログボックスを表示したりと多くの機能を開発することができます。
Excel VBAのメリット
1.Excelの作業効率を向上させることができます。
繰り返し行う操作や複雑な計算をプログラムに任せることで、手間や時間を節約できます。
2.Excelの機能をカスタマイズすることができます。
標準の関数やマクロでは満足できない場合や、特定の目的に合わせた機能が必要な場合に、自分で作成することができます。
3.Excelの表現力を高めることができます。
グラフやチャートだけでは伝えきれない情報や感情を、ユーザーフォームやダイアログボックスなどのインターフェースを使って表現することができます。
主にExcelでできる事の自動化や効率化が可能
実際にプログラミングをしてみる
プログラミングを学習する上で大事な事はたくさんありますが、特に必要な事とは基本的な事ばかりで、それは先述した目的の明確化であったり、もっと基本のところで継続する事もそうですし、学習リソース(教材やインターネット)も大事になってきます。
しかし、それらより頭1つ抜いて大事な事があります。
それは「実際にプログラミングをしてみる事」です。
もっと言うと、実際に実行してみる事です。
プログラミングができる環境が構築出来たら、それはつまりいつでもプログラムを実行できるという事です。
仮に構築した環境がExcel VBAだったら、何でも良いです。実行してみてください。
A1セルに”あいうえお”と出力してみてください。 Range("A1").Value = "あいうえお"
メッセージボックスで”ただいま”と表示してみてください。 msgbox "ただいま", vbInformation
ネットで調べたこと、教材に載ってたこと、なんでも良いです。試しに打ち込んで、実行してみてください。
これを繰り返してみてください。1行だったプログラムを、2行、3行と増やしてみてください。
実行した結果は、1つずつ覚えていきます。1つずつ理屈が分かってきます。
冒頭で言いました。未知こそが、プログラミングの最初にして最大の敵です。
この未知は、プログラムを実行することで、1つずつ理解して、覚えていきます。未知では無くなっていきます。
この感覚がモチベーションになった時、プログラマーまでの道がはっきりするのです。
【参考】僕がやった事
かく言う僕も、ひたすらExcel VBAでプログラムを書いてみて、実行して、を繰り返しました。
最初によくやったのは、ネットで「Excel VBA 課題」とか調べて、1つずつクリアしていくという手法。
それから徐々に理解していって、課題の最終形が終わる頃には小さい自動化くらいは調べながら組めるようになっていたので、それからExcel VBAと似たようなところでVB.NET、C#をVisual Studioで組んでみたりと、その辺りまでは全て独学でやり切りました。
モチベーションが続いたので、苦にはなりませんでしたね。
それから次第に、「実際のプログラミング現場で使えるプログラミングが知りたい」と言う想いが芽生えて、ここで初めてオンラインのプログラミングスクールを受講しました。
プログラミングを始めてここまでで、およそ3年。モチベーションが続いたとは言え、独学でしたので時間がかかってしまったのは難点。
マイペースにできたので、良かったですけどね。
まとめ
本記事のまとめになります。
結局ありきたりな記事になってしまったでしょうか。
しかしこれが、実際に僕が独学でプログラマーになるまでに辿ってきた道です。
ありきたりなようで、核心的な事なんだと思います。
サンプルコードがWebのそこら中に落ちている世の中になりました。
分からない事は書籍じゃなくても、Webで調べれば9割は見つかります。書いてある事を実際にやってみて、結果が想像した通りになるか、修正が必要か、これを繰り返し試行することができるならば、もう既にプログラマーと言えるのかもしれません。
プログラミングの壁を壊して、エンジニアとして活躍する方が1人でも多く増えるよう願っています。