大いにアリ
結論から言うと、サラリーマンとしてプログラミングを学ぶ意味は間違いなくあります。メリットは極めて大きいです。
こういう話をすると
そのうちプログラミングは自動化されるって聞くし本当に学ぶ意味あるの?
こういう質問も度々頂きます。
近い将来、今プログラマーがしている作業はかなりの部分が自動化されると考えられます。
人工知能はじめ技術の進展の早さから見て10年後、プログラマーが今と同じ仕事をしているとは到底思えないですね。
ただ自動化されるからといってプログラミングを学ぶ意味がないことは断じてないです。
プログラミング作業が自動化されたとしてもプログラミングを学ぶ意味は私は「大あり」だと考えています。
本記事ではプログラミングを学ぶ意味とメリットについて解説しますね。
当メディア『ノースキルの逆襲』編集部(須賀)より
当メディア『ノースキルの逆襲』編集部の須賀です。当メディアではこれまで20社以上のプログラミングスクールと受講生を取材してきました。
各スクールの教材や講師についても授業を受講し、チェックした上でおすすめスクールをこちらの記事「本当に力のつくおすすめプログラミングスクールまとめ」で掲載しています。参考にしてくださいね。
サラリーマン(会社員)がプログラミングを学ぶ真のメリット
私はサラリーマンがプログラミングを学ぶメリットは以下5つだと考えています。
1.ビジネスに必須な論理的思考能力と抽象化能力を鍛えられる
2.社会インフラ「IT」の仕組みを解像度高く理解できるようになる
3.面倒な作業を自動化できるようになる
4.アイデアを具現化できるようになる
5.プログラミングで副業で稼いだり、エンジニア転職も可能
1.ビジネスに必須な論理的思考能力と抽象化能力を鍛えられる
プログラミングを学ぶ過程で論理的思考能力と抽象化能力というビジネスに必須の能力がほぼ強制的に鍛えられます。強制的というのがみそです。
プログラミングを日常的にしているエンジニアやプログラマーは論理的思考能力と抽象化能力の能力値が明らかに一般人より高いと感じますね。
論理的思考能力
論理的思考能力はすべての仕事の土台と言っても良い能力です。
なぜかというと論理的思考能力は問題解決能力に直結してるからです。
仕事で何らかの問題に突き当たった場合、論理的思考能力の高い人は複数の事象の関係性を体系的に整理し、物事の全体像を掴むことに長けています。
それぞれの事象に対して打ち手を講じて問題解決することができるわけです。
単純化した例えですが「売上高」を上げる場合を考えてみましょう。
購入客数を増やせば
→売上高は上がる
客単価を上げれば
→売上高は上がる
購入頻度を増やせば
→売上高は上がる
みたいに複数の事象の関係性を体系的に整理し、物事の全体像を掴むことができます。
プログラミングとはつまり数多くのロジック(論理)を組み合わせる作業であり論理的思考能力が必然的に鍛えられます。
抽象化能力
優秀なビジネスパーソンに共通しているのは抽象化能力の高さです。
抽象化能力とはつまり物事の本質を抽出していつでも使えるようにストックできる能力と言い換えられるでしょう。
たとえばAmazon創業者のジェフ・ベゾスなんて抽象化の鬼ですね。ちなみにベゾスもプリンストン大学でコンピュータ科学つまりプログラミングをガッツリ学んでいます。
ジェフ・ベゾスは現在のAmazonのビジネスモデルをハッと思いつき、紙ナフキンに上記の図をその場でメモしたそうです。
このビジネスモデルが意味するのは以下です。
優れた顧客体験
↓
顧客の増加
↓
売り手の増加
↓
Amazonの品数の増加
↓
成長
↓
成長すると規模の経済が効いて品物を安く販売でき顧客体験が向上し好循環となる
ベゾスの様な抽象化能力がないとまずこの構造を掴むことはできません。抽象化能力が低いとこんなビジネスモデルをハッと思いつくことはまずないでしょう。
抽象化能力が低いと1つ1つの具体的な施策 ( 顧客体験を改善するにはどうしたらいいか、売り手を増やすにはどうしたらいいのかなど ) にしか目がいかないのです。
しかし抽象化能力が高いとAmazonを成長させるための施策を全体のつながりの中で見れるようになるわけですね。
ビジネスって1つ1つの具体的な施策だけ動かしてもどうにもならないことが多いですよね。
全体のつながりを見つつタイミングに応じてどの施策に注力すべきか判断していく必要があります。
プログラミングはこの抽象化能力を強制的に鍛えることができます。
というのも実際にコードを書いてみると分かると思いますが、内容が複雑になると、何の指示を与えようとしているのか自分でも分からなくなりがちです。
そんな時はコード間の相互作用を抽象的に把握していく能力が求められるんですね。重要な部分を抽出してもう一度コードを書き直すという作業を行っていきます。
この過程で抽象化能力を強制的に鍛えることができます。
なお優秀なプログラマーやエンジニアが30代に入るとコンサルタントに転職する人をチラホラ見ます。
それも当然のはずで彼らはビジネスに必須の論理的思考能力と抽象化能力が突出しておりビジネス・経営課題を解決する能力が高いからです。
2.社会インフラ「IT」の仕組みを解像度高く理解できるようになる
ITはもはや社会インフラです。ITなくして私たちの生活は成り立ちません。
私たちが普段使っているLINEやFacebook、Twitterは言うまでもなくコンビニのATM、レジなどほぼすべてのサービスの基盤システムはITによって動いています。
しかしITと言っても一体何なのかよく分かりませんよね。ブラックボックス感が強いです。
プログラミングを学ぶとITの仕組みを解像度高く理解できるようになります。ハードや、ネットワーク、サーバなどITを構成する要素への理解が深まり、どの様な原理で動いているのかが理解できるようになりります。
現在はほぼすべての産業においてITが絡んできています。そのITの仕組みへ理解を深めるにはプログラミングはもってこいです。
3.面倒な作業を自動化できるようになる
プログラミングを知っていると面倒で退屈な作業をどんどん自動化できます。
たとえばエクセルへのデータの転記作業を手動でやっている人は多いと思います。
プログラムを組めばこの転記作業を自動化して「8時間 → 1分」と一瞬で終わらすことが可能となります。圧倒的な業務効率化が可能となります。
あとはデータの収集・加工もプログラミングで自動化できますよ。
たとえばPythonでプログラムを組んでAmazonの日ごとの人気商品ランキングを抽出したり、ツイッターでフォロワー10000人以上のインフルエンサーリストを作成してみるなどデータを収集して加工する作業なども自動化できます。
プログラミングを本業にしなくても、パソコンを使う仕事に携わっている人ならどんな人でもプログラミングは役立ちます。
4.アイデアを具現化できるようになる
ここ最近の成功者は「自らアイデアを具現化できるプログラミングスキルがある」のが共通点です。
有名どころでいくとTwitterはジャック・ドーシー、Facebookはマーク・ザッカーバーグ、Instagramはケビン・シストロム、YouTubeはスティーブ・チェンなどエンジニアが創業者または創業者のメンバーにいます。
ただこれだけだとちょっと遠いどこか別の国の話に聞こえて実感が湧きづらいでしょう。日本の例を出しますね。
850万ダウンロードを記録している日本最大級の家計簿アプリ「Zaim」 を開発した閑歳孝子(かんさいたかこ)氏は元々は出版社の記者です。彼女は社会人になってからプログラミングを学んで自分でアプリを開発しています。
有望なアイデアがあってもそのアイデアを具現化するプログラミングスキルがないと損します。
何せエンジニアにアプリ開発を発注すると予算は数十万円~数百万円はかかりますからね。
しかし自分でプログラミングスキルを使ってアプリ開発すればほぼ0円で開発可能です。
5.プログラミングで副業で稼いだり、エンジニア転職も可能
プログラミングスキルを習得すれば副業で月5~15万円を稼ぐのは十分可能です。
副業にはWebサイト制作やECサイト開発に使用されている言語のPHPの習得がおすすめです。
PHPを使った簡単な改修案件やWebサイトの制作など様々なレベルの案件が大量にあります。
たとえば上記はクラウドソーシングサイトに実際に掲載されていたワードプレスを用いたWebサイトのコーディング案件です。単価は10~20万円と副業にしてはかなり割が良いですね。
もう少し簡単な案件だと「ECサイトへの問い合わせフォームの設置」 のような案件もあります。これでも単価2~3万円です。3件受ければそれだけで9万円になります。
プログラミングを仕事にしたいのであればプログラミングを数か月学べばエンジニア転職も可能です。
特に現在20代、30代前半であれば一定レベルのプログラミングスキル(オリジナルWebアプリを開発できるレベル)があれば普通に転職できます。
人材会社のDodaが発表した求人倍率だとIT・通信部門の求人倍率はなんと5.22倍です。
つまりエンジニア1人に対して5社以上が求人をオファーしている状態です。
この様に実務経験のあるエンジニアの採用は極めて困難となっており実務未経験でも一定レベルのプログラミングスキル(オリジナルWebアプリを開発できるレベル)があれば採用する企業は増えています。
プログラミング学習を無駄な投資にしないためのポイント
プログラミング学習を無駄な投資にしないために重要なポイントを1つだけお伝えします。
それが「アウトプットを重視して学習すべき」ということです。
プログラミング学習でありがちなのがオンライン教材Progateをひたすらグルグル回ることですね。
これ正直言って「逃げ」です。すでに理解してる教材をグルグル回ってると”勉強してる感”は得られますからね。凄く楽です。しかし大して何も身に着いていません。
オンライン教材はあくまでも基礎知識の習得にしか使えません。
実際に基礎知識を使って実践していくのが重要です。
たとえば英会話で英単語の暗記とリスニングを繰り返してインプットばかりしていてもいつまでたっても話せるようにはなりません。実際に外国人や講師と話すなどアウトプットしていく必要があります。
プログラミングも同様にインプットした基礎知識を使って実際にアプリ開発をしていくなどアウトプットが必要です。
Progateを一周してプログラミングの全体像を掴んだらすぐ実践(アウトプット)に移りましょう。
Twitterのクローンアプリを開発するのに取り組む、さらにはオリジナルWebアプリの開発に取り組んでみる。
オリジナルWebアプリとはたとえば以下の様な「靴のシェアリングサービス」の事です。
アウトプットしようとすると「この機能どうやって実装すればいいんだろう」など分からないことだらけです。
分からないことがあればまた教材に立ち返って1つ1つの機能の実装の仕方を調べて分からない点を解消していきます。
アウトプット先行のインプットは遥かに効率が良いです。
ただアプリ開発などのアウトプットする段階になると独学だと厳しくなってきます。
「何をどの様に学ぶとアプリに必要な機能を実装できるか」は自分だけだとなかなか分からないですからね。プロの助けが必要です。
そこでプログラミングスクールを利用するのがおすすめです。
中でもおすすめなのがTechAcademyです。受講1か月12万9000円~と経済的です。
現役エンジニア講師が週2回のマンツーマンレッスンで学習計画の策定や進捗管理をしてくれます。最終的にはオリジナルWebアプリを一緒に開発していきます。
アウトプット重視のカリキュラムとなっているので圧倒的に成長できますよ。
TechAcademyでは1週間の無料体験レッスンも受講できますので試しに受けてみてはいかがでしょうか。
まとめ
繰り返しとなりますがプログラミングは流行り廃りがあります。
10年先、20年先に同じようなプログラミング技術が求められる可能性は低いですね。
スキルとしてのプログラミング自体に価値があるかというとそうではないでしょう。
スキルとしてよりもプログラミングを学ぶ過程で身に着く以下の能力や経験こそが重要かなと。
・論理的思考能力と抽象化能力
・ITの仕組みへの理解
・アイデアを具現化する経験
これらはサラリーマンとして仕事をしていくうえでも汎用性の高い思考・能力となりますので価値が高いです。
そういった意味でプログラミングを学ぶのは間違いなく有用ですし強くおすすめしたいと思います。
コメント