プログラミング

プログラミング未経験でPythonを独学し始めたころ[最初はキツイ]

文系でエンジニアの経験もないけどプログラミングを学んでみたい。

 

でも、理解できるのか、ちゃんと学べるのか不安だから、経験者の声を聞いてみたい。

 

 

このような疑問にお答えます。

 

私は、本記事のタイトルの通り、文系で営業歴15年、アラフォーでIT企業で働いているけどエンジニア経験はない中でPythonを学んでます。

 

約3ヶ月くらい経ったので、その経験談をお伝えします。

 

合う合わないありますが、学習のコツと言うか、ポイント的な事もお伝えします。

 

ちなみに学習開始時点の私のスペックは以下です。

 

・文系:経済学部卒。社会人になってからは営業畑を歩むこと15年

・アラフォー:40歳を前にしてプログラミング(Python)学習開始

・未経験:IT企業で仕事してますが、プログラミングは全く未経験。言語も知らないところからスタート。

 

これを読んでいただけると、文系で未経験でもプログラミング学んでみようとか、もう遅いかもという気持ちに対して前向きになれると思います。

 

プログラミング未経験でPythonを3ヶ月独学した感想

最初の頃は全く意味不明

学習を始めて初期の頃は全く意味不明です。

 

一番最初は、「Hello」と出力するために、print(“Hello”)って書こうって言うのが私が一番最初に書いたコードです。

 

なんでprintなの?印刷?

なんで””(ダブルクオーテーション)が必要なの?

なんで()が必要なの?

 

このたった10文字に満たないコードでこれだけの疑問が浮かびます。

 

でもこれを実行すると「Hello」と出ます。

 

全く意味不明で、何がどうなっているのかサッパリ分かりません。

 

学び始めはこんな感じです。

 

正直ここで深く考えるとドツボにハマってしまって、学習が進まないので、こういうもんだという風に割り切る感じが良いですね。

 

なぜ?どうして?と考えても答えは出ません。Pythonはそういう書き方をするのだ、というようにしてタスクをこなしていくのが良いです。

 

不安になりますが、後々で理解できるというか覚えてきますので、まずはこの最初の関門を超えましょう。

 

 

Pythonに限らず言語は何から始めても同じ

プログラミング言語については、一般的には、取っつき易いとか、理解しやすいとか、色んな選び方がネットに情報ありますが、Python学んでみて思うのは、好きなものから学べば良いと思います。

 

選ぶ基準も何でもOKと思いますよ。

 

私は、人工知能とかビッグデータ関連が今度伸びる、かつ、人材不足という事からPythonを学ぶ言語として選びました。

 

言語なんて山ほどありますし、全くの未経験の人から見れば、どの言語も難易度は変わらないように見えてきます。

 

なので、ぶっちゃけ、言語は何から始めても一緒です。

 

興味、目的、インスピレーション等色々な要素から決めればOKです。

 

ネットでよく見ますが、「〇〇の言語を習得出来れば、△△も簡単です」は、ぶっちゃけ初心者には何を言っているのか意味不明と思います。

 

しかし、そのうち分かってくるのかなと思いながら私も日々Pythonを勉強してます。

 

先人がそういうのだから、1つ言語習得したら後はサクサクいけるんでしょう。

 

そんなの無理だよと思う前にまず1つの言語学んでいけば良いのです。

 

プログラミング言語の違いって何?[どれ選べばよいか分からない場合] こういったお悩みにお答えしたいと思います。 気合入れてプログラミング勉強するゼ!となった時、まず最...

 

学ぶには遅いとか難しいとか言い訳しない

恐らく私の年齢(アラフォー)で、イチからプログラミングを学ぶ人は少ないでしょう。

 

何故か。年齢的に遅いと言われるからです。

 

また、プログラミングを習得するにはコンピュータの知識も必要で云々・・・。

 

だから否定的な意見が多かったりしますが、それって一般的な意見だったり、あなたではない誰かの意見だったりします。それが全てですか?それが絶対正しいですか?

 

また、その意見って、プログラミングを経験した人の意見ですか?

 

