技術力はプログラマに必要な能力のほんの一部
東大の情報系を卒業する頃には、
"ゼロから"
CPUの設計ができて、プログラミング言語を設計し、コンパイラが書けて、OSを載せて、
その上で例えばレイトレーシングを動かせるくらいの力量がつく。
明らかに釣りなんだけど、無性にムカついたので、いつもと違うペースで書き殴る。:b
技術力があればプログラマが出来ると思っている時点で、すでにこの記事を書いた人の現場経験のなさを露見している。
プログラマにとって技術力は必要なことではあるけれど、それは必要能力のほんの数パーセントに過ぎない。
じゃ何が重要か?
Customerとの会話と交渉能力。これが必要とされる能力のほとんど全部、と言っていい。
どんなに優れた技術力を持っていても。
その必要性を顧客に説明する能力がなければ、それは何の意味もなさない。
どんなに優れた仕様であろうと。
それが顧客にとって必要とされるものでなければ、それは何の意味もなさない。
ソフトウェアはそれを使う人と作る人とのコミュニケーションの産物であり、あくまでソフトウェアは使う人のために存在する。
CPUの設計が出来るだと?
コンパイラが作れるだと?
レイトレを動かせるだと?
プログラミングは論理的なものだ。論理思考ができる人なら、実装方法は違えど、要求仕様を満たすプログラムは書けるだろう。
技術的にすごいものを作ることと、使う人が満足するものを作ることは、決定的に違うのだ。
...
ちと酔っぱらってるのと、怒ってるので、見苦しいところはどうかご勘弁を。^^;