プログラマの道を目指すのに適した時代、適していない時代、 というのがあるように思う。 もちろんプログラマに限らず、あらゆる職種、それぞれについて、 適した時代というのがありそうだ。 最初に断っておくが、 適していない時代だからといって、その職種を目指すな、と言っているわけではない。 ただ単に、適していない時代であることを意識し、 適していないことを覚悟して ;-)、その道を目指すべきだ、という意味である。
現代は、プログラマを目指すのには適していない時代だとつくづく思う。
そんな馬鹿な、インターネットの普及によって、何でも簡単に調べられて、 その気さえあればいくらでも高度な勉強ができて、 いくらでもプログラマとしてのスキルアップができるではないか、
という反論が聞こえてきそうであるが、 もうしばらく黙って私の話を聞いて欲しい。
「自分なりに体系化するセンス」で、長久氏曰く:
「仙石浩明の日記」版「断片的な知識と体系的な知識」を見ると、 こういう学生時代を過ごして来た人って、 私の知人を見る限り 「未踏」級なんですよね。 で、やっぱり1回目の未踏に採択されています。 また、学習指導要領的には、 私の1世代前で、最も勉強が難しかった世代です。 今と違って、誰でもプログラマーになれた時代でもありません。 恐らく、仙石氏の同世代で普通のプログラマーって、 私の世代の普通のプログラマーより、 はるかにパフォーマンスが高いはずです。 更に世代を下がって、今の20代前半の普通のプログラマーって、 仙石氏の世代から見て、ありえない人たちに見えるのではないかと思います。
あまり議論されているのを見たことないのですが、 世代の違いって、すごく大きい気がします。 ソフトウェア技術者って、 仕事でハンマーとか使わないから(?)、 後輩に優しかったり、 職場に同じ年代が集まりやすいので、 世代を超えて積極的に交わろうとしなかったり、 世代間の断絶みたいなものがある気がするのです。 なので、私は、プロレスのように、積極的に世代闘争するべきだと思うんですよね。
「未踏」というのは、 「天才プログラマー/スーパークリエータ」を発掘支援することを目的に IPA が実施している 事業で あるが、 採択された他の方がどうだかはよく分からないが、 少なくとも私自身はとても「天才」とか「スーパー」とか呼ばれるようなレベルでは 全然ないと思う。 これは決して謙遜というわけではなくて、 自身がそういうレベルではないと思うからこそ、 プログラミングのみに集中するのではなく、 「取締役CTO」みたいなことをやったり、 マーケティングをかじってみたりと、 プログラマとしては道を踏み外したことを専らやっているわけだ。
そんな私が、いやしくも IPA のような権威に認めてもらえるように なってしまったのは、 ひとえに私がプログラミングを始めた時代が、 プログラマを目指すのに適した時代だった、 という幸運に恵まれたためだったからと思う。 私が初めてプログラムを書いたのは、 今から 30年近く前、中学1年生の時である。 1978年当時は、まさに長久氏がおっしゃる通り、 今と違って、誰でもプログラマーになれた時代ではなかった。
そもそもコンピュータ自体がまだまだ珍しい存在で、 私自身、もし中学校に「マイコン部」が無かったら、 コンピュータに出会うのはもっと後になってからだったとは思う。 コンピュータに出会う確率が低かった、 という意味で誰でもプログラマーになれるわけではなかったわけであるが、 それ以上に、当時の「マイコン」には少なくとも普通の人にとっては、 なんの魅力も感じられない代物だった、というのが重要な点である。
今と違い当時の「マイコン」は、大したことはできなかった。 高々 20Kバイトの BASIC インタープリタに、 最大 8Kバイトの RAM に記憶させた BASIC プログラムを実行させて、 40x25 キャラクタディスプレイ (つまりビデオRAM はわずかに 1Kバイト! もちろん表示できるのは半角文字だけである) に 表示させてできることなぞタカが知れている。 慣れない BASIC言語でプログラム書いてはバグに悩まされ、 散々苦しんだ挙げ句に得られる見返りは、あまりに少なかった。 自分で言うのもアレだが、 こんな何の役にも立たないものが好きになるのは、 よっぽどの物好きだけだったろう。
実際、私の同級生の中には、 プログラミングに興味を持って BASIC 言語を学ぼうとした人も沢山いたが、 大多数の人は何をすき好んでこんな七面倒くさい「言語」を学ぶのか、 到底理解できず、すぐ興味が別のものへ移っていった。 中学を卒業する頃、まわりを見渡してみると、 BASIC 言語を使いこなすレベルまで到達したのは私だけだったと記憶している。 私以外の同級生が BASIC 言語も使えないくらい低能だった、 というわけでは決してない。 それどころか私より明らかに頭がいい人も沢山いた。 それでも BASIC 言語一つ覚えられなかったのは、 単にプログラミングをするということに意義を見いだせなかっただけに過ぎない。 彼らが現在の中学生だったなら、 余裕で Web 2.0 時代のプログラミングをバリバリこなしていただろう。
つまり、誰でもプログラマーになれた時代ではなかったというよりは、 誰もプログラマーになろうとは思いもしなかった時代だった。 しかし、逆説的ではあるが、 苦労に見合うリターンが全く得られないからこそ、 自分がプログラミングが好きだということを確認できたという点で、 当時は「プログラマを目指すのに適した時代」だったと思う。
それに比べ、 現在のように少しでもプログラミングができれば給料までもらえてしまう、 ある意味プログラマが必要以上に優遇されている世の中では、 好きだからプログラミングをするのか、 それとも単に食うために(仕方無しに)プログラミングするのか、 曖昧になってしまうわけで、 「プログラマを目指すのには適していない時代」なのだと思う。
長久氏がおっしゃるように、 「仙石氏の同世代で普通のプログラマーって、 私の世代の普通のプログラマーより、 はるかにパフォーマンスが高いはず」というのは (実際に統計をとったわけではないが実感としては) 正しくて、 その原因は、 当時の「普通」のプログラマは、 みな例外無くプログラミングが三度の飯より好きだったし、 プログラミングに向いている人だけがプログラミングをやっていた、 ということにあるのだろうと思う。
昔話に終始していては、現在の若い人たちの参考にならないだろうから、 この話を現在に適用すれば、次のようになるだろう:
今の時代は、 プログラミングをすれば充分すぎる見返りが得られるが故に、 自分がプログラミングに向いているのか、 あるいは単に見返りのためにプログラミングをしているのか見極めるのが、 とても困難な時代である。 プログラマを目指すのもいいが、 向いていないことを後になって自覚して 「35歳で定年を迎える」ことにはなってほしくない。 現在は明らかにプログラマを目指すのには適していない時代である。 では何を目指すのに適した時代だろうか? 1978年当時の「マイコン」に相当するものが、 今の時代にもきっとあるはずである。 若い感性でそれを見つけ出し、 誰もが目指さないからこそチャンスがあるんだと信じて、 自分に向いていることをどこまでも追い求めて欲しい。
始めまして。
高瀬と申します。
記事を拝見させて頂き、非常に納得しました。
確かに、ただプログラムを食べる為だけにやってきた人や、整えられた環境上でのプログラムになれてしまい、コンピュータの基礎について一切の知識が無い人が増えています。
プログラマに向いていない人でもプログラムを出来るようになったとも考えられるかもしれませんが、自分に適性があるか正確に判断する必要がある時代なんでしょうね……。
Comment by 高瀬裕一 — 2006年7月3日 @ 00:53
初めてコメントさせていただきます。石川γと申します。
私は「プログラマを目指すのに適していない世代」という立場で、非常に納得できる記事でありました。
特に間違ってはいないだろうと思いながら学生時代を過ごしたけど、同じ職場にいる30代以降の人達が入社時から持っていたと言う基礎技術と基礎知識に大きな違いを感じています。
特に、その世代の人達からは、私が学生時代には必要ではなかった知識を”常識”だといって求められる現状・・・。
これも時代が違うからなのだと思いしらされます。そして、中間に当たる世代がいないために手本にできる人もいない。職場環境にも救われていません。
そして、適正もないなら辞めようかと思っている今日この頃です。愚痴っぽくなってしまいましたがorz
脱線してしまいましたが、つまりは今の20代半ば前半の世代には適していないというのはその通りだと思います。
Comment by 石川γ — 2006年7月3日 @ 19:56
無償の開発ツール
現在、BlogRankingのプログラムランキングにて29位です。 後輩に教えてもらったのですが、Microsoftから無償の開発ツールが出ているようですね。 http://www.microsoft.com/japan/msdn/vstudio/express/ 上記サイトに載っています。 一昔前に比べて開発ツールが手に….
Comment by SEの読む本 — 2006年7月6日 @ 22:34
こういう記事は老害でしかないと思うんですが。
自分たちの持っているもの、置かれていた状況が素晴らしいもので、現在のそれは劣っているというのは単純に「刷り込み効果」でしょう。
現代のプログラマがあなたの世代よりもはるか劣るというのは、プログラマという職種が一般化したことによる当然の結果で、コア層のみを見るならそれほど差はないのでは?
ただ、現代がプログラマになろうとする人にとって不遇な点には共感です。
昨今の情報が過剰な状況では、筋道立てて何かを学ぶなんて不可能です。というか系統立てて学ぶなんて愚かなことです。
あらゆる分野でコミュニティが確立されていて、何か疑問や問題点があってもそこへポストすれば即座に解決可能です。
こういう時代では、芯の通った骨太で系統的な知識よりも、断片的で、それ自体では応用も利かないようなぽつぽつとした知識を多くもっていることの方が価値があると思います。
Comment by 20代練習生 — 2006年7月7日 @ 06:37
「コア層のみを見るならそれほど差はない」というのはおっしゃるとおりだと思います。いつの時代も、環境がどうであれ、好きなことと向いていることと目指すことが一致している人は強いものです。
でも、現代の「コア層」の人たちも、「昨今の情報が過剰な状況では、筋道立てて何かを学ぶなんて不可能です。というか系統立てて学ぶなんて愚かなことです」などとは言わないと思いますよ。私の言うことは聞かなくてもかまいません(^^;)ので、ぜひ「現代のコア層」の人たちの意見を聞いてみてくださいね。
Comment by 仙石浩明 — 2006年7月7日 @ 07:26
こんにちは記事の内容は先に進んでおりますが、なんか共感がもてる記事だったのでコメントさせていただきました。僕は小学生の時にエムエスエックスから興味がでてプログラミングをはじめました。そのときも今も思うのはゲームやら家業などでソフト作れたらいいなと夢中でした。今は趣味のラジコンのホームページを作っていることが夢中ですね。ようは何かに夢中になることがイコールやりがいになるんですよね
今私はトラックド
Comment by かず — 2006年7月11日 @ 14:45
プログラマと名乗れない時代
※お知らせ※SIG-GT8「ノンフォトリアリステックにおける生産性の向上へのアプローチ」※お知らせ※プログラマを目指すのに適した時代、適していない時代のコメント欄より抜粋引用:Posted by 20代練習生昨今の情報が過剰な状況では、筋道立てて何かを学ぶなんて不可能です。…
Comment by blog-mnagaku's BLOG-IGDA Japan chapter — 2006年7月12日 @ 22:26
エントリを読んでいて同世代な方なのかな、と思い勝手に親近感を感じて投稿させて頂きます。小学6年生頃でしたでしょうか。当時、秋葉原の電気街で電気部品を買ってきて、半田ゴテで何か作ってました(何を作ったのかは忘れてしまいました)。その頃、マイコンのようなものが、あちこちに出てきてモニターを見ながら皆が何かをやっているのを見たのですが、黒い画面に浮かぶ白い文字の配列と、しか認識できず、全く興味が持てませんでした。あの時が、プログラマになれる、なれないの試金石だったのですね。妙に納得しました。その後、多少はプログラムを勉強する必要があると思い、プログラムを頻繁に使いそうな大学の研究室に入り、Cをほんのちょっと勉強することになりますが。。それが、大変大変。憧れの分野と自分の適性は、理性で判断せずに直感的に自明となっているのですね。直感を大切にすることが重要と、再認識しました。
Comment by guybeauhill — 2006年11月18日 @ 09:56