こんにちは、社畜ブロガーのはっしーです。
iPhoneアプリの開発でプログラミングを独学したことがあるのですが、特に独立してフリーランスでやっていけるほどの実力が付いたわけでもなく、プログラミング会社に転職できたわけでもありません。
ただ、普通にノンエンジニアのサラリーマンとして会社勤めしていく中で、プログラミング学習の経験が思いっきり役立っているなと感じることが多々あるので紹介したいと思います。

物事をロジカルに考えることができるようになった
プログラミングとはコーディング(コードを打つこと)を通して、コンピューターに指令を出すこと。
コンピューターは非常に賢く、素直な性格なので、お願いしたことは確実に実行してくれる一方、言われてないことについては機転を利かせて対処してくれません。
なので、コンピューターがきちんと理解できるように、起こり得る様々なことをすべて想定して、筋道立てて指令を出さなければなりません。
「これこれこういうことが起こり得ますよ。」
「これが起きたときはこういうことを実行してくださいね。」
「こっちが起きた場合はこっちのことを実行してくださいね。」
「この中で該当なかった場合は、こういうのをお願いします。
みたいな感じ。
これをプログラミング言語という「言葉」にしてPCに打ち込むことで、コンピューターに指令を出すのです。
人間がちゃんと今の状況を把握して、起こり得ることの予測と、それぞれの対応を考えて指示を出さないと、中途半端な指示ではコンピューターも困ってしまいます。
……、
あれ?何かこれってぼくたち社畜の日常と似てませんか?
管理者として担当業務を運営するときに、現状把握と今後の見通し、リスク管理などについて考え、必要に応じてまわりへの指示出しなどしていません?
肝心なところでその想定が甘かったり、指示が中途半端だったりすると、組織はうまくまわりませんよね?
社内外のプレゼンにしても、伝えたい事柄は何と何と何があって、わかりやすく伝えるにはどういうストーリーで組み立てるのが良くて、それぞれの項目で深掘りするとどういう話になるのか……みたいなところでも、ロジカルに考える力っていうのが必要になります。
実際、ぼくも今の会社では、プログラミング学習で培ったロジカル思考のおかげで管理者業務や社外プレゼンがうまくいっているという手応えを感じています。
ExcelやAccessをすぐに覚えられた
サラリーマンにとってExcelやAccessなどマイクロソフトのアプリケーションを使えることは必須スキルです。
Excelが使えるというのは、単に表を作って四則演算ができるってことではなく、関数を用いて効率的にデータ処理することができたり、関数が使われている表の中身を正しく理解して間違いのないように更新、管理していけるっていうことです。
逆に、Accessはともかく今どきExcelくらいできないと、なかなか転職市場では厳しい目に合ったりしますね。でも、あまりコンピューターに慣れてない人はExcelの関数って結構難しく、とっつきにくいんですよね……。
そんなぼくも、元々はExcelなんて全然やったことがなくて、それこそ線引いて表作って四則演算が軽くできたくらいで「Excelちょっとならできる」と思っていたレベル。
それ、実際には「ちょっと」すらもExcelできてるとは言わないのにw
そんなぼくも、ちょうど転職をきっかけに勉強することにしたのです。入社日までに独学で覚えていったので、普通に中級者くらいの実力は簡単につきましたね。それも、わずか一週間ほどで。
だって、プログラミングに比べたら遥かに簡単ですから……。
むしろ、会社ではExcel結構できるキャラにまでなってて自分でもビックリw
一週間で覚えたと言うと、まわりはさらにビックリw
ちなみに、Accessも日常的に使用する職場で、ぼくはもちろんAccessに関しても全くの無知でした。
でも、これも1週間ほどの独学であっという間に理解して使いこなせるようになりました。
Accessはちょっと特殊なので、もしかしたらプログラミングやってなかったら覚えるの結構苦戦したかもなぁ……って正直思います。
業務システムについて理解しやすくなった
日常的に使っている社内システム。プログラミングの知識がつけば、だいたいどういう仕組でシステムが動いているのか想像つくようになります。
何も知識がなければ何となく機械的に、決まった操作を何の疑いもせずに触ってただけなんだろうな……。
でも、仕組みがわかれば、「ひょっとしたらこういうこともできるようにシステム改修できるんじゃないか?」という閃きが出るようになるので、その業務システムをもっと良いものにアップデートしていって、自分や組織の仕事をさらに効率化することができるようになります。

今や会社というのはいかに人件費を削ってコスト削減できるかというのが重要視されているので、ツールの便利化・自動化によって人件費を削る仕組みを作れれば、会社的にはかなり評価されます。
実際、ぼくもプログラミング学習で得た知識を使って、業務やツールを効率化していくことに成功していて、それなりの良い評価が得られている手応えを感じています。
プログラマーって怠け者が向いていると言われることがあります。
それは、怠け者は、コンピューターが自分の代わりに仕事をしてくれる仕組みを作るのがうまいから。
そういうプログラマー的な考え方や知識は今後すごく重要だし、それは実際にプログラミングをやってみないと気づきもしないものなのです。
システム部署とのコミュニケーションが円滑になった
これは結構どこの会社でも似たような傾向が強いと思うのですが……、
システム関連の部署って理系人間の集まりなので、かなりコミュニケーション能力が低いんですよね……。(理系の方すみません)
こっちがちょっと的外れ的な、変なことをいうと、結構文句を言われたりしますw
それが人によってはちょっとしたストレスになってしまうんですよね。ひどいときは結構メンタル追い込まれたりもします。
なので、システム関連部署に何かを依頼するときは、きちんと相手に伝わるようにお願いしないといけないし、使う言葉や単語もシステム関連部署の人達が使っている言葉(共通言語)で話さなければなりません。
その点、プログラミング学習をしているとシステムのことが結構わかるようになってくるので、的外れなことを言うこともなく、システム関連部署が相手でも円滑なコミュニケーションを取ることができるようになります。
これって、会社でストレスなく仕事をする上では、なかなか重要なことですよね。
まとめ
というわけで、ノンエンジニアのサラリーマンにとっても、プログラミング学習で得た知識・スキルがかなり役立っています。
最近はプログラマーになりたい人ではなくて、サラリーマンとしての仕事をやりやすくするためにプログラミングの知識を学びたいということで、プログラミングスクールを受講している人も増えてきているくらい。
ぼくもプログラミングの考え方、知識、スキルを使って会社で重要な仕事をこなしてきているので、本当にプログラミング学習しておいて良かったと実感しています。
なので、プログラミングに興味を持った方は、ぜひ一度、実際に学習してみることを強くおすすめします。
結果的にプログラマーになろうがなるまいが、どちらにしても今後役に立つ重要なスキルですから。