Pythonのスキルアップに必要と私が考えていることを羅列している記事です。
入門・初級・中級にわけて書いております。
今回は上級者向けの話は割愛しますが、上級者も基本的に中級者と同じく基礎勉強と実践の繰り返しです。
プログラミング上達の道は険しいですが気長に取り組んでいきましょう。
【Pythonスキルアップ入門】まずはここを目指せばOK

1.たくさん書いてたくさん動かす
2.楽しんで書く
3.他人と比較しない

【Pythonスキルアップ初級】ステップアップのために必要なこと

4.挫折しても気にしない
5.とことん調べる
6.諦めも肝心
7.新しい知識は即試す
8.まずは動かすことを目指せ
9.段階的に作る

【Pythonスキルアップ中級】一段上を目指すために必要なこと

10.基礎を大事にする
11.常に改善を考える
12.自分の進みたい分野の最新技術を学ぶ
13.関連知識や必要な知識について学ぶ
14.必要な投資には躊躇しない

【Pythonスキルアップ入門】まずはここを目指せばOK

入門
プログラミングを始めたばかりの人が最初に目指すステップです。最初はスキルうんぬんよりも楽しんで書くことを目指しましょう。

たくさん書いてたくさん動かす

入門者から初心者においては楽しむこととたくさん書くことが全てと言っても過言ではないです。
勉強とか文法とか二の次でいいのでとにかく書いて動かしまくりましょう。
バグが出たり一部動かなかったりするかもしれませんが、とにかく書いて動かしまくります。
続けていればだんだんコツがわかってくるので動くものも増えていきます。
関連記事>>Pythonの写経の考え方と実践する時のポイント〜積極的にコピペを活用しよう〜

楽しんで書く

まずはプログラミングを楽しむことを目指しましょう。
プログラミングを楽しめなければスキルアップはありません。
最初は全然動かないのでつまらない期間がめっちゃ長いですが、そこを通り越せば「楽しい」と感じる瞬間が来ます。
時間はかかりますが気長にがんばりましょう。

他人と比較しない

入門者や初心者が他人と比較するのは絶対にやめましょう。
比較しても得られるものは何もありません。
成長のスピードは人によって違いますし、そもそもスタートラインが違ったりします。
例えばタイピングができる人とパソコンをろくに触ったことがない人ではスタートラインが違うことになります。
同じ期間勉強すればタイピングができる人が早く結果が出せるのは当たり前ですよね。
他人と比較しても何も生まれません。自分のペースでガンガン実践しましょう。

【Pythonスキルアップ初級】ステップアップのために必要なこと

初心者
書いたコードが安定して動くようになってきたら初心者です。あえて入門と初級をわけたのは入門者で脱落する人が多いからです。
いや、本当になんでつまらん勉強から始めて脱落していくんだろうね。
基礎勉強は確かに大事です。初心者のうちからやっておくに越したことはないですが、それで挫折するなら本末転倒。
適度に勉強しつつ実践に注力しましょう。
入門者の時点で挫折する人も多いので初心者になれただけでも他の人より頭一つ出ています。
とはいえここからがようやくスタートラインなので引き続き努力をしましょう。
初心者は技術向上よりも精神力向上が大事です。
基礎勉強よりも何よりもプログラムを作りきることや、動かない要因を徹底的に調べることに注力しましょう。

挫折しても気にしない

Pythonに限らずですが現在プログラミングをやっている人の大半は一度は挫折を経験しています。なので1度や2度の挫折なんざ気にする必要はありません。
Pythonは比較的難易度の低い言語ですが、それでも習得には時間がかかります。最初のうちはできることも少ないので挫折もしやすいです。
しかし、勉強を続けていけば少しずつですができることが増えていきます。なので「今はできなくてもいつかやったるぜ」と自分を奮い立たせてもう一度立ち上がりましょう。
かくいう私も何百という挫折を繰り返しています。しかし諦めずに勉強を続けてきたのでできることが少しずつ増えていきました。
関連記事>>Python勉強の挫折を乗り越える7つの方法

とことん調べる

疑問に思ったことはとことん調べることが大事です。
ググって1ページ目によい情報がなかったら2ページ目でも3ページ目でも探しましょう。
ググってだめなら本を読み漁りましょう。
何が何でも原因を突き止めてやるくらいの気持ちが大事です。

諦めも肝心

