プログラミング学習を始めようか悩んでいる。。。
でも、何から手を付けようかな。。。
そもそもプログラミングを学んで何か得はあるの?
こんな疑問にお答えします。
本記事の信頼性
私は約1ヶ月前から本腰を入れてプログラミング学習を始めました。
そんなこともあって、最近ブログの更新頻度が下がっていました。
普段、業務でプログラミングが必要になることはありません。
私は研究者ですが、細胞を使った実験などをメインとしているので、どちらかと言えばプログラミングなどのコンピューター系は強くありません。
それでも、約1ヶ月プログラミングの勉強をしていると、結構理解できるようになってきました。
まだまだプログラミング初心者ですが、初心者なりの視点で、プログラミングを始めるための道筋を紹介したいと思います。
本記事の内容
- プログラミングを始めた理由
- プログラミング学習の始め方
目次(クリックすると読みたい部分まで飛べます)
プログラミング学習を始めた理由
私がプログラミング学習を始めた理由は次の4つです。
プログラミングを始めた理由
- ブラックボックスを理解したい
- 業務効率アップ
- 強みの掛け算
- ジャマおじにならない
順番にご紹介します。
ブラックボックスを理解したい
私がプログラミングに興味をもったきっかけは、プログラミングに対するコンプレックスでした。
私は研究者ですが、機械系に非常にうといです。
このブログを立ち上げるときも、結構苦労しました。
研究業務の中で様々な機器やソフトウェアを使ってデータを解析するのですが、入社当時はエクセルの機能もロクに使いこなせていなかったです。
今となってはそこそこエクセルは使えるようになったものの、やっぱりコンピューター関係は苦手意識がありました。
ただ、コンピューターは苦手なんだよねぇ、、、という言い訳が通用しない時代になってきたなと最近つくづく思います。
製薬会社の研究も機械学習やビッグデータなどのAI分野を活用した動きが活発になってきています。
探索研究者の私としては、データに弱いというのは市場価値が下がる一方だと危機感を抱いていました。
そして、AIを活用して研究を行うためには、データサイエンティストがどんなプログラムを用いて、どんな処理をおこなっているかを自分の頭でイメージできるようになりたいと考えるようになりました。
データサイエンティストがおこなっている仕事が自分の中でブラックボックスのままでは、どうしてもAIをうまく活用できない気がしたのです。
それがプログラミング学習を始めようと思った1つ目のきっかけです。
業務効率アップ
実際、プログラミングを覚えると、業務効率をアップさせることができます。
Pythonなどの言語をある程度使えるようになるとWebスクレイピングが行えるようになります。
Webスクレイピングは、Webサイトから、特定の情報を抽出する作業です。
たとえば、毎日決まった時間に特定のサイトにログインして、最新の記事のタイトルとリンクをCSVファイルにまとめるみたいな作業を自動でできます。
研究者であれば、論文調査や特許調査の際に、漏れなく調べることができます。
こういう自動化技術については、想像している以上に色んなことができます。
私もまだまだ初心者なので、おそらく、私もまだ想像できていないようなことができるはずです。
プログラミングを学ぶことで、どんなことができるのかを理解したいという思いがありました。
強みの掛け算
自分で言うのもなんですが、私は製薬会社の探索研究者としては結構優秀な方だと思います。
入社以来、数多くのテーマを生み出していますし、複数テーマのプロジェクトリーダーを兼任しています。
20代後半で研究所の中期経営計画の研究戦略策定にも関わっています。
なので、同年代の全国の研究員の中であれば、上位10%ぐらいの実力はついていると思います。
しかしながら、私レベルの研究員なんて世界中にゴロゴロいるのも事実です。
けれども、私には他にも強みがあります。
英会話と文章力です。
理系の人の中には、英語を話すことや文章を書くことが苦手な人もいますよね。
私はこの2つに関して、苦手意識がありません。
ありがたいことに、他の人からも褒めてもらえることがあります。
探索研究者としてのスキルが上位10%、つまり10人に1人の人材だとします。
さらに、英会話力で10人に1人の人材となり、文章力で10人に1人の人材となったとすれば、これらの強みは掛け算することができます。
研究力×英会話力×文章力で1/10 × 1/10 × 1/10となり、1000人に1人の人材になれるわけです。
もちろん、こんな単純な掛け算は絵空事ですが、イメージはつかめますよね。
自分の得意なことを掛け算していけば、独自性の高い人材になれます。
プログラミングを学び、新しいスキルを得ることで、さらに強みの掛け算ができると思いました。
プログラミングをプロレベルまで極めなくても、周りの人に比べたら断然できるレベルになれば、データサイエンティストとコラボすることで、新しい研究領域を切り拓くことができます。
データをどう解析するか、どんな解析をしたら価値があるかを提案するのは探索研究者の仕事です。
私はデータサイエンティストとバイオロジストの架け橋になれる人材は意外と世の中に少ないなと感じ、そのポストを狙っています。
ジャマおじにならない
ジャマおじといのは、安宅和人さんの本である『シン・ニホン』に登場するワードです。
本書では、これからの時代はビックデータによるデータ至上主義になることが語られています。
これは実際すでにそうなっていますよね。
現在、プログラマーは人材不足が謳われていますが、小学生でもプログラミング学習が取り入れられることなどもあり、今後プログラマーは増えてくると予想されます。
ただ、そこで一つ問題があります。
それが、ジャマおじです。
ジャマおじとはジャマばかりするおじさんのことです。
もし、今後データサイエンスに強い若者が会社に入ってきても、データを理解していないおじさんが上司だったら、データサイエンスの必要性が理解できず、若者を否定しかねませんよね。
まさにジャマおじです。
つまり、現在製薬会社で研究している人たちが、AIやビックデータについて理解する姿勢を示さない限り、今後の若者の未来を奪ってしまうことになりかねません。
実は誰もがジャマおじ予備軍なわけです。
だからこそ、5年後10年後に部下をもった際、その部下の思いをちゃんと理解できるようにするためにも、やっぱり自分自身がプログラミングを学んでおきたいなと思いました。
プログラミング学習の始め方
プログラミング学習の始め方は次の5つです。
プログラミングの始め方
- 学ぶ目的を設定
- 全体像を理解する
- プログラミング言語を決める
- 無料でやってみる
順番に見ていきましょう。
学ぶ目的を設定
学ぶ目的は何でもいいです。
私みたいにジャマおじにならないとかでもいいですし、副業で稼ぐため、転職のためなど、色々あると思います。
大切なのは、目的を決めることで、どの言語をどのレベルまで理解するかを定めることです。
たとえば、副業で稼ぐなども目的であれば、まずはHTML/CSSから始めるのが良いでしょう。
その後はPHPやJava-scriptなどを学ぶのが一般的だと思います。
一方、私みたいにAIやデータサイエンスの分野に興味があればPythonが良いです。
学ぶ目的を決めることで、何からスタートするべきかが見えてきます。
全体像を理解する
そもそも私は、プログラミングはおろか、コンピューターに弱かったです。
IT弱者でした。
なので、そもそもプログラミングとは何なのか、どういう場面で使われているかという全体像が見えていなかったわけです。
最初の段階で全体像を掴むのはかなり重要です。
自分が学習しているプログラミングは、こういう場面で使われるんだっていうイメージがつかないと、勉強するモチベーションも湧かないですよね。
全体像を簡単に理解するためには、まこなり社長の次の動画がおすすめです。
この動画を見るだけで、かなりWeb系の全体像がつかめます。
まずはこれだけ見ればOKです。
たとえば、サーバーとは何かをちゃんと言葉で説明できますか?
そういったことをグッとわかりやすくまとめてくれている動画です。
その後、興味のあるプログラミング言語について、どんなことができるかをググって全体像を掴んでいくのがおすすめです。
プログラミング言語を決める
まずどのプログラミング言語から学ぶかを決める必要があります。
繰り返しになりますが、私はPythonを学んでいます。
Pythonは可読性が高く、初心者でも学びやすい言語です。
私の場合、ブログの装飾などにも活用できるため、HTML/CSSも学んでいます。
その他にも、データベース言語のSQLも学んでいるところです。
いわいるデータ解析系に特化した言語にはPython以外にもRやPerlがあります。
研究者にはRやPerlも非常におすすめの言語です。
私がPythonにした理由は、いずれWebサイト構築をやってみたいと思っているからです。
PythonにはDjangoというフレームワークがあり、Webサービス開発環境が整っています。
たとえば、YouTubeやInstagramもPythonをベースに作られています。
正直、PythonやPHP、Rubyなど、いろんな言語がありますが、どれから始めてもOKです。
基本的にプログラミングはやっていることは同じなので、プログラミング言語の違いは方言みたいなもんです。
なので、一つの言語をしっかり学べば他の言語も理解できます。
無料でやってみる
最初はお金をかける必要はありません。
いきなりお金をかけて、やっぱりやめようってなったらもったいないですよね。
なので、最初は無料でやってみて、学習が続けられそうだったら少しずつお金をかけるのが良いです。
無料でプログラミング学習ができるサイトとしては、ドットインストールとProgateがおすすめです。
ドットインストールは動画形式でプログラミングを学べるサイトです。
ワンレッスン3分程度の動画なので、移動時間などにも見ながら学習できます。
Progateはゲーム感覚でプログラミングを学べるサイトです。
私は移動時間にProgateをスマホでやっています。
ドットインストールもProgateも、無料会員の場合、機能の制限があります。
ただ、まずはお試しとして無料会員でやってみるのが良いです。
また、Pythonを学びたい人は、キノコードさんの動画を見るのもおすすめです。
この動画のPython基礎コースはとてもわかりやすく素晴らしいです。
まずはお金をかけず、無料で勉強をはじめてみて、プログラミング学習が自分に合っているなと思ったら、多少お金をかけるのがいいと思います。
私の場合、現在はProgateとPyQという学習サイトの有料会員になっています。
月額は以下の通りです。
加入している有料会員情報
Progate:月額980円
PyQ:月額3040円
PyQはPythonに特化してオンラインで学習できるサイトです。
PyQもProgate同様、ゲーム感覚でPythonを学んでいけます。
こちらのサイトはかなりおすすめですが、まずはProgateから始めるのが良いと思います。
というのも、PyQはちょっと説明文がわかりにくく、分量も多いので、初学者がいきなりPyQをやると、プログラミングに対する苦手意識がつきそうです。
なので、本格的にPythonを勉強したいのであれば、まずはProgateをやって、その後PyQをやってみるのがいいと思います。
参考までにPyQのリンクを貼っておきます。
オンラインPython学習サービス「PyQ™(パイキュー)」時間とお金に余裕があるのであれば、プログラミングスクールに通うのも一つの手です。
ただ、漠然とプログラミングスクールに通うよりは、まずは無料でプログラミングをかじってみたほうが良いです。
プログラミングスクールは結構お金がかかるので、通うにしても、ある程度事前知識を得ていた方が、より濃密な学びになります。
なので、おすすめはYouTubeやドットインストール、Progateで基礎学習をしてからスクールで実践的な内容を学ぶことです。
以下は最短4週間で完全オンライン環境でPythonを学ぶコースです。
また、先程紹介したまこなり社長が経営するプログラミングスクールのリンクを貼っておきます。
TECH CAMPでは、エンジニア転職サポートをメイン事業に掲げていますが、教養としてプログラミングを学びたい方も対象にしているみたいです。
まとめ
今回はプログラミング学習の始め方についてご紹介しました。
今後もプログラミング学習の途中経過を記事にしていきたいと思います。
もしプログラミング学習を始めようか悩んでいる場合、まずひとつ言えるのは『最初はお金をかけないこと』です。
私は、少しでも面白いと思ったことはどんどんチャレンジするのがいいと思います。
ただ、そのときに最初からお金をかけすぎてしまうと、結局やめたときにお金ばっかり減っていきます。
最近はYouTubeをはじめ、無料で色んなことが学べます。
まずは無料で色んなことを学んでみて、これだ!と思ったものに課金しましょう。
今回は以上です。