考える女性
これからはA.Iで多くの仕事が無くなるらしいし、小学校でもプログラミング教育が必修化されるらしいし、何だか焦るなぁ。私もプログラミングが出来るようにならないとまずいのかな?
でも一体何をどうやって勉強したらいいの?
いる管理人
画像処理エンジニアのつちもぐらが回答します。
画像シミュレータはC言語(C++)、業務の効率化はPythonで行っています。
初めて学ぶのにPythonをおススメする理由
画像処理エンジニアのつちもぐらです。10年以上C言語やPythonを仕事で使っています。特にPythonでは色々と業務の効率化を行っています。
もしWebエンジニアや組み込みエンジニアを目指しているといった明確な目標が無いなら、
まずはPythonがおススメです。理由は覚えやすくて使いやすく、且つ将来性があるからです。
私がPythonを使い始めたのは10年以上前で、当時から欧米では人気でしたが日本語での認知度はイマイチで、その時は日本語のドキュメントが豊富なrubyにしようか悩んでいた記憶があります。その時は「仕事で使うのだし、世界中で実績があるPythonにしよう。」と判断しました。
その後Pythonは習得の容易さとライブラリの豊富さからか、世界中の科学者に愛用され、どんどんサードパーティーライブラリが増えていき(こういった現象を生態系になぞらえエコシステムと呼ぶことがあります)、気が付けばA.Iや機械学習の代名詞となりました。そのためか最近は日経ソフトウェアの表紙に”Python”の文字が載っていない号を探すのが難しい位です。
今でも最初に学ぶべきプログラム言語はC言語という方もいますが、C言語とPythonとでは勉強のコスパが驚くほど違います。(実体験)
ある程度の厚さの本を一冊勉強するだけで、Pythonは仕事を効率化する何かしらのコードが書けるようになりますが、C言語はC 言語を実装する仕事でしか使えません。
初めて学ぶPythonの勉強方法
まずはprogateやドットインストールが、ゲーム感覚で学べて良さそうです。ただある程度学習を進めると、共に月1000程度の会費が必要となります。
毎月定額でお金を払うのが好きではない方は、買い切り型のUdemyの教材がおススメです。特に次の講義は、内容も含めて個人的にはイチオシです。
私もPython2.xから3.xに移行する際に、Pythonの復習も兼ねて受講してみたのですが、現役シリコンバレーのエンジニアが向こうの雰囲気を醸し出しながらも、内容は初心者を置いて行くような内容ではなく、且つ高度なTopicやコードのテスト方法にまで言及されていて、講義内容・時間共に満足な内容でした。スマホでUdemyのアプリもあるので、どこでも手軽に勉強できるのもポイント高いです。お値段は24,000円とお高めですが、 Udemy は2~3か月に一度位位のスパンでセールをやるので、待てるのであればウオッチしておいてセールの時に購入するのがおススメです。しかしこの講師は超人ですね。。。
Udemy には上記以外にも沢山のPythonの講義が用意されており、且つサンプルで幾つかは内容を確認出来るので、自分のレベルにあった講義を探してどんどん学習を進めて行けるかと思います。あと30日間返金保証 もついているので、購入後に『サンプルは良かったけど、本編は全然ダメじゃん。。。』と思ってしまった場合も安心です。
勉強はやっぱり書籍でなくてはという方は次の本が定番でおススメです。私も昔初版でPython2.xを勉強し、紹介させて頂いている4版も持っています。
Pythonを使い始めた頃の私は、みんなのPython初版ともう一冊の正規表現が詳し目に紹介されたPythonの本(絶版)の2冊だけ読み込んで、あとは職場で実際のコードを見て動かしながらPythonを学びました。本職のプログラムでない事もありますが、業務補助で使う程度であれば、この程度の勉強でもPythonは十分役に立ちます。
上記に挙げたいずれかの方法でPythonを学べば、仕事や研究のを効率化出来るようなスクリプトが組めるようになります。このサイトでも、今後は仕事で使えそうなPythonスクリプトの例を紹介していきたいと考えています。
Pythonを学んだ勉強した後は
今の自分の仕事を効率化出来るようなコードを書いてみるのが良いかと思います。具体的には手作業でペチペチと時間をかけてやっていた作業を、プログラムにやらせるイメージです。
仕事に適用する場合、基本ミスは許されないので、どんな短いコードでも真剣に考えるし、動作もよく確認するので、とても良い勉強となります。
また仕事へPython等のスクリプト言語を導入する事は、あなた自身の評価を上げる事にもなります。あなたの上司は、大量のデータを手打ちで何度も間違えながら入力する部下と、さっとコードを書いて、プログラムの入念な動作チェックをした後に、一括でデータ入力を済ませる部下のどちらに仕事を任せたいと思うしょうか?
こういったスクリプトを作っておくと、また同じような仕事が舞い込んだ時に、今度は前回よりも短時間でコードの実装と確認作業を終えることが出来るので、更に早い時間で対応出来ます。
更にプログラミングを学んでエンジニアを目指したくなったら
職場の業務をいくつかPythonで効率化してみて、それほどプログラミングを苦痛と感じなければ、プログラミングスクールに入って、本格的にエンジニアを目指すのもありかもしれません。最近のプログラミングスクールは就職の斡旋までしてくれるところが多いので、異業種からでも半年程しっかり勉強すれば、エンジニア就職する事は可能です。
スクールで学ぶ言語は、希望する職種によってはPythonではないかもしれませんが、最近の高級言語は似たような思想で作られているものが多いので、ある程度 Pythonが出来れば、どの言語でも強い抵抗を感じる可能性は低いでしょう。
今後ITエンジニアが不足する事は経済産業省のレポートからも明らかなので、今後もプログラマが職にあぶれる可能性は低いでしょう。また現場で何年か経験を積んでからフリーランスとなれば、若くても年収850万円以上を狙う事は普通に可能です。
プログラミング自体は趣味でやる人がいるくらい楽しい作業なので、現在の仕事内容や給与に違和感を持っている人は、検討してみてはいかがでしょうか?
この記事でエンジニアを目指す人が1人でも現れたらいいなと思いながら、この辺で筆を置かせて頂きます。