ウェブや書籍の情報を見ると、以下の内容を見かけます。
-プログラミング習得は勉強と考えず、楽しく習得すべき
-勉強をすれば、プログラミング言語を必ず習得できる
-フリーランスになって収入アップも期待できる
しかし、私がプログラミングを習得して感じるのは、「ウェブや書籍で書かれているほど、プログラミング学習の現実は甘くない」ということです。
例えば、プログラミング言語習得には勉強時間が必要です。
実際、私はプログラミング初心者のとき以下のペースで勉強していました。
-平日|会社から帰宅後、2,3時間は勉強
-土日|家にこもって、6,7時間は勉強
-長期休暇|旅行に出かけず家にこもって、6,7時間は勉強
上記は私の例ですが、プログラミングで生計を立てるフリーランスの友人も「大量の勉強をした」と言います。
このようにプログラミングができる人は、周囲が知らないところで大量練習をこなしているのです。
このような大量の学習が必要にも関わらず、なぜ「楽しく習得できる」という言葉が出てくるのでしょうか。
結論を先にお伝えすると、それは以下です。
-プログラミング勉強では、つまらないこと・大変なことはある
-プログラミングそのものが楽しいと感じる人は成長する
-プログラミングの実力がついてくれば技術がお金になり、勉強がより楽しくなる
それでは、プログラミング学習の難しさと本当の意味の楽しさについて話をしていきます。
目次
私がプログラミング言語を習得したきっかけと費やした時間
私が学んだプログラミング言語はVBA(Visual Basic for Applications)と呼ばれる言語です。
VBAとは、「エクセルなどのオフィスソフトの作業自動化ツール作成」を行うプログラミング言語です。
以下の動画はVBAの事例で、エクセルの請求書を自動作成するツールを紹介しています。
プログラミング言語にはいくつかの種類がありますが、このようなエクセル作業の自動化を行うのがVBAです。
VBAについては、以下の記事で詳しく解説しています。
→エクセルVBAで出来ることを事例で解説
→VBAのプログラミングとは?
→私がVBAプログラミングを勉強した理由
初心者から1年間プログラミングを勉強して出来るようになったこと
私は学生時代、生物系の学部に所属し、社会人としてメーカーに就職してからは非IT部署で勤務していました。
そのためVBAを学ぶまでは、全くのプログラミング初心者でした。
しかし、会社のエクセル仕事をVBAで自動化できることを知り、プログラミング習得することにしました。
私の場合は初心者から学び始めてから1年間で、以下のようなプログラムを作っていきました。
期間 | VBAプログラミングを使って達成したこと |
---|---|
0ヶ月~3ヶ月目 | ・議事録から議題一覧を作成 ・グラフ自動作成 ・社員の業務時間の分析 |
4ヶ月目~6ヶ月目 | ・フォルダ内のファイル一覧取得ツール ・300行以上あるデータの傾向分析 ・社内システムのデータを取得し、リスト化して自動印刷 |
7ヶ月目~12ヶ月目 | ・ウェブから情報を取得する ・メール自動配信システム構築 ・社内アンケートシステム |
それ以降 | ・ヤフオク情報の自動取得(以下の動画に事例を紹介) ・ベンチャー企業の顧客管理システム |
VBAプログラミングをイメージしていただくために、ヤフオク情報の自動取得について、以下で動画の事例を紹介します。
ヤフオクからのデータ取得はウェブスクレイピングの事例です。ウェブスクレイピングとは、ウェブから自動で情報を取得する行為です。
このようなレベルになるまでに、私は1年間かかりました。
1年間で600~800時間はプログラミング学習に費やした
私の場合は、1年間で600-800時間はプログラミング学習に費やしました。
ただ私はサラリーマンとして働いていたので、プログラミング学習は会社から帰宅した後や休日に集中して勉強しました。
具体的な勉強量については、以下です。
-平日|会社から帰宅後、2,3時間は勉強
-土日|家にこもって、6,7時間は勉強
-長期休暇|旅行に出かけず家にこもって、6,7時間は勉強
上記を見ると、大量に勉強したように見えます。
しかし実際にはプログラミング勉強を始めてから1年の間で、2回ほど挫折しました。
その理由は参考書やウェブ情報の説明が分からず、理解できない状態になってしまったからです。
しかし、その2回の挫折は数週間勉強をしない時期が続いた後、「やっぱり勉強しよう」という思いになり、勉強を再開しました。
このように辛い時期もあったのが現実です。私のプログラミング言語習得の体験談は以下で紹介しています。
プログラミング初心者から3年~4年で副業で収入を上げれるようになった
VBAプログラミングの勉強は、2年目以降のペースは落ちました。それでもプログラミング勉強は継続して続けていました。
最終的に、プログラミング初心者の状態から3,4年目でVBAプログラミングの副業で収入を得ることができるようになりました。
以下の動画は、私が5万で受注して1週間で納品した案件です。
”
上記の事例以外にもVBAプログラミングで副業をしていました。結果的に、本業の収入にプラス20万の副収入を得ていました。
プログラミングを活用した副業について、以下の記事で紹介しています。
そもそもプログラミング言語習得は簡単ではない
ここまで私がプログラミング言語の学習について、お伝えしてきました。
その経験を通じて言えるのは、プログラミング言語習得は簡単ではないことです。
そのため、ウェブや書籍の情報で「プログラミング言語は簡単に習得できる」と書いてあるのを見ると、私は違和感を覚えます。
違和感を覚える理由は、以下のことを感じるからです。
・大量の勉強時間が必要だった(私の場合は少なくとも平日2時間)
・プログラミングの勉強で、内容を理解できず挫折した
・副業で収入を得られるまでに3,4年かかった
上記の経験をしてきたことを考えると、とても簡単に習得できるとは言えません。
そこで、プログラミング言語習得が簡単ではないことを理解していただくために、厳しい現実についてお伝えしていきます。
プログラミング初心者が3ヶ月~半年勉強してようやく簡単な仕事をこなせる
プログラミング習得したい人の多くは、プログラミングスキルで転職や副収入に活かしたいと考えているはずです。
そのような人にお伝えしたいのは、プログラミングで仕事ができるようになるには時間がかかることです。
具体的に言えば、仕事で使えるレベルになるには3ヶ月~半年は勉強が必要です。
例えばランサーズやクラウドワークスで言えば、簡単なVBAの仕事は1万~2万で受注可能です。
この案件は内容を見る限り、VBAプログラミング初心者が学習を始めてから3ヶ月~半年で到達できるレベルです。
ただし、上記のような「レベルが低い」かつ「報酬の良い」案件は受注倍率も高くなります。つまり、採用されるかどうかは別の話です。
なお、プログラミングを使って会社の仕事をこなせるようになるのも3ヶ月~半年というのが私の経験から言えることです。
初心者がプログラミングで十分な収入を得ることができるようになるのは数年はかかる
私がプログラミングの副業で収入を得たのはプログラミングを勉強してから3,4年頃でした。
しかし、3,4年もかかるのは遅いです。収入を得ることを念頭に入れて勉強すれば、ここまで時間はかかりません。
というのも、私の場合は実力がつくのを待ってから副業に取り組んだからです。
そのためプログラミングを勉強してから3,4年経ってから、収入を得ることができました。
一方で、フリーランスでウェブ制作をしている友人は、「プログラミングの仕事を1件30万で受注できるようになったのは、フリーランス2年目以降だった」と言っていました。
実際フリーランス1年で仕事を受注していたときは、「運がよいときで月収15万で、月収が数万だったときもあった」と話をしていました。
この話を聞いて分かるのは、フリーランスがプログラミングで十分な収入を得るまでに数年はかかるということです。
ましてや、サラリーマンとして働いたり、家族との時間を作ったりしながら、プログラミング勉強をするのであれば、もっと時間がかかることを意味しています。
プログラミングで収入を上げたい人にさらに厳しい現実をお伝えします。
プログラミングスキルは実績で評価される
プログラミングスキルは実績が全てです。プログラミング初心者は実績を作らないと話にならないのです。
これはあなたが何か仕事を依頼する立場になって考えれば分かります。「初心者に頼みたい」とは考えないはずです。
初心者に依頼することがあるとすれば、安い費用で雑務をやってもらうくらいしか考えないでしょう。
つまり、私が言いたいことは以下です。
→実績豊富なプログラミング上級者と仕事を取り合う
●プログラミング初心者で、プログラマーとして転職したい人
→転職面接で実績を問われる
実績がなければ、フリーランスも転職も誰からも信頼されません。
そしてプログラミング初心者は、実績をもつ人と同じ土俵で勝負することになります。
もし、プログラミングでフリーランスとして稼いだり、プログラマーとして転職したりしたなら、このような厳しい現実を理解しておくことをお伝えしたい。
このようにプログラミング言語習得は決して楽しいことばかりではありません。
それでもプログラミングは没頭できるほど魅力的
しかし、私は「プログラミング勉強を辞めたほうがいい」とは言いません。
なぜなら、プログラミングは魅力的で面白いからです。
例えば、私はプログラミングをしているときは、達成感と充実感を味わうことができます。
→人の期待を超えるプログラム(ツール)を作り、相手に喜んでもらう
→自分の頭でイメージしたことが形になっていく
私はプログラミングをしていると6時間ぶっ続けでプログラムを書いていることがあります。
それは上記のように、作成したプログラムで人を驚かせたい(達成感)と、そもそもプログラムを書いていることが楽しい(充実感)があるからです。
これはフリーランスとして働いている友人も同じです。没頭しているときは、「10時間くらいプログラムを書いてしまう」とよく話をしています。
達成感と充実感を味わえるようになるまでは辛い
しかしプログラミング初心者だったころは、達成感と充実感を味わうことはできませんでした。
とにかく必死にプログラミングの勉強をしていたのです。当然、内容を理解できずに挫折したこともありました。
多くの人は、この過程で挫折していきます。
私の場合は「できないままはイヤだ」と思い、挫折を乗り越えることができました。
そのうち、人に喜んでもらえるプログラム(ツール)を少しずつ作れるようになっていったのです。
プログラミングの実力がつき、できることが増えてきてようやく、達成感と充実感を味わえるようになりました。
達成感と充実感がお金につながった
〇プログラミングが楽しいから、お金が生まれた
私はプログラミングのスキルを活用して月20万以上の収入を副業として得ていました。
それは、プログラミングが楽しくて面白かったからです。
例えば、以下のようなプログラミングを使ってウェブに公開しています。
→フローチャート作成ツール
→ガントチャート作成ツール
→タスク管理表
→ワードファイルの差し込み印刷プログラム
→受信メールの一覧プログラム
→ヤフオク情報自動取得プログラム
→在庫管理表
その結果、プログラミングスキルを活用してお金をいただいていたのです。
ただ注意したいのは、プログラミングの作業全てが楽しいということはありません。
よく分からないエラーに出くわしたり、調べても分からない状況に陥ったりするとイヤになることはよくあります。
それは、プログラミングが他の人よりできるようになった今でも感じます。
プログラミング学習には楽しい部分と辛い部分がある
私は、「プログラミングを楽しく学ぶ」という考えに半分賛成し、半分反対します。
なぜならプログラミング学習は常に楽しいわけではないからです。
例えば私の場合、プログラミングの概念を理解するのは苦労しました。
特に配列、引数という考え方は理解するまで時間がかかりました。実際に挫折してプログラミングの勉強を挫折しています。
しかし、スキルが少しずつ上達していき、仕事で使えるツールを作ったり、自分が考えていた通りにプログラムが動くのを見たりすることは本当に楽しかった。
このように、プログラミング学習には楽しい部分と辛い部分があったのです。
楽しい部分と辛い部分を考慮して、全体としてプログラミング習得の楽しさが勝るというのが正しい表現なのです。
もしプログラミング習得は辛いと感じているなら、楽しく面白く学ぶには達成感と充実感を意識してほしいと強く思います。
お勧め記事
→プログラミングのやる気やモチベーション維持維持について