身近な人がプログラマーになりたいと相談してきたら、何を伝えるべきかを考えてみることにしました。
僕もソフトウェアの業界でソフトウェア開発にかれこれ15年以上携わっています。
まだまだぺーぺーですが、少し語ってみようと思います。
あくまで個人的な意見ですがご興味があれば。
まずは何を実現したいのか?
プログラミング言語はただの道具です。
まず、何を実現したいのかについて考えてみましょう。
あなたの持つ課題は何ですか?
あなた自身の課題ですか?
所属する職場や会社の課題ですか?
それとも社会の課題ですか?
今一度よく考えてみてください。話はそれからです。
解決手法がソフトウェアでないことなんて多分にあります。
どの言語を学べばよいですか?
しばしば質問されて困るものがあります。
「どの言語を学べばよいですか?」
・・・知らんがな。
実現したいことがわからないのに答えようもありません。
〇〇がしたいのですが、どの言語を学べばよいですか?ならまだ答えようもあります。
一応言っておきますが、
「プログラミングを覚えたいのですが、どの言語を学べばよいですか?」はダメです。クソです。
類似の質問として
「エクセルを覚えたいのでエクセルを教えてください。」というのがあります。
Wikipedeiaでも読んでください。
Wikipedia Microsoft Excel
多様化するソフトウェア
昨今のソフトウェアは実に多様です。
まず、動作する媒体が様々です。
スマホ、PC、産業用機器、家庭用機器・・・。
一口に〇〇用機器と言ってますが家電なんて大半が何等かのソフトウェアが搭載されています。
自動車なんかソフトウェアモジュールの構成をみたら卒倒します。
次にOSが様々です。
Microsoft Windows, Linux(Ubuntu, Redhat, CentOS…), MacOS, iOS, Android…
フレームワークも多いですね。
Web系以外のフレームワーク
そうそうデータベースも忘れてはいけませんね。
この図なんて面白いですね。技術同士の関係図。
stackoverflowより
stackoverflow
さて、まじめな話。参考までに僕がここ1年くらいで開発に使用した技術はこんな感じです(赤枠)。まぁ、人に自慢できるほど技術習得はできていませんが。。。多いですね。おじさんにはちょっとついていけません。
既に存在するものをつくるということ
ソフトウェアの世界は超スピードで成長しています。
あなたが何かを作っても、それは既に存在するものの劣化版です。ダサい画面でセキュリティも脆弱、レスポンスも悪くて他のシステムとの連携もできない。あなたが作りやすい使いやすいだけのもの。となる可能性があります。気を付けてください。
最近はプログラミングレスやノンプログラミングで簡単なアプリなら作れてしまいます。
少しAPIを覚えれば様々なサービスと連携も可能です。
高度な技術(最近でいうと機械学習とかですかね)もサービスの一部として存在し、簡単な操作で使えてしまいます。
プログラマー?何それ?ブロックつなぐ絵をかいてる人?
そんな時代が近づいているように感じます。
異常なスピードで開発する人たち
東京都の公式コロナ対策サイトは、プロジェクトの立ち上げから一週間でリリースされたと聞きます。
何の面識もない人たちがGitHub上に集まり場所を選ばす開発。それぞれの高度な技術を持った人たちが特技を生かします。開発状況は完全にオープンで非同期にissueが上がりあっという間に対策が行われクローズします。
レッドオーシャンでありブルーオーシャン
間違いなくソフトウェアの世界は超レッドオーシャンです。
C#できます。Javaできます。Pythonも最近覚えました。
みたいな人は・・・まぁ中小企業の交換可能な歯車として頑張るしかないのかもしれません。厳しい言い方になってしまいますが。
しかし、一般人が一攫千金を目指すのならおそらくソフトウェアでしょう。
Zoomなる会社がWeb会議サービスで2019年にNASDAQに上場し巨万の富を得ています。今さらWeb会議サービスですよ?まさか航空業界を食ってしまうとは。
メルカリも面白いですね。プログラミングできない人がフリマサービスを展開し国内のみならずアメリカでも成功しています。フリマですよフリマ?
LINEは古株ですが国内でのコミュニケーションツールとしてはトップです。ただのスタンプがつくだけのチャット。僕は誰ともつながりたくないので使いませんが。
Uberだって配車サービスですよ?タクシー乗り場で電話するかスマホアプリで呼ぶかだけです。あとは支払いが登録しているクレジットというだけです。正直このアイデアは無かった・・・というものではないはずです。
何故かベーシックなところが軒並み高収益を上げています。真似できないような高度な仕組みでもアイデアでもありません。
まとめ
伝えたいこと。
ソフトウェアの世界の可能性は無限大です。
しかし、プログラマーという枠にとらわれるとしんどいかもしれません。
おわり
コメントを残す