答えはNo。つまり、あなたのやる気があれば遅いとか難しいとか関係無いのです。

 

プログラミングから脱線しますが、何をやるにも遅くない例として、私が勝手に尊敬している人の一人で、稲田弘さんと言う方がいます。

 

60歳で水泳を始めてほぼ泳げないところから、80歳くらいでトライアスロンのアイアンマンディスタンス(水泳3.8km、自転車180km、フルマラソン(42.195km))を制限時間内に完走した方です。

 

40歳にもなっていないのに、始めるのが遅いだの難しいだの言っている自分がバカらしくなりますね。

 

なので、つべこべ言っている間にとにかくやってみれば良いと思います。

 

そしたら可能性とか適性とか見えてきます。

 

実は、難しそうとか遅いとかでやらない場合に見えてくる未来と言うのがあります。

 

「後悔」です。

 

「あの時挑戦しておけば良かった」「どうして他人の意見に振り回されたのだろう」

 

こういった後悔の念が絶対に出てきます。

 

あなたが挑戦してみたい、やってみたい、プログラミングから学ぶことがあるはずだと思うならチャレンジすべきです。

 

仮に失敗したり適性が無いとしても、それによって得ることはたくさんありますからね。

 

挑戦しない=後悔 です。

 

 

意外と稼げるようになれそうという謎の予感

ぶっちゃけ何の根拠もありませんが、Python学んで将来的に意外と稼げるようになりそうだなと言うのが学んでみた感想ですね。

 

もちろんPython1本で食べていけるほどではないと思いますが、第2の収入の柱くらいにはなれそうじゃないかなって思います。

 

以下、あえて雑な言い方をしますが、ご容赦下さい。

 

結論、ビジネスの観点から言えば、プログラムの中身がどうのこうの関係無く、プログラムが仕様、つまり求められている通りに動けば何の問題も無いのです。

 

言ってみれば、ググって調べたコードをコピペして動かしてみて、仕様通りに動けばそれでOKです。

 

もちろん、案件によっては、そのコードの中身まで精査される可能性もありますが、それって本質ではなく、プログラミングの本質は、「仕様通りに動くこと」な訳です。

 

仕様通りに動けば、別に答えを見ながらコード書いても良いし、参考書見てコード書いても良いです。

 

別にコード書いているところを見られて、「参考書は使うな!」みたいなことも言われません。

 

例えるなら、大学のテストの「参考書等持ち込みOKの科目」という感じでしょうか。

 

あるいは英語訳を辞書片手に行うみたいな感じも近いかもしれません。

 

いずれにしても、根拠なき自信ですが、意外と普通に稼げるんじゃないかな?と言うのが学んでみた感覚です。

 

もちろん、すぐには無理ですし、ほんの数か月学んだくらいでビジネスが出来るほど甘い世界ではないのは当然です。

 

とはいえ、逆に数か月学んでみて、箸にも棒にも掛から無い感じではないという感覚を得られたのが大きいと思います。

 

 

プログラミング未経験のPython学習コツ[独自目線]

全然意味わからなくてもコードを書いていく

勉強の仕方は人それぞれですが、私のおススメとしては、意味わからなくても、実際にコードを書いていくことで学んでいくのが良いと思います。

 

最初は、例えば私の場合のPythonだとこの時は何の構文を用いるのかとか全く分かりませんから、コードを模写しています。

 

つまり、答えを書き写す感じで、コードを打ち込んでいきます。

 

分からなくても良いです。このコードの意味は何?と聞かれたら、8割くらい分からない感じです。

 

それでも手を動かして書きまくっていくと、あとあと自然に覚えれるんですね。

 

この自然に覚えるというのが重要と思っています。英語とかの言葉でもそうですが、いちいち意味を理解しながら覚えていくと実際の会話や文章を読み書きするときに全然使えないですよね?

 

また、今話をしている日本語は、「こういう意味だからここで使うんだ」という風にして使っていないですよね?

 

いわば「考えずに話をしている、考えなくても話ができる」レベルかと思います。そこまでもっていくと実用にとても有益だと思います。

 

