Progateが終わったら

Progateが終わったら何をすれば良いか迷う人は多いと思います。終わったけど何か作れないという悩みは多く実践とProgate卒業の間のギャップを埋めるために悩まれている方は多いです。

本記事ではそんな人の悩みを解決すべくなぜそうなるかというメカニズムと解消法、具体的な学習法について解説します。

具体的な学習については目的別に文系の大学生のカオルさん、プログラマー転職志望のタカシさん、プログラミングで稼ぎたい専業主婦ミキさん、本業で役立てたいシンイチさんなどの例をもとに紹介します。

Progateによる学習の限界

学習方法が単調で飽きてくる

Progateによる学習方法は単調なので途中で飽きてきます。言われたとおりにコードを書いてく作業を淡々とやっていくのは面倒くさくて途中から飽きてきて全然頭に入ってこないなんてことを多いと思います。そうしたら無理せずそこでProgateを辞めて新しい教材での勉強をはじめることをおすすめします。

デバッグ経験が身に付き辛い

Progateではデバッグ経験が身につき辛いです。Progateでもデバッグの経験は0ではないですがヒントも多く、デバッグの対象となる箇所も演習問題の少ない範囲なので簡単にデバッグできてしまいます。

しかし実際にはどこでプログラミングが失敗しているかを瞬時に見極めたりデバッガなどのツールを使いつつ効率的にデバッグするコツが必要となってきます。

プログラマーになるためにはこのデバッグのコツを掴む経験は必要でやればやるほど伸びるスキルのためプログラミング学習初期段階からはじめると大きく成長できます。

開発環境構築や開発ツールに対する知見が身につき辛い

Progateでは開発環境の構築の必要がありません。はじめてプログラミングを学ぶときに挫折する人が多い環境構築をスキップできるので良いことでもありますがプログラマーになるには避けて通れない道です。

環境構築はプログラミング初心者が挫折するとは言えProgateによってどうなるのが理想的なのかを理解できているので何も知識がないところから環境構築をするよりはかなり前進しているので安心してください。


また開発ツールはプログラミングを仕事にするときに重要になってきます。具体的にはgitやシェルの使い方などはプログラミング初心者が最低限身につけておきたいスキルです。そしてテキストエディタやデバッガも開発では必須ツールなのでこれもまたプログラミングを実際に役立てたい人には習得必須の知識です。

Progateだとこれらの知識が学べないためプログラミングを学んだはずなのに何もできないという状況に陥ってしまいがちです。

初級レベルの知識までしか学べないので実践で使えない。

Progateで学べる知識は初級レベルの知識しか習得できないです。ProgateでRuby on Railsまで学んだとしてもWEBページを作るとなるとごく一部の機能しか学んでないので実際にWEB開発をするとなると大変です。


これはWEBでなくデータ分析のためにPythonを学んだとしても便利なPythonのライブラリを知らなければデータ分析も効率的にはできなくPythonの強みが生きません。なので実践レベルの知識を身に付けるためには他の教材を利用する必要があります。

Progateはどこまで学習すべきか?

Progateの目的はプログラミングに慣れることとHTMLやCSS,Railsなどのスキルを習得すると何ができるかを理解することです。プログラミングを習得しようと思ってProgateを学び続けると飽きますしあまり効率の良い学習方法ではありません。


プログラミング学習方法を自転車の乗り方に例えるとProgateは補助輪付きの自転車を漕ぐようなものです。補助輪を付けて色んな状況で漕いで練習するよりも補助輪なしで転びながらも漕げるようになってから色々な状況で自転車を漕ぐ方が上達するようにProgateですべてを学ぶよりも、教材を見ながら自分でテキストエディタを選びコーディングしてデバッグしならがら動くプログラムを書くようになったほうが圧倒的にプログラミング能力は上達します。


ただしプログラミングスキルは習得したら何ができるかを理解するのは言葉だけでは難しいです。とくにプログラミング初心者のころは何がなんだがわからないことが多いです。それをざっくりと理解するという意味ではProgateは良い教材です。

まとめるとプログラミングは最初は全体像が見えなかったり英語なので苦手意識を持ちますがそれがなくなってきたらそれがProgateを卒業するベストなタイミングです。

Progateによる学習の限界を超えるには?

実践的な知識の身につく教材を利用する

まずは実践的な知識の身につく教材を利用して学習をはじめることをおすすめします。最近はプログラミング学習者が増えてきているので初心者向けに書かれていて実践的な知識が身につくような書籍はたくさんあります。


