R言語と出会ってプログラミングの楽しさを知った七味おやじです。
私は専門職大学院でR言語と出会いました(専門職大学院に2年間通った記事はこちら)。
R言語を学んだのち、機械学習に興味をもったのでPythonもゼロから学びました。
プログラミング言語を学ぶことは有益です。人によるかもしれませんが、私にとっては楽しいです。ただし、プログラミング言語を学んだからと言って、すぐに高単価な仕事は舞い込んで来ません。
プログラミング言語をそれ相応に極め、偏微分や線形代数がわかるレベルの数学的素養があれば、データサイエンティストとして高い報酬を得る職につけるかもしれません。
でも、これって社会人になってから学ぶ範囲ではないですよね。すでにその手の学部で専門的な教育を受けていないと非現実的でしょう。
それではプログラミング言語なんて学んでも意味ない!と思うかもしれません。いえ、それでもプログラミング言語を学んでみる価値があると思います。大人になってから学んでも遅くはないでしょう。
そう思う理由を以下に3点記載します。
(人にもよりますが)思っているほど難しくない
エクセルで関数を使うことができるならば、1つのプログラミング言語を習得するのはそれほど難しいものではありません。
むしろ、つまずくのは環境構築でしょう。R言語は簡単にインストールできますし、環境構築は難しくありません。しかも無料のオープンソースです(Pythonも無料のオープソースです)。
画面に英語ばかり出てくるので難しそうに見えますが、学んでみるとそこまで難しいものではありません。しかも、本や動画もたくさんあるので、わざわざプログラミングスクールに行かなくても学べます。
tidyverseなどの便利なパッケージも開発されており、案外直感的にスクリプト(プログラム)をかけます。
プログラミングで雑にトライできる
GUI(グラフィック・ユーザー・インターフェース)つまり画面上のマウス操作でできることは、プログラミング言語で基本できます。むしろプログラミンでやることを誰でもできるように、GUIにしているという表現の方が適切でしょう。
プログラミングができるようになると、かゆいところに手が届くようになります。データを整形する場合でも固有の問題を解決することが可能になります。データの前後に入ったスペースを取り除いたり、データを抽出したり、組み合わせたり、集計したり。見たいグラフをカスタマイズしたり、キャプションをつけたり、色を変えたり。機械学習で雑に予測したり、分類したり。
トライできることがプログラミングの魅力です。
高額なソリューションを導入する前に、こういうデータを用いてこんなことができる!とあたりを付けることができます。それがプログラミングの魅力です。
DX推進の波に押されて知らないうちにソリューションが増えていくよりも、まずは自分たちで手を動かして効果のあたりを付ける。それから、ソリューションを導入した方が効率的で費用対効果も高いはずです。そういう仕事をできる人は本当に限定的なので、プログラミング言語を学べば社内で新たな役割を得る可能性があります。
ソリューションの裏側や他言語の処理を類推できるようになる
ソリューションの画面操作の裏側で起きる動きを推測できるようになります。このブロックをこっちにドラック&ドロップするってことは裏でこういう処理がされてるわけね。こんな思考をもつようになります。
R言語、Python、SQLなどのスクリプト(プログラミング)を見ても、だいたい何をやっているか推測できるようになります。ソリューションのGUIで自動生成されたSQLなどを見ても、大雑把に何をやっているのか察しがつきます。よって、エラーが起きても動じないようになります。
すべてのプログラミング言語を学べればいいのですが、忙しい社会人には時間がありません。何か一つのプログラミング言語を学んで、雑に扱えるようになっておくと思いの外、潰しが効きます。
なぜならば、類推ができるからです。この処理は習得したプログラミングで言うと〇〇だなと類推できるからです。ソリューションのこの操作の裏側で〇〇やってるなと類推できるからです。
まとめ
プログラミング言語を学んでみる価値について記事を書きました。GUI化された便利なソリューションが次々と生まれていますが、その裏側の動きを知ってみるのも面白いですよ。プログラミング言語を学んだ成果に過度な期待をせず、遊びと思って学んでみるのがいいです。肌に合わなければ、学習をやめれば済むだけです。プログラミングをゆるく学んでトライと類推で新たな役割を得るという道もあるかもしれませんよ。R言語が好きな七味おやじでした。