時間は少し必要ですが、模写しながらなので無理に覚える苦しさがあまり無く、実践で使える覚え方になります。

 

 

模写でも良いから「プログラムが動く」を経験する

上記の通り、コードの意味や内容、何故この構文なのか、何故この表現なのかとか細かい事は後回しにして、とりあえずプログラムが動くという経験を積みます。

 

正直、全く未経験から始めて、コード書いてプログラムが動く体験をすると、めちゃめちゃ感動します。

 

私の何度も夜中に「おお!動いた!!」と声に出してしまった事があります。

 

プログラミングって、普通に生活していたら間違いなく関わる事は無いし、今てもとにあるスマホがサクサク使えるのもプログラミングのおかげって分かる人は多くは無いはずです。

 

それが多少分かっている人も、プログラミングって何をどうやっているのかまでは分からないはずです。

 

なので、例え少しの量のプログラムでも、たいしたものではないプログラムでも、自力で打ち込んで動かす事で、「こんな俺でもプログラミング出来た!」という経験を積むことが可能になります。

 

この成功体験が重要で、中の文法とか構文の詳細は後回しでOKです。

 

とにかく手を動かして、コード書き写すだけでもOKなので、プログラムを動かす経験を積んでいくのがおススメです。

 

 

エラーが出たらチャンスと思う

ただの模写、つまり書き写すだけなのに、プログラムを実行するとエラーが出ます(笑)。

 

つまり答え見てるのに間違うみたいな感じですね。

 

「え?書き写しているのにエラーでるの?ダサッ!!」

 

そう思いますよね。でも、出るんですよ。意外にこれが。

 

例えば「,(カンマ)」と「.(ピリオド)」を打ち間違えるとエラーです。

 

これは私が実際に何度も体験したうちのひとつで、「本当に1文字でも間違っていると動かない」です。

 

もしくは、「動いたとしても、仕様つまりは動いて欲しい通りに動かない」です。

 

私もプログラミングを学ぶ前は、「そんなことは無いはず。動くけどちょっと変くらいじゃないの?」と思っていましたが、本当に1文字違うだけで動きません。

 

プログラミングって普段触れないからその感覚が分からなくて、例えば機械とかなら多少ネジが小さくても動いたりするし、ワッシャー1枚欠落してても動くという感覚ありますよね。

 

でもそうじゃないんですね。1文字違っていたら、変な動きしたり、動かなかった理という感じです。

 

あるいはおかしな動きをして、仕様通りに動かない等になります。

 

ちなみに、過去、プログラムをほんの少し間違えたことによって、億単位のプロジェクトが一撃で吹っ飛ぶという事がありました。

これはプログラムが動かないというものではなく、一文字異なる事で、全然違う動きをしてしまうというものです。

【ハイフンの見落としで打ち上げ失敗。NASAの教訓。】

 

Python含め、おそらくプログラミング全体と思いますが、エラーの場合はここがエラーだよ、って教えてくれるので、コードの中身を理解するのにも役立ちますしそのエラーを治せばプログラムはおそらく動くだろうという事になりますよね。

 

まったく検討がつかない訳ではなく、ある程度目途はつけれるところになります

 

エラーが出たら、色々学ぶチャンスですから、エラーを出しまくりながら覚えていきましょう。

 

 

 

まとめ:触れた事無いからわからないだけ

まとめますと、Pythonを完全ド素人が学んでみた結果としては、触れた事が無いものだから、意味不明なだけで、そのうちちゃんと理解できるもの、という感じになります。

 

学び始めは全くチンプンカンプンです。

 

知っている英語とか記号とは違う使われ方をするし、何故そうなるのかも最初は分かりません。

 

なので、重要なことは、わからなくても理解できなくても立ち止まらないことです。

 

分からないけど突き進むって、これまでの義務教育とか学校とか仕事ではやらないことなので、慣れませんが、突き進みましょう。

 

ふと振り返った時に「お、理解できるようになっているやん」と思えたら成長している証拠です。

 

短期間では無理なので長期目線で行きましょう。