動画教材だとUdemyもおすすめです。書籍同様、エンジニアでも頼りにしている人は多く実践的な知識を習得することができる教材です。セールを活用すると書籍よりも安く購入できたりします。

無料でも十分効率的に学べるような教材は多くあります。後ほど詳しく説明しますがWEB開発のスキルを身につけたいのであればRailsチュートリアルはおすすめです。将来的にはWEBから学ぶことが多くなってくるのでプログラミング言語やフレームワークの公式ドキュメントにも慣れ親しんでおくことをおすすめします。最近だと多くのフレームワークは公式がチュートリアルを作っていたりもするので実際のエンジニアはそれを利用して新しい技術を習得し始めることも多いです。

ただし初心者のころはまずは学びやすい教材を選んで実践的なスキルを一つ身につけることをおすすめします。

簡単で良いのでアウトプットする

簡単でよいので動くものを作ってみると未知の問題に遭遇するので問題解決能力やコーディングの効率化力が身につくのでおすすめです。アウトプットというとWEBサービスを作らないといけないわけではなく本当に簡単なHTMLとJavaScriptで書いたページでも十分です。

なにかのブログサービスを作ってそこでHTMLやCSSをカスタマイズしてみるのはおすすめです。
ブログは書いたらすぐにインターネットに公開されるのでやってみると面白いのでモチベーションアップにもなります。

そしてRuby on RailsなどのWEBフレームワークの知識が身についたらサービスを公開してみましょう。
Hello Worldを表示させるだけのページを公開するだけでも大きな学びや達成感があるのでぜひやってみてください。

目標にあった学ぶべきスキルを把握する

闇雲に学習していると自分が目標としていた自分に到達するのが遅れてしまいます。まずは集中して一つ一つ自分の目標にあったスキルを身につけることをおすすめします。WEB開発ができるようになりたかったらアプリ開発やデータ分析には目もくれずWEB開発に必要な最小限の知識を学びましょう。


またRubyを学んでいるとJavaやPHPがよく見えることもありますが隣の芝は青く見えるもんです。
気にせずに今学んでいるスキルを極めましょう。1つちゃんと言語を学べば2つ目を習得するのはかなり簡単です。日本語の標準語を身につけたら関西弁を習得するのはすぐにできるぐらいの簡単さになります。

なのでまずは目標にあった最小限のスキルを把握してそれをちゃんと身につけることが重要です。

WEB開発を将来的に考えているならチームでの開発を経験する


ちょっとした副業やデータ分析であれば考えなくても大丈夫ですが将来的にWEB開発をしたいのであればチーム開発による開発手法を身につけておいたほうが良いです。


具体的にはgitの使い方やgitを使ってどのようなルールでブランチを管理していくかなどのルールなどは現場に入る前に身につけておいたほうが良いです。

一人でプログラミングしていると動けば合格ですがチームで開発するとわかりやすさであったり再利用しやすいコードを書くことが求められます。チームの設計に合わせてコーディングする必要があるので抽象化されたコードを読み解いてそれに合わせたコーディングをするスキルも必要とされます。

このようにチームでの開発は一人での開発とは違うのでどのようにチーム開発を経験するかもとても重要です。

具体的な学習方法の例


Progate学習後の学習方法は目的や現在の状態によって大きく変わってきます。
そこで具体的な人物像をもとに適切な学習方法について紹介したいと思います。
完全にマッチするような人がいなくても近しい目的を持った人の学習方法を参考にしてみてください。
また転職を目指している人には年齢ごとに転職を成功させるコツが違うので参考記事をリンクしているので内容を読んだあとに自分にあう年齢の記事を参考にしてください。

文系学部でプログラミングに縁がないけれど学生時代に実践的なWEB開発のスキルを身につけておきたい大学2年生カオルさんの場合。

文系学部でプログラミングに縁がないけれど学生時代に実践的なWEB開発のスキルを身につけておきたい大学2年生カオルさん。


Progateで学んだコースはHTML&CSSとJavaScript、Ruby、Ruby on Railsです。

そんなカオルさんが目指すべきゴールは学生インターンに応募してWEB開発の経験です。

といってもそんな簡単にインターンに通過することはできるでしょうか?無くはないですが私の所感としてはあまりそういった企業は多くないかと思います。理由としては学生インターンを採用して開発タスクを降る企業はスタートアップが多くそういった企業では教育に手が回らない状況だからです。

なので予め独学でWEB開発に必要な最低限の知識を習得することをおすすめします。自分で作ったWEBサイトを公開することができればどこかのインターンで実戦経験を積めることは確実です。


