現在、プログラミングに関する情報が多岐に渡って発信されています。
その中で、プログラミングに興味があるけど情報に左右されて学習に踏み出せない人もいます。
|
これらの疑問や悩みを解決しながら、無駄のないプログラミングの勉強方法を解説します。
記事を読み終えると、プログラミングにおける目的や目標を明確にする意味が理解できます。
結論は、プログラミングの目的と目標を掲げなければ勉強の意味がないのが事実です。
また、筆者自身クラウドソーシングサイトであるランサーズにてコンスタントに毎月10万円を稼ぎ、プログラミング業務にて2021年6月に最高報酬額である30万円を突破しました。
年間報酬額も100万円突破するなど、実務的なプログラミングの活用方法や具体的な稼ぎ方について、一定の記事信頼を担保できると思います。
プログラミングを勉強することで、本業/副業に十分活かせる武器になると先にお伝えしておきます。
目次
プログラミング学ぶメリット・デメリット
プログラマー/エンジニアの市場価値からメリットが分かり、取り組むべき一つの勉強内容か判断できると思います。
以下のデータは、経済産業省が発表したIT人材に関する調査内容です。(経済産業省:IT人材需給に関する調査より引用)
データを確認して分かる通り、今後のIT人材は不足する流れを辿っており、IT人材不足の深刻化が危惧されています。
深刻化が危惧される一方で、今後の時代を考慮すればIT人材価値が高まり続けることが予測できます。
IT人材の需要と将来性を詳しく知りたい人は「プログラミングに需要と将来性しかない有益な話」で解説します。
プログラミングを学ぶメリット
IT人材価値の高まりが予想される中で、プログラミングを勉強することは以下のメリットを享受できます。
|
プログラミングを勉強することで、人材価値として多くのメリットを得られます。
昨今の企業は、Webメディア・自社アプリケーションなどITに関する業務が多種多様になっています。
特に、コロナ禍の中でクラウドソーシングを利用した働き方や在宅によるフルリモートワークに移行している業種でもあります。
働き方に関わらず、スキル収入による成果物主義の稼ぎ方であるため、スキルセットによって高収入も狙いやすいです。
ITビジネス市場の成長・働き方の柔軟性・スキル至上主義によって、プログラミングを勉強する価値が見出せると思います。
プログラミングを学ぶデメリット
次に、プログラミングを学ぶデメリットとして以下の項目が挙げられます。
|
プログラミングを勉強する上で、最も難しいのがモチベーション維持です。
最初のハードルとして、プログラミングの基礎学習に個人差があれど一定量の勉強時間が必要になります。
また、これからプログラミングを始めたい人にとって情報量が多い学習分野のため、勉強のロードマップが多様で自身に合った選択が難しいです。
最大のハードルは、IT不足と言いながら企業側は即戦力を求めているため、実績・実務経験がなければ採用/就職/転職/副業につなげることができません。
単にプログラミングスクールを卒業する程度のポートフォリオを持っていても、プログラミングで結果を出すのは困難な現状です。
個人的に副業目的でプログラミングを勉強してみたいと考える人は「【認定ランサー】プログラミングを副業目的で始めても稼げない理由」で解説します。
プログラミングで副業を考えるのはやめとけ
これは現在、エンジニアの職種ではない人に限った内容になります。
これから副業のためにプログラミング学習をする人がいる場合、以下の内容を理解しておく必要があります。
|
筆者は、クラウドソーシングサイトであるランサーズを利用して以下の副業実績を獲得しました。
月に換算すると、平均13~14万円程度です。
また、副業サイトにおける案件獲得の競合もフリーランスエンジニアばかりです。(もしくは現役エンジニアによる副業です。)
現在、現役エンジニアからフリーランスエンジニアへ転向する流れが非常に強いこと、また独学によるプログラミング初心者は案件獲得が難しい流れである2つが確認できます。
さらに、筆者は現在ITベンチャー企業のCTO兼VPoEの役割を担っていますが、大手一部上場企業などから案件を頂きます。
そのほとんどがリファラル案件(紹介/委託/ 推薦)になります。
つまり、世の中で活躍するフリーランスエンジニアは実績を持った状態でリファラル案件をもらう形を作っています。
そのため、フリーランスエンジニアや副業目的でプログラミング学習しても、まだエンジニア職種でない人は現実的に案件獲得が厳しいです。(月10万前後ならクラウドソーシングサイトでできるかもしれません。)
転職目的がなくプログラミングスクールに通うのはやめとけ
プログラミング未経験の社会人(特に30代以降)が転職目的を持たずプログラミングスクールに通うのは、とても注意が必要です。
特に高額なスクールに通う場合、金銭面の問題もありますが重要なのは転職活動におけるポジションです。
もしもSIer企業やWeb系企業でプログラマー/エンジニアとして働きたい場合、企業の採用活動レベルから理解しておくと良いです。
企業は中途採用枠のITエンジニアを採用するプロセスとして、大まかに認知→集客→面接→入社といった流れを組みます。
その中で、転職者が考えるべき特に重要なプロセスは、集客の部分です。
|
リファラルは、実務を行う上で他社と関わった時何らかの形で引き抜きにあうケースが多いため、未経験エンジニアは無縁です。
採用広告は、SES企業や受託開発企業といった派遣あるいは契約社員等を集めたい会社が広告掲載するケースが多いです。
現在未経験でもOKな会社が最も多い転職サイトは、Wantedly一択かなと感じます。
エージェントは、業務委託(準委任契約)の形で期間を絞ってプロジェクトに参画し、クライアントが満足すれば延長の流れを取っていく傾向があります。
そのため、実務経験が豊富なフリーランスエンジニアが数多く登録しており、未経験エンジニアが登録しても即戦力を求める企業からお断りされるケースが多いです。
また、4つの転職方法の中でもエージェントサービスを利用するのは、企業にとってコストが最も高いです。
|
例えば、年収1000万クラスのエンジニアを中途採用する場合(1人)、エージェントだと350万近く支払い、DRだと初期費用と手数料だとしても200万前後で済みます。
つまり、中途採用枠で即戦力のエンジニアを獲得する人数が増えれば増えるほど、採用コストは膨大になります。
さらに、実務実績がないエンジニアはエージェントやDRサービスへの登録ができないものも存在しており、たとえ登録できてもエンジニア採用代行業務を社内のエンジニアが行うことが多いため、スカウトメールがまず来ません。
厳しいように感じるかもしれませんが、未経験エンジニアが転職する場合に最も最適な方法は以下の項目を実施すると良いです。(2022年5月16日時点の筆者の最適解)
|
就職サポート付きプログラミングスクールに通うべき理由は、スクール卒業生によって作られた就職実績がスクール自体にあるため、企業に対して一定の信頼を担保します。
スクール卒業生が在籍する企業であれば、新たに卒業生を就職させる可能性は十分にあります。
次にWantedlyによる就職/転職活動ですが、SES会社あるいはスタートアップ企業/ベンチャー企業が数多く採用側で登録しています。
そのため、即戦力というよりも熱意や成長を期待して採用するポテンシャル採用があるため、可能性を残しています。
最後に、SES企業就職後に担当営業に対して開発業務希望を猛烈アピールし、実務経験をつけてしまうことです。
これら3つの方法を記載した理由は、筆者がSIer企業/Web系企業の中途採用枠に対するエンジニア採用代行業務を通し、実際に出会った方々の経歴だったためです。
むしろ、プログラミングスクールすら通っていない独学の人は出会っておらず、仮に存在しても一生に一度お目にかかれるか怪しいレベルだと思っています。
上記の内容から、結論は『転職目的があるならプログラミングスクールを検討するべきであり、転職目的がないなら高額なプログラミングスクールに通うべきではない。』ということになります。
プログラミング勉強しても意味がない人の傾向と対策
プログラミングを学ぶデメリットに起因して、勉強しても意味がない人の傾向が以下の項目です。
|
やはり、プログラミングを勉強しても意味がない人はプログラミングを手段(ツール)としてイメージできていません。
プログラミングを勉強しても意味がない人への傾向に対して対策も解説します。
プログラミング勉強に目的/目標が設定されていない
ここでは、プログラミングを活用する働き方として大きく3つに分類します。
多くのプログラミング初心者は、プログラミングを学ぶこと自体を目的にする傾向があります。
しかし、プログラミングはあくまで手段であり、別の目的/目標を達成するために利用するツールであると認識し直す必要があります。
プログラマー/エンジニアとして就職/転職を希望する場合、質の高いポートフォリオが必要になります。(SIer企業とWeb系企業で呼び名が異なる場合があります。)
対策方法は、狙っている企業が求めるスキルセットとポートフォリオを準備することです。
質の高いポートフォリオの作成方法(具体例あり)を詳しく知りたい人は「【具体例】エンジニアによるプログラミングのポートフォリオの作り方」で解説します。
次に、フリーランスエンジニアについてです。
フリーランスエンジニアの場合、クラウドソーシングあるいは直接的な得意先などクライアントを獲得する必要があります。
筆者も冒頭にて、ランサーズによるクライアント獲得を経て数十万単位の金額を報酬とする案件を頂いております。
働き方に関わらず、本質的にエンジニアとして求められる能力が論理的思考能力・抽象化能力・言語化能力です。
プログラミング業務のみに求められる能力だけでなく、クライアントは基本的に知らない・わからない・理解していないを前提とするため、3つの能力を利用して案件をスムーズに進める必要があります。
プログラミングを勉強する前提として、基礎学習だけでなく働き方/稼ぎ方も想定して行動しなければなりません。
対策方法は、自身のプログラミングの勉強レベルが案件(クラウドソーシングなどで確認をお勧めします。)と見合っているのか測定し、どんな形であれ実務体験してポートフォリオを充実させることです。
プログラミングスクールの卒業生や実務未経験エンジニアは、結局SES企業に就職する程度しか選択肢がないですが、案件レベルが低くても実務経験を獲得すべきです。
実務経験後に案件数を増やしたり、エージェント活用で準委任契約の派遣エンジニアを経験するなど、ゆくゆく中小企業から大手企業とステップアップする転職ルートが現実的です。
自身のプログラミングレベルと案件レベルを測りたいあるいはこれからの判断基準が知りたい人は「【副業】プログラミング案件レベルを測る方法と業務で多用する必須ツール」で解説します。
最後に、副業目的のエンジニアです。
副業に関しても、プログラミングの基礎学習しただけでは稼ぐことはできません。
なぜなら、多くの案件で副業目的のエンジニアと案件獲得のライバルとなるのが現役エンジニアだからです。
対策方法は、副業でもエンジニアとして稼ぐための戦略を立てることです。
エンジニアが副業で稼ぐための戦略の立て方を知りたい人は「【案件判断基準】プログラミング副業の無理な案件を認定ランサーが伝授!」で解説します。
このように、エンジニアの働き方だけで考えてもプログラミングを手段として利用した場合、どのように活用先を決めるかで考え方が変化します。
そのため、プログラミングの勉強を始める前に目的/目標を具体化しておくことをおすすめします。
プログラミング勉強のモチベーション維持ができない
プログラミングを勉強する中で目的/目標があったとしても、なかなかモチベーションを高めるのは難しいです。
特に、プログラミング言語の基礎学習ばかりではモチベーション維持は困難です。
しかし、プログラミング初心者にとって避けられないのが基礎学習のため、学習レベルに合った成果物を都度作成していく必要があります。
初期の学習量で最大の成果を求めがちになると、プログラミング学習の挫折につながってしまいます。
|
これら3つがモチベーションを高く維持する方法です。
プログラミングの勉強においてモチベーション維持の方法を詳しく知りたい人は「【独学】プログラミングでモチベーションが続かない人の特徴と学習のコツ」で解説します。
プログラミングの基礎学習を何度も繰り返す
プログラミングオンライン教材のprogateやドットインストールなどを利用して勉強する人は、基礎学習を繰り返して学ぶのに注意が必要です。
特に、勉強の方向性が間違ったまま独学で取り組み続けると、意味のないプログラミング勉強になってしまいます。
某大手プログラミングスクールのアンケート調査でも、9割近く挫折している現状があります。
また、9割の挫折原因は独学によるプログラミング学習で引き起こされています。
|
おそらく、目的/目標を設定せず正しいロードマップがなく、プログラミングレベルが成長するステップアップ教材が選定できていないことが独学による挫折理由だと思います。
そのため、対策方法はステップアップ教材に取り組むことです。
基礎学習の中で、興味のある言語/分野が見つかったタイミングで以下の項目で教材探しをおすすめします。
|
上記の内容は一例ですが、インプットではなく一つでも多くアウトプットを意識した勉強に取り組みましょう。
注意するべきは、ピンポイントであなたが想定する教材は存在しない可能性があるため、関連する教材を学び思考/発想/類似度などを考慮してヒントを獲得しましょう。
詳しい挫折理由と対策方法を知りたい人は「プログラミング学習の挫折率9割の理由と対策」で解説します。
Pythonロードマップを元に本格的な学習を始めたい人へ
おそらくプログラミング未経験からPythonあるいはプログラミング活用を図りたい人は、以下の考えが存在すると思います。
|
上記の悩みや課題をPythonロードマップとして言語学習から転職までを目標プロセスに落とし込んで作成しました。
あなたの考えるエンジニア像のゴールに合わせたオンラインプログラミングスクールが選べる情報も公開しているので、一度読んでみてください。
まとめ
プログラミングを学ぶメリットは、以下の3つです。
|
これからのビジネスはITが斬っても切り離せないため、学ぶメリットは十分あります。
また、プログラミングを学ぶデメリットは、以下の3つです。
|
いきなり理想的な目標を掲げてしまうと挫折する原因になるため、注意しましょう。
プログラミングを学ぶデメリットに起因して、勉強しても意味がない人の傾向が以下の項目です。
|
特に、独学によるプログラミング勉強は挫折につながるため、逆算思考で教材選びを行いましょう。
プログラミングの勉強を始めたのに、途中で諦めてしまうと時間の無駄になります。
プログラミングに取り組むなら一定の成果を出すまで効率的に取り組みましょう。
プログラミング学習にて時間を無駄にしないための方法を知りたい人は「プログラミングを時間の無駄にしない人の特徴とエンジニア人生設計」で解説します。