身近な人がプログラマーになりたいと相談してきたら、何を伝えるべきかを考えてみることにしました。
僕もソフトウェアの業界でソフトウェア開発にかれこれ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だって配車サービスですよ?タクシー乗り場で電話するかスマホアプリで呼ぶかだけです。あとは支払いが登録しているクレジットというだけです。正直このアイデアは無かった・・・というものではないはずです。
何故かベーシックなところが軒並み高収益を上げています。真似できないような高度な仕組みでもアイデアでもありません。
まとめ
伝えたいこと。
ソフトウェアの世界の可能性は無限大です。
しかし、プログラマーという枠にとらわれるとしんどいかもしれません。
おわり
こんにちは、T2と申します。
いつも楽しく拝見させていただいています。
現在転職を考え、プログラミングとやらを勉強しているいわゆるアラサーです。
昔からゲームとインターネットは常に身の回りにありましたが、全く関係ない業界を経てきて、今になって時代遅れながら「プログラマー」みたいな方向を目指しています。
これから私が関わるであろう業界のリアル、本音を聴くことができる本ブログは、数少ない私のシェルターみたいな存在で、閲覧できることに非常に感謝しています。
主さんもおっしゃっていますが、プログラマーに関わらず、これまで私自身が経験してきた加工業、接客とかでもそうですが、結局は過去の焼き回しだと思います。
質が上がっているかといえば、、、何ともって感じですね。
それでもプログラマーは、主さんが過去におっしゃっているように。
頭の中のものを形にできるスマートな立ち位置でもあると思います。
これから自分のサイトを作成する予定で、その時はまたコメントを残しますので、評価をいただいてもよろしいでしょうか?
助言をいただけたらより嬉しく思います。
長文失礼致しました。
すみません、つい舞い上がり出過ぎたコメントをしてしまいました。
プロの方に評価を求め、しかもまだ完成していないものについて語るなど。
ブログ更新、これからも楽しみにしていますね。
コメントありがとうございます。
また返事が遅れ申し訳ありません。
まさかコメントをいただいているとは・・・。
サイトが出来上がったら是非ご紹介ください。
更新も気まぐれ,サイトの時間も9時間ズレたまま直さない(そのせいでコメントのタイムスタンプがずれてます)。SSL対応もしない。そんないい加減なページですが、見てくださる方がいるなんて信じられない思いです。ありがとうございます。
こちらこそ、お返事ありがとうございます!
とてもシンプルなデザインで見やすく、記事の内容は濃い、
今の時代ではなかなかお目にかかれない、非常に貴重なサイトに出会うことができて光栄です。
私は今現在、どういう入り口から業界に飛び込むかを模索中ですが、転職そのものが目的になってしまわないよう、焦らずじっくり経験を積めたらなと思います。
またコメントさせていただきますね。
陰ながら応援させていただきますので、どうぞよろしくお願いいたします。
幾度も書き込みありがとうございます。
今コロナウィルスで時期が悪いので、
起業のチャンスではありますが転職には微妙と考えます。
焦らずじっくりは良いですね。
頑張ってください。