そこまでにカオルさんにおすすめの学習方法はRailsチュートリアルを一通りこなしてみることです。
RailsチュートリアルはRailsの機能を学びながら最終的には簡単なSNSができるチュートリアルです。
これを一回、やってみたら十分にWEB開発に必要な知識は身につくのでまずはこれをやってみるのをおすすめします。完璧に理解できない部分が多少あっても問題ありません。まずは一通りやってみてスキルを学んでください。必要に応じて単体テストは飛ばしても構いません。目安としては2ヶ月でRailsチュートリアルを完了しましょう。そしてできたものを少し改良して公開してポートフォリオにすることをおすすめします。


2ヶ月となると少し長いので並行してインターンの選考を受けてみてください。これで晴れて学生インターンで実務に1年ぐらい従事できればプログラミング初心者卒業です。

プログラミング未経験でWEB業界への転職を考えている28歳のタカシさんの場合


タカシさんはProgateでHTML&CSSを少し学んでいるが仕事が忙しくて進捗がない状況です。

タカシさんへのアドバイスは未経験でプログラミング業界への転職を考えているのであれば学生のカオルさんのように独学でプログラミングを習得している時間はもったないです。というのもプログラミング未経験からWEB業界への転職で重要なのは若さだからです。とくに30代中盤からは転職難易度が大きくあがります。


そのためタカシさんのようなWEB業界への転職を考えている人には最短の勉強時間でスキルが身につくプログラミングスクールの利用をおすすめします。

プログラミングスクールの中ではチーム開発の演習もカリキュラムに入っていることが多いのでそこでチーム開発のスキルも身につけておきましょう。当然ですがそれ以外にProgateでは学べないけれど実際に働きはじめるまでに必要なこともすべてスクールで身に着けることができます。

ただし中には悪質なプログラミングスクールでお金も時間も無駄にしてしまうことがあるのでTwitterなどの客観的な評判をもとに選ぶことをおすすめします。

プログラミングスクールのもう一つの大きなメリットがキャリア面談や面接対策、転職先の紹介などの転職サポートがあることです。独学だとプログラミング学習に対して誰もお墨付きがない状況ですがプログラミングスクールだとスクールからのお墨付きがあるため採用でも有利です。


タカシさんの場合はまだ20代なので無料のプログラミングスクールを受講できる可能性が高いです。挑戦するための敷居が低い今がチャンスです。未経験からのWEB転職は30代まではとにかく時間が勝負なので早く行動に移してみることが重要です。動きながら考えて意思を固めるぐらいの早さで動くことをおすすめします。

プログラミング未経験でプログラミング学んで高単価な仕事を探している42歳専業主婦のミキさんの場合


ミキさんはProgateのHTML&CSSを修了した状態です。


そんなミキさんが最初に目指すべきゴールはココナラで1件1万円の案件を獲得することです。そうなるためにHTMLとCSSの知識に加えてJavaScriptとjQueryの知識を身につけることをおすすめします。

まずJavaScriptとjQueryはどんなものかを学ぶためにProgateで簡単に学びましょう。次にやることはLPの写経です。


LPとはランディングページの略でよくある一枚の会社紹介や商品紹介サイトです。
良いLPの紹介サイトがあり実際のデザイナーさんもよく参考にされています。

LPの最新デザインまとめ参考サイト|LP アーカイブ
クオリティの高いランディングページ(LP)を集めました。リスティング広告や楽天市場、ヤフーショッピングでランキングに入っている様なハイクオリティのデザインまとめサイトです。毎日更新しているので、昔のLPから最新のLPまでデザイン制作の参考にご活用頂けます。


まずはこの中から自分が気になったサイトを選んでみてソースコードを写経してみましょう。ページ上で右クリックをしてメニューを開いて「検証」を押すとHTMLやCSSが表示されます。これでコードがみれるので同じコードをテキストエディタでhtmlを作成してみましょう。


HTMLのヘッダーなどはわからない情報もあるので無視してもかまいません。

わからないところはコピペしてみて、外すとどうなるかを見てみてどうなるかを観察するのが良いと思います。

テキストエディタはVisual Stadio CodeかAtomをおすすめします。個人的には拡張性の高いVisual Stadio Codeをおすすめしますが好みの問題もあるのでどっちも使ってみて合う方をおすすめします。
どちらも無料なので安心してください。


そしてLPの写経になれてある程度コーディングができるようになったら次に目指すのはデザインカンプからのHTML&CSSコーディングです。

デザインカンプとはデザインが定義されたファイルのことでデザイナーさんがデザインをしたときのアウトプットがデザインカンプです。

デザインカンプは主にAdobe XDで作成されたxdファイルやAdobe Photoshopで作成されたpsdファイルが一般的です。

そのためAdobeクラウドを利用して開くのが一般的です。なのでそこは少しお金がかかってしまいますがAdobeクラウドに登録することをおすすめします。

そしてデザインカンプが開けるようになったら無料で公開されているデザインカンプをもとにHTML&CSS&jQueryでのコーディングをしてみましょう。また練習用に答えもついていることがあるので答えと比較して何が間違っているのかをよく確認してみることをおすすめします。


高い再現度でコーディングができるようになったら作成したLPをポートフォリオとして公開してココナラで案件を募集しましょう。最初は評価がなくなかなか案件が受注できないのでデザインカンプからのコーディングの単価を少し低めに設定してココナラに掲載しましょう。ここでココナラのアイコンは重要なのでできれば顔写真を入れるのが良いと思います。


並行して何かオリジナリティのあるLPの作成をすることをおすすめします。もし身の回りでLPを作りたそうな人がいれば話を聞いてボランティアで作ってみてWEBページを公開する費用だけその人からもらうのが良いでしょう。これでサイトができればちゃんとしたポートフォリオなのでココナラにも掲載しましょう。


また今後効率的にLPを作成する場合はSassを身につけていると効率的に作成できるのでタイミングを見て学習してみましょう。SassはCSSを効率的にかけるようにしたものです。学ぶのはWEBでしらべると無料で良い教材がたくさんでてきます。

今の仕事でデータ分析や業務効率化をしたい37歳公務員シンイチさんの場合の学習方法


シンイチさんはProgateのPythonをコースを修了したばかりで何をするか悩んでいる状況です。


シンイチさんは今の仕事には充実しているものの新しいもの好きでプログラミングを学び始めました。
そこでエクセルなどのデータを効率的に集計したりWEB上から情報を集めたりすることができることを知ったもののイマイチどうすればそれができるようになるのかをわからずにいる状況です。

そんなシンイチさんが身につけるべき知識はPythonでつかえる便利なライブラリをしってそれを使ってみることです。Pythonの便利さはコードの書きやすやというよりもライブラリが豊富なことです。Pythonはライブラリの使い方を覚えて初めて真価を発揮します。なのでよく使われているライブラリを習得することがPythonをデータ分析や業務効率化へ役立てるコツです。


ここで簡単に便利なライブラリを紹介します。

まずデータ分析に必要なのはCSVやエクセルのような表データを扱うことを簡単にしてくれるPandas。
Pythonで対話的な操作をブラウザからできるようにしてくれるJupyter Notebook。
データの表示するコードを簡単にかけるライブラリmatplotlib、seaborn、plotlyいずれか一つ。
これらをまず身につけるとシートを加工してデータ分析を行うことができます。Pythonでエクセル相当の処理を大量かつ柔軟に行うことができます。

そしてWEBから情報を収集したい場合はrequestsの使い方を学ぶのが最初の一歩です。ただしrequestsだとJavaScriptから生成されたHTMLを読み込むことが難しいのでその場合はPlaywright(もしくは参考書が多いselenium)がおすすめです。これらを使えるとWEBから情報を収集するWEBスクレイピングの知識が身につきます。


いま列挙したライブラリを学べばある程度のデータ分析は行えますがAIを触りたい場合はPyTorchとScikit Learn、Light GBMなどのライブラリを学ぶことをおすすめします。

画像の加工をしたいならOpenCVをおすすめします。

このようにPythonでなにかやりたいと思ったらなんでもライブラリが用意されています。

WEB開発もDjangoやFastAPIができます。ちなみにFastAPIは実際のサービスでも利用実績が伸びていてもしかしたら一番に人気のバックエンドのWEBフレームワークになる可能性があります。ブロックチェーンでもWEB3クライアントライブラリがあったりとPythonは開発者から人気の言語のためライブラリの開発が活発でフロントエンドやアプリ開発以外のことならなんでもできる言語になりつつあります。

なのでPythonを学び始めたら「Python <やってみたいこと>」で調べて適切なライブラリを勉強するのをおすすめします。教材は書籍やUdemyで探してみましょう。Pythonは趣味でやるにはとても良い言語なのでどんどん学んでみてみるのが良いです。

コメント

タイトルとURLをコピーしました