プログラマーが目指すところ

世の中にあるIT関連の求人でありがちな文句「未経験歓迎!」にあるように、プログラムを作ることは誰でもできる1)。画面にびっしりと並んだ文字という異様な外観は呪文そのものに見えるが、少し勉強すれば「使うことは」普通にできることがわかる。

一般のITリテラシーがあまりに低いのでプログラムを書くことはそれだけでスゲーとなりがちだし、誇らしく思ってしまいがちだ。もちろん勘違いだ。 ほかのものごとと同じく、問題はその先である。つまり、いいものを作れるか。

プログラマーの場合は優秀な人に完全に代替されてしまう。優秀な大工は平均的な大工の5倍の速度で家を建てる、ということはおそらくないが、プログラマーでは普通の人と優秀な人の差が何百倍にもなる。ときによっては何万倍にもなるかもしれない。じつはプロスポーツもびっくりの超競争になる可能性があるが、成果を金額で測ることが難しいので今はそこまで激化していない。さらに一番重要なことに、場所や国籍の制約がない。

プログラマーのレベルが10段階あるとすると、たぶん4くらいは誰でもいけるだろう。コンピュータの知識がなくても、なんとなく書けば動き、作れる。ほかのモノづくりと同じだ。未経験、文系の人が目指し安定するのはこういうところ。ツールを開発したりはできない。フツーの人よりははるかに詳しくてパソコンに強いと思っている。コンピュータユーザ全体のヒエラルキーでは中間に位置する。

フツーの人(表計算とかできる) < 開発ツール(PG言語など)使用者 «< 開発用ツール開発者

ヒエラルキーといったが、年金制度や企業とかとは異なる。1人の上級に10人の中級とかそういうのはない。外から縛るような人数制限はないのだが、現実には上位の人たちは数が限られている。 私は中間にいる、とは思う。ものすごい人を見て、とてつもない距離を感じる。プログラムを書けるということと良いものを作れるというのは全く別のことだ。

一番スゴい人たちを見る

落胆していてもはじまらない。何か優れた人の行動規範の真似をすることは、少しでも自分のためになると思う。というか止まっていてはマジで労働市場で死にかねない。一部のスゴい人に代替されるだけでなく、時間的に移り変わりが激しいからだ。

猛者たちをイメージしてもあまりにスキルが違いすぎてよくわからない。彼らの卵というか、将来の猛者候補をみてみよう。同世代の、数学/物理/情報科学専攻の院生の人なんかをイメージしてみる。 たぶん私が「~言語が使える」と言ったところで、→で?「そんなの家電を使うのと同じくらいカンタンじゃないか。それより僕は3日でフレームワークや言語、果てはOS作ったけど?」とか鼻で笑われるだろう。何も言い返せない。

利用できるだけじゃなくて、改良、開発できるのが彼らにとっては当然だろう。 下のレイヤーを学ぶことになる。プログラミング言語はC言語で書かれてるだろう。じゃあ学ぶ。C言語はなにでできてる?… コンピュータ科学や数学の知識はこういうところで、後から効いてくるんだと思う。

限りはあるんだろうけど、プログラムなどのツールを利用できることは、最低限のスタートにすぎない。もちろん最初の何もできないときから比べると喜ばしいし世界は変わって見えるのだが、3日経ったら落ち着こう。スゴい人はもっと先を見てるだろう:このツール、どうやったらもっとよくなるかな?

1)
そういうところの労働環境は最悪だろうが
article/learn_computer.txt · 最終更新: 2020/07/22 22:07 by kijima