とことん調べると真逆ですが、時には諦めることも大事です。
初心者の頃はどう頑張っても動かない原因やバグの原因がわからないときがあります。
ググるのってめちゃくちゃ簡単に見えてめちゃくちゃ難しいです。

・何を調べれば解決できるかわからない
・英語のページしか出てこない
・どのキーワードを使えば目的の情報に辿り着けるかわからない
・ネット上に解決策がない
・解決策が存在しない

などなど難関がかなり多いですね。
なので深追いは厳禁。
30分くらい調べて解決できなければ一旦飛ばして次に進みましょう。

必要な知識だけ学ぶ

初心者の頃は必要な知識だけを学ぶようにしましょう。せっかく覚えたことも使わないとすぐに忘れてしまうからです。
いろいろ覚えた方が早く成長できるような気がするかもしれませんが、全く逆で一つ一つの知識をピンポイントで覚えていった方が早く成長できます。
まずは必要な知識だけ覚えていきましょう。

まずは動かすことを目指せ

最初の頃はコードがぐちゃぐちゃだったりバグだらけだったりしますが、気にしなくOKです。
まずは動くものを作りきること目指しましょう。
「最初からきれいなコードを目指せ」
とか言う意見もありますが、最初から綺麗なコードを目指すといつまで経っても動くプログラムが作れません。
コードをきれいにすることはプログラムが完成した後でもできます。
まずは動くものを作り切りましょう。

段階的に作る

最初から大がかりなアプリやWebサイトを作ろうとすると挫折する可能性が高いです。
なのでまずは、
「アプリのUIを一つ作ってみる」
「簡単なWebページを1ページ作ってみる」
など簡単なことから始めましょう。
例えば最初に「WebのTopページ」を作成して、次に「目次ページを作る」などです。
作ったページをリンクで繋げば一つのプログラムとして動かすことができます。
Webページを1ページを作るのも難しいという場合はもう少し分解してまずは「ヘッダー」・「コンテンツ」・「フッター」などページを構成する部品ごとに作成してみましょう。
関連記事>>Pythonの最速の勉強方法なんて探すな~目的を明確にせよ~

【Pythonスキルアップ中級】一段上を目指すために必要なこと

中級者
初心者までは基礎をそこまで気にする必要はありませんが、中級者以上を目指す場合はやはり基礎勉強が大事です。
基礎をしっかりと固めつつ最新技術や関連知識について学んでいきましょう。
やることはたくさんあるので優先順位をつけて取り組むことが必要です。

基礎を大事にする

「基礎なんて初心者のやるもの」と考えている人が多いかもしれませんが、中級者や上級者こそ基礎を学ぶことが大事です。
特に中級者はいろいろできるようになって調子に乗りやすいので、基礎から外れたものを作りやすいんですよね。(経験者談)
プログラムは基礎を学ばなくても書けます。
なら、なぜ基礎が必要かというと理由は以下の2つです。

・他人でも理解しやすいコードを書くため
・改善や拡張性の高いコードを書くため

他人が理解しにくいコードは勘違いや不具合の要因になり将来的に大きな問題を生む可能性があります。
なので基礎をしっかりと理解して他人でも理解できるコードを目指しましょう。
ちなみに未来の自分も他人です。
次の日ならまだ覚えているかもしれませんが、1か月後、1年後に自分の書いたコードの意図を読み取る自信はありますか?
私は全くないです(笑)。
未来の自分を救うためにも中級者以上は基礎を大事にして他人でも理解しやすいコードを目指しましょう。
また、基礎を無視して書くと拡張性(コードのアップデート)が低くなります。また、不具合が起きた時も原因の特定や修正が困難になるケースも少なくありません。
大規模なシステムなら調査や修正に通常の5倍・10倍の時間を要することもあります。
基礎を無視すれば短期間で作れるのは確かです。
しかし、今後の修正を考えると膨大な時間の損失の可能性を秘めています。
面倒に感じるかもしれませんが、将来の自分を救うためにも基礎をしっかりと学び適切なコードを書くことを心がけましょう。

常に改善を考える

