今、プログラマーになる人は何を目指すべきか?part2

「あなたプログラマーでしょ?じゃあこの表エクセルで作ってよ。」

プログラマーを何だと思っているのでしょう。ちっ。
しかし、ふと考えることがあります。
仮にエクセルがなかったとすると、PC上の表作成はプログラマーに依頼するしかありません。今は、エクセルというツールがあるから誰でも表やグラフを作成できるのです。
見方を変えれば、エクセルというツールがプログラマーの仕事を奪っているのです。

何もエクセルに限った話ではありません。
今回はプログラマーの奪われる仕事と目指す先についてです。
個人的な意見ですがご参考まで。

プログラマーの仕事とは

プログラマーの仕事の究極は、プログラマーの仕事をなくすことなのかもしれません。

プログラマーは処理の再利用を前提に設計したりプログラムを書いたりします。再利用する当てがない処理でも時間が許す限り汎用的になるようにします。そこまでは案外みんな共通です。
なのに、いざ再利用できる状態になっても、何故か一から作り直す謎。アホですね。ダメなプログラマーの例。

実践ソフトウェアエンジニアリング-ソフトウェアプロフェッショナルのための基本知識-では、以下をソフトウェアの特徴としています。

1. ソフトウェアは「開発」されるものであり、大量生産のような「製造」が行われるものではない
2. ソフトウェアは劣化しない
3. ソフトウェア産業の潮流はコンポーネント(部品)の組み合わせによる開発に動いているにもかかわらず,ほとんどのソフトウェアはいまだ特注品である.

1については説明がいらないと思います。2は少し補足すると、「劣化はしないが悪化はする」と文中にあります。つまり処理が徐々に重くなるようなことはあってもハードウェアのように擦り減ったりすることがないということです。

3の内容が今回言いたいことです。
「ほとんど」のソフトウェアが特注品であることは確かです。先に述べました汎用的に作るくせにいちいち一から作り直す習性のせいかもしれません。日本では2005年に初版が出た本(和訳)ですが、そのころから状況はあまり変わらないようです。
しかし「ほとんど」に含まれない優秀なソフトウェアやコンポーネントは当時と比べて多く存在します。

例えば僕が記事を書いているこのWordPressというブログの仕組み。簡単におしゃれなブログが作れてしまいます。プログラミングなんて一切必要ありません。
もともと僕は日記サイトをテキストエディタを使って手作業で作ってました。

15年以上も前の話で僕の学生時代のバイトの話ですが、ホームページの環境を構築するだけで20万円ほどもらえました。今なら数分でおしゃれなページの完成。当時は数日かけて、俳優阿部寛さんのホームページのようなページです。阿部寛さんのページは何故か安心感がありますね。このまま続けてほしいものです。
今、ブログやホームページの環境構築だけでお金を払う人は少ないと思います。

10年ほど前(うろ覚え)、C#にチャートコントロールというグラフ化のコンポーネントが実装されました。これでようやくグラフを座標指定して線でグラフを描いたり、矩形のコントロールを無理やりつかってグラフっぽく見せる世界から抜け出せると喜んだものです。
数年間使いこんで最終的には3日もあればある程度のグラフと動作を作れるようになりました。
しかし、今はその必要もありません。BITOOLが非常に優秀です。
QlickView,PowerBI,Tableauなど有名どころはいくつかありますが、僕はTableauを好んで使用しています。グラフ出すだけならドラッグ&ドロップで数秒、多少凝ったものでも1Hもあればできてしまいます。
僕が積み上げた技術は何だったのか。

データを連携させたり加工したりするのに、ETL(Extract Transform Load)の存在を知りつつも、一からプログラムを書いて作ることを提案してくるITベンダーがいます。2年ほど前の話です。
僕はオープンソースのTalend for Bigdataを使用します。
慣れればかわいいやつでプログラミング作業を大幅に減らしてくれます。ものの数分で作業が完了します。

プログラムで作ることもできるのですが、汎用的なツールを少し応用して使えばプログラミングの必要がありません。しかも簡単です。

ツールの使い方とアイデア

昨今プログラミングせずに目的を達成できるツールやサービスは多いです。
最低限の目的を達成するだけならNoCodeやLowCodeと呼ばれる仕組みで十分です。
ノンプログラミングとかプログラムレスという言葉を謳っているものでも構いません。使い方次第と感じます。

僕がシステムを構築する際も、ほぼプログラムを書かなくなりました。たまに発作的に一週間くらいぶっ通しでプログラミングし特注品を作りますが大半がプログラマー1年生でも作れるようなものです。

「楽するために面倒なことしますね」と昔よく言われましたが上には上がいるものです。プログラミングを面倒と感じる人たちが、プログラミングせずにやりたいことが実現できるよう昼夜問わずとてつもなく面倒なプログラムを書いてくれています。

僕たちはその結果を利用させてもらうだけでやりたいことが実現できるのです。しかも無料だったりするのでびっくりです。

おかげ様で小学生でもソフトウェアを作ったり商売を始めたりができます。インフルエンサーですか?すごいですね。知らんけど。

まとめ

代替手段が増えてきているので、プログラミング自体の価値は減っていくかもしれません。そんな時代にプログラマーになる人は何を目指すべきか。

プログラムを書いてソフトウェアやツールを作るのか。
ツールを使ってソフトウェアやサービスを作るのか。
サービスを使ってコンテンツを作るのか。

プログラムを書く技術を磨くのか。
ツールの知識を深めツールを使う技術を磨くのか。
サービスの知識を深めコンテンツの技術を磨くのか。

本当にこの世界は面白いです。
何が正解かはわかりませんけども。

おわり

PR

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です