どんな業界にいてもよく言われるんですが、「プログラミングってできた方がいいの?」という話題。
絶対できた方がいいに決まってます。
これはブログ業界ですら頻繁に上がる話題なんですが、「なくていい」という派の人が話しているのは全部単なるポジトークに過ぎません。だってできないよりできた方がいいに決まってるじゃん。
というわけで、
なぜ誰でもプログラミングスキルがあった方がいいのか、どういうシーンで役に立つのか
という内容について今回は僕の意見をお話してみたいと思います。
ちなみに僕ですが、決まったプロジェクトにがっつり浸るようなことはないので趣味含めかなり広く浅く楽しんでます。
- デスクトップアプリケーション(C/.NET系(C#/VB/UWP/クロスプラットフォームフレームワーク含む))
- Webアプリケーション(HTML/CSS/JavaScript/PHP/Python(Django)/その他フレームワーク)
- 機械学習系(Python/TensorFlow)
- 組み込み(C/Java/Linux)をちょっと
などの経験があります。もともと情報工学出身なので基礎理論なども一応習得してます。
プログラミングスキルがなぜ大切なのか、いつ役に立つのか
プログラミングができることによる魅力は大きく3つあると思っています。
- ズバリ「簡単なものでもいいから"動くなにか"を作れること」が業務でめちゃ役に立つ
- ITやソフトウェア分野の理解が深まり、ハードウェアや機構系エンジニアの場合は視野が広くなる
- プログラミングというモジュール化された構造から得られる「考え方」
1つずつお話させてください。
1.ズバリ「簡単なものでもいいから"動くなにか"を作れること」が業務でめちゃ役に立つ
最後の3つめにしようか迷ったんですが、分かりやすいので最初に書きます。
最初はズバリ「プログラミング自体ができるようになることがメリットだよ」という話です。
って思うでしょう?ところがどっこい、何かしらの技術者をやるならめちゃめちゃ使いどきあります。特にものづくりに関わるならなおさら。
理系職種に就く場合、日々の仕事は
- 効率化
- 正確性アップ
この2つがかなりキーポイントになります。
技術者は感覚で仕事をしてはいけませんから、何か議論をするにはデータ(数値)が必要になりますよね。こういった積み重ねで良い商品、アイデア、サービスが生まれます。
そんなとき、どうしても人間の手だけではやってらんない作業が必ず出てきます。そう、「自動化」が必要なんですね。
プログラムが活きるのは主にこの瞬間です。
例えば「Windowsで動くシンプルなツール」を作れるとしましょう。

画像は「Windows10 設定変更ツール」という実在のフリーソフト。
こういう風にボタンが並んだソフト、よく見かけますよね?これを実際に作れるようになるのは比較的簡単です。
こいつに
- ある測定のデータを自動で採ってもらって
- 任意の整列をして
- 決まったフォーマットでファイルに保存する
みたいのをやってもらうわけですね!
例えば「メーカーでものづくり」という場であるとして、プロジェクトの中で「ある測定をする」と言ったときの測定量はハンパな量ではありません。人の手でやってたら日が暮れます。
それをスピーディーに、かつ正確にやってくれるソフトウェアがあると業務が一気に楽になるわけですね。というか必須。
ましてや測定の種類は1つではありませんから色んなケースにすぐ対応できるようになっているとさらに便利なわけです。
しかし…。
なぜこれが「誰でもプログラミングスキルがあれば役に立つ」という話に繋がるかはまだ実感がありませんよね?
理由は簡単、「その辺にいる簡単なプログラミングをできる人」が実際には全然いないからです。笑
話は単純で、「居れば役に立つのに実際には全然居ない、だからあなたができるようになればとても貴重がられる」ということなんです。
ハード専門の人しかいないチームで「大規模な測定を自動化しよう!」ってなったとき、
ってなるじゃないですか。
と、そこにあなたが登場するじゃないですか。
こんなん「めっちゃ貴重な人材」って思われるに決まってるじゃないですか!!
もっと身近な例でいきましょう。
大学生でも使う「Excel」ですが、あれには「マクロ」という機能があるのはみなさんご存知ですよね。あれも立派なプログラミングです。
「マクロの録画」なんていう機能もありますが、あんなもん使ったってろくなマクロは作れないし修正するにも結局VBA(マクロを書くプログラミング言語のこと)を知っておく必要があります。
「Excelでマクロを作れると神格化される」とかってよく2ちゃんとかでもネタになりますよね。あれマジですよ。
僕は技術職なので会社にいるのも当然みんな理系技術者ばかりですが、マクロが書ける人なんてほんのごく僅かです(ソフト技術者は除く)。
こんな状況の中で、サクッとExcelのマクロを書いて仕事をズババー!っと終わらせてたらめちゃめちゃ注目されると思いません?
さらにさらに、ここでVBAが書けるようになると前述の「Windowsで動くシンプルなツール」を作る言語(VB)にも応用が利くようになりますよ!
単に「簡単なプログラミングスキルがあるだけで実はスゴイ」っていう雰囲気、少しは伝わっていきましたか?
2.ITやソフトウェア分野の理解が深まり、ハードウェアや機構系エンジニアの場合は視野が広くなる
プログラミングスキルがあると良い理由の2つめ。
1つめに比べてもう少し広い視点での内容です。
プログラミングというのは情報系の学問、コンピュータのシステムやIT系の知識の上にあるものです。簡単に言うとパソコンとかIT系の知識全般にめちゃめちゃ詳しくなれるんですよね。
この幅広い知識や考え方がどんな職種でも大きく役に立つよ、というのが2つめの内容です。
少し伝えるのが難しいんですが、ものづくり業界では一番広い概念的な全体視野での設計を「システム設計」と呼ぶことがあるんです。
これは
- 製品やサービスの全体の構造はどうなっていて、
- どこにどういう機能を持ったモジュールがあって、
- それらはどういう関係で繋がっていて、
- ユーザーはどう使うか
みたいな考え方で作っていくもの。

完全にイメージ図ですけど、こういう感じで「常に全体を俯瞰しながらそれぞれの関係性を考えていく作業」みたいな感じです。
で。現代で何かしらの電子機器やITが絡むものを作ろうと思ったらソフトウェアの知識がないとシステム設計は絶対ムリなんです。だってこれらの要素ってほとんどコンピュータとかネットワークとか、そういったものの上にあるから。
って思いますじゃん。
でもさ、あなたがそう思っている人の上司や同僚だったら、「システム設計」の感覚を分かっていない人より分かっている人との方が仕事したいって思いません?
今僕の会社ではこういうことが如実にそこかしこで起きていて、ソフトやITを理解できないおじさんたちがかわいそうなところへ飛ばされまくってます。
ものづくりって今はハードは外注化が進んでいるので人材価値としてもIT系の方が高いということもあり、僕はマジでITスキルを捨てないできて良かったなと心から思ってます。
などのような考え方、僕は少し検討し直してみることをおすすめします。これからの時代のニーズはどう考えてもIT寄りだと思うので。
3.プログラミングというモジュール化された構造から得られる「考え方」
プログラミングスキルがあると良い理由の最後、3つめです。これはさっきの2つめよりもさらに広い視点での内容です。
どの言語でもいいから文法の勉強を始めて実際にコードを書き始めるとすぐに気付くことがあると思います。
「よりシンプルに部品化していく」という考え方です。
プログラムは「いかにまとまったある1つの"カタマリ"を作っていくか」の一言に尽きると思います(僕の勝手な考えです)。
function() { print("りんご") }
これは「"りんご"と表示する1つの機能」なわけですが、"りんご"と書きたいときに毎回これを書くわけではありません。
function viewApple() { print("りんご") }
とし、
viewApple()
と「部品を使い回す」だけで"りんご"と表示させるのが普通です。これを
- りんごじゃなくてみかんのときでも同じ部品が使えるように…
- 果物が複数あるときにも対応できるような部品の一部に組み込んで…
という作業がプログラミング。
この考え方に毎日触れるようになると、驚くほど思考が階層的にまとまっていくようになってきます。
僕がプログラミングとよく関わるようになったのはわりとここ数年の話なんですが、ここ最近では特にこの考え方の如実な変化に気付けます。とにかく考えがまとまるし、散乱しない。これはプログラミングを本当によくするようになったから身についたものだと実感してます。
プログラミングの大原則と呼ばれるものの1つに
KISS "Keep it simple, stupid"
というものがあります。「シンプルにしろ、バカ野郎」みたいな感じでしょうか。
別の原則では
DRY "Don't repeat yourself" 「繰り返すな」
なんてのも。
「シンプルに部品化してモジュールを再利用していく」というのがよく表れてますよね。
この考え方、本当に日常生活の至るところで活きてきますからマジでおすすめ。プログラミングを習得するとイイコトいっぱいありますよ。
「プログラミングが大事なのは分かってる、でもどうやって勉強したらいいか分からない…」のあなたへ
最近僕も色んなものに食指が伸びるようになって、特にWeb系言語は色んなコミュニティやオンラインサービス、各種サイトなどで自己学習をしています。
僕が今使っているのはUdemy 。
プログラミングに限らず「あらゆるもの」に関するオンライン講座が現役のプロそれぞれによる制作で公開されています。

Udemyで勉強できる講座のジャンル。恐ろしいほどの量があることが分かります。
たまたま会社でフリーで使わせてもらえる機会があり僕も主にプログラミング系の講座を受講したんですが、マジでいい。
何より講師の質が完璧で、その辺のよく分からないプログラミングおじさんに習うより100倍良いです。教えることのプロでもあるし、動画だと分かりやすいし、何より自分のペースで自宅でできる。完璧や!!
今なら30日間の返金保証があるので、勉強するだけして全額返してもらうとかもできちゃいます…。笑
それともうひとつ。
ITエンジニアとして転職まで視野に入れたい!という方は侍エンジニア塾も覚えておくといいと思います。
プログラミングを始めると細かいことをググったりしたときにこの侍エンジニア塾がやっているブログが100%ヒットします。間違いなくこれから何度もお世話になるでしょう。
こちらは一般的なプログラミングスクールですが(でも基本オンライン!)、スクールの質も折り紙付き。講師が現役のプロで授業の質が良いのはもちろん、転職までサポートしてくれる制度が整っています。転職に成功した場合はスクールの料金数十万円分が全部無料になります。
転職サイトと仕組みは同じで、転職先の企業からスクールにお金が払われるので受講者は無料でいいというカラクリです。
雰囲気を知りたい方は完全無料の体験会に参加してみるのもいいと思います(もちろんオンラインあり)。
僕も「特に目的やモチベーションなくプログラミングを勉強しろ」と言われたら正直自信ないです。
なので最初はこうやって人の手を借りてきっかけ作りをするのはアリでしょう。まずは体験会を申し込んで見るだけでも将来の安心感は違うかも!
おわりに
最近流行りのプログラミング。でもなんだかよく分からない。
そういう方の目線に合わせ、僕が思うプログラミングスキルの持つ魅力について色々書いてみました。結構伝えるのが難しい部分が多く自分としてもあまりスッキリはできていないんですが、まあいいでしょう。
この記事を読んで少しでもプログラミングに興味を持ってくれる方が増えれば幸いです。
では!