常に「もっとユーザの使いやすいプログラムにできないか?」、「もっときれいなコードを書けないか?」、「もっと速度を上げる方法はないか」など改善を考えます。
「もっとユーザの使いやすいプログラムにできないか?」が特に大事です。
ユーザへの配慮は開発者に欠けやすい部分なので常に意識する必要があります。
どれだけ技術を上げたところで完璧なプログラムを作れることはありえません。
必ず何かしらの欠陥や問題を持っています。
欠陥や問題は不具合に限った話ではなく、ユーザ操作がわかりにくかったり、処理速度が遅かったりなどユーザビリティや性能の問題もあります。
また、上記問題は時代によっても変わっていくものです。
現在は問題がなくても将来的には問題となる可能性もあります。
特にIT分野は進化が速いので現状に満足しているとすぐに時代遅れのシステムとなります。
常に改善を考えてよりよいシステムの開発を目指しましょう。

自分の進みたい分野の最新技術を学ぶ

基礎勉強だけではなく最新技術についても学んでいきましょう。最新技術を学ぶ時は仕事で使う可能性のある知識だけでなく、自分が将来的に進みたい分野の知識を学んでおくことも大事です。
仕事で使う知識ってかなり偏っています。
なので仕事を使う知識をベースで考えると学べることは多くありません。
一生その会社で働くのであれば問題ありませんが、将来的に別の分野に進みたいと考えている場合は仕事の関連知識だけでは全く足りないです。
技術を学ぶときは自分が将来的にやりたいことをベースに考えるようにしましょう。

関連知識や必要な知識について学ぶ

「プログラミングだけ勉強していればいいの?」
という疑問を持つ方も多いと思います。
もちろんプログラミングの勉強だけしていたらだめです。
コンピュータや数学など関連する分野についても学びましょう。
また、コンピュータ関連以外でも自分の将来に必要な知識についても学ぶことが大事です。
例えばフリーランスを目指している場合はマーケティングや営業の知識があった方がよいです。
何の知識が必要かは目指す方向によって違います。
「自分の将来にどんな知識が必要か?」ということを常に考えるようにしましょう。
何から始めていいか迷っている人は情報処理試験を勉強するのがおすすめです。
情報処理試験はIT分野が必要な知識が詰まっています。
関連記事>>基本情報技術者(FE)の対策まとめ

必要な投資には躊躇しない

パソコンや本など必要と思う投資には躊躇しないことが大事です。お金を理由に諦めてしまう人は成長が遅くなります。
多少高くても必要と感じたものには投資しましょう。
もちろん不要な投資をしても何の意味もないので「自分の目的達成にこの投資が必要か?」と考えることは大事です。例え超有益な情報だとしても目的に合わないものに貴重なお金や時間を割いてまで投資する必要はありません。
迷った場合は自分の目的と照らし合わせて考えましょう。
また、借金をしたり生活費を削ってまで投資する必要はありません。日常生活が壊れない範囲で投資すればOK。
「おやつを我慢する」・「遊ぶお金を少し減らす」・「飲み代を少し削る」でも参考書一冊くらいの値段なら十分捻出可能です。
「捻出するお金が全くなくかっつんかっつんの人はどうすればいいの?」
という疑問を持つかたもいると思います。
捻出するお金がないという人はそのままだと投資は無理なので根本的な改善が必要です。
「家賃の安い家に引っ越す」・「収入が多い職業に転職する」・「時間に余裕があるなら副業をする」など生活を大きく変えて余剰金を作ることを目指しましょう。

終わりに

入門者から中級者の勉強方法について紹介しました。
入門者・初心者はそこまで基礎にこだわる必要はないのでまずはたくさんコードを書いて動かすことを目指しましょう。もちろん最初から基礎勉強をした方が成長が早いですが、勉強は挫折の要因にもなるのでひとまず動かすことを重視でOKです。
中級者以降は基礎勉強が非常に大事になります。プログラムはむちゃくちゃなコードでも動きますが、基礎を無視したコードは理解しづらく修正も難しくなるので将来的に大きな問題を起こす可能性が高いです。
また、基礎だけでなく最新技術や関連知識など必要な知識はどんどん学んでいきましょう。
やることはたくさんあるので優先順位をつけて一つずつ地道に学んでいくことが大事です。
本記事では上級者については触れていませんが、基本的には中級者までと同じように勉強と実践の繰り返しです。上級者だから何か特別なことをするということはありません。
上級者を目指すならかなり長い道のりになりますが、気長に勉強と実践を続けましょう。
私もようやく中級者と呼べるレベルになったくらい。なので上級者目指して日々邁進しております。
おすすめ記事Python入門者のための100日勉強方法
おすすめ記事PythonにおすすめのノートPC4選+パソコンの選び方
Pythonの始め方>>Pythonプログラミングの始め方まとめ