現役AWSエンジニアのヒラノです。
アラフォーながらクラウドインフラの勉強をはじめ、180日間かけてエンジニア転職に成功し、年収アップに成功しました。
気になる方はRaiseTech受講の記事をご覧ください。
ここから本編↓
私は36歳からPython学習をはじめました。
[blogcard url=”https://utsusapuri.com/age36-python-study/”]そもそもプログラミングがはじめてとか数十年ぶりとかだと最新のプログラミングを取り巻く環境が全然わからなかったりします。
私の場合は、「プログラミングで何ができるか」がわかる程度でした。言語を触るのはBASIC以来数十年ぶりで、ほぼ初めてに近かったです。
独学かスクールか
最初は独学かスクールかで悩むと思います。私もそうでした。
ちなみに私はオンラインスクール&本で学ぶ独学スタイルでPythonを勉強しています。
オンラインスクールの中でも、基本独学スタイルでできるPyQを使ってます。
PyQのPython講座を一通りやった後にPaizaをやり始めました。
しかし、たまに初歩的なことを忘れてしまうので、スポット的にPyQを契約してもいいかなーと思っています。
プログラミング学習者向けに、ホリエモンがこんなことをいっています。
「Hello Worldまでやったらあとは自分の作りたい物を作ってOK」
毎月基礎練習ばかりやっててもつまらないし、結局のところなにかしらの成果物ができなければ仕事にはなりません。
ある程度基礎を学んだら実践→忘れたり復習が必要な点が出てくればまた基礎練習、みたいな感じです。
このあたりは楽器の練習に近いなーと思ってます。
ピアノであれば、バイエルばっかり弾いてても運指は上手くはなるけど絶対につまらないし、誰も感動させることはできません。
実践的に曲を弾いてみないと多分ほとんどの人は辞めてしまうでしょう。
以前、ギターを学んでいた時、弾きたい曲があったからメカニカルトレーニングなど毎日やっていました。が、弾きたい曲がクリアできるレベルになったらその時点で基礎練習は辞めてしまいました。
そしてまた上級の曲をやる時はみっちり基礎練習をやってから曲を弾く、みたいな流れを延々とやっていたらいつの間にかギターが上手くなっていました。
プログラミングも同じで、基礎練習→成果物を作る→わからない場所はまた基礎練習→レベルアップした成果物を作る、、、的な流れがベストだと思ってます。
私も、Python以外にMacで言えばターミナルの知識、あとはバージョン管理のGitやらサーバーやらデータベースやらを広く浅く学習しながらPython学習を進めています。そのほうが結果に結びつきやすいので学習のモチベーションが保てます。
特に、『自分専用の便利ソフト』と、『Webアプリケーション』は作る気が出るのでおすすめ。
『自分専用の便利ソフト』は、仕事をする上で毎回やっている面倒なこと(ログインとか)を簡単にしてくれます。時短にもなるのでやる気がでます。
『Webアプリケーション』はブラウザ上に反映できるので見た目にわかりやすくて良いです。
シンプルな物でもいいので、何か一つ自分の便利ソフトを作ってみると更にPythonを深く学習してみようと思うはず。
数学初学者&プログラミング初学者&Python初学者にはいきなり人工知能や機械学習は無理なので、このあたりから手をつけてみると多分効率よく覚えられるかと。
便利ソフトとWebアプリなら別にPythonでなくてもRubyでいいじゃんってなると思いますが、なんとなく今後ライブラリ等が増えていって便利になっていきそうなPythonを選んだ方のためのアドバイスとさせていただきます。
あと、スクールに通う時間とお金のある人はスクールでみっちり学習したほうがいいです。
最近のスクールは実践的な学習のできるところが多く、また就職支援もあったりします。
[blogcard url=”https://utsusapuri.com/python-school-hikaku/”]今自営業ではない人で、趣味ではなく就職してプログラミングを仕事で使いたいって人は絶対にスクールが良いと思います。特に仕事と仕事の合間、休職中の人なんかは絶対にスクールがいいです。
料金はそれなりに高いですが、仕事につければすぐに元は取れます。
自営業を並行しながら自分の仕事の領域を便利にするためにプログラミングを使っていきたいって方は独学でもいいです。私はこっちです。
環境構築で挫折する
私が辛かったのはやっぱり環境構築です。
多分、プログラミングを勉強しようとした人の90%の人がここで挫折するのではないかと思ってます。
最初にインストールする物も、Pythonだけでも純正のPythonもあれば、Anacondaもあるし、またCloud9を使うのか、仮想環境でやるのか否か、、、等。
私は上記に書いた方法はAnaconda以外全て試しました。
この解答としては、「自分の目標に近い物ができる環境にまず手をつけてみる」です。
私の場合は最初にPythonを覚えようとしたモチベーションはスクレイピングでした。
[blogcard url=”https://utsusapuri.com/python-scraping/”]そのスクレイピングを実践で使おうとした時、最初の辛さを解消してくれたのはCloud9でした。
ライブラリのSeleniumを使うものでなければCloud9でもスクレイピングできましたし、「ほー、こんな感じで動くのかあ」と実感することができました。
PyQやProgeteで学んだものをCloud9環境で実際に使ってみる、という流れは初心者には簡単でわかりやすいんじゃないかと思います。
ターミナルがそもそもわからなかった
私はMacなのですが、ターミナル(黒い画面)の使い方が全くわからなかったので、Pythonのインストールに苦労しました。
Python3を使いたいのに2が出てきてしまったり、ライブラリのバージョンが古いのを新しくできなかったりで、まずターミナル慣れをする必要があるなと思いました。
ターミナルの基礎はTechAcademyの記事が参考になります。
[blogcard url=”https://techacademy.jp/magazine/5155″]最初は入力を間違えて謎のエラーが出てきたりして戸惑いますが、何度か使ってみるとこいつがだんだん便利な存在になってきます。
なので、最初はローカル環境のターミナルからではなくてCloud9などから入るとわかりやすいかと思います。
もしミスって環境がめちゃくちゃになっても、また新たに作り直せば大丈夫です。やり直しやすいので何度でもトライできます。
pipがよくわからなかった
Pythonを使う上で、いろいろ検索すると大体『pipをインストールします』と出てきます。
私はpipってなんだべ??って思いながらインストールして使ってました。
『とりあえず手をつけてみる』がプログラミング学習には手っ取り早いので、言われるがままにインストールして使っていましたが、他のライブラリとは違うような気がしていました。
pipとはパッケージ管理ツールで、こいつを使うとパッケージ同士が干渉して使えないってことが無くなるわけです。使い方がわからない方はこちらを参考にしてみてください。
[blogcard url=”https://tonari-it.com/python-pip/”]pipは一世代前のeasy_installやcondaなどと同じ働きをしてくれるようです。
pipについてはまだまだ学習が必要だなと感じています。