2008/03/11
あなた方がこの春最もやってはいけない事は,Ruby,Python,schemeなどの最先端の言語に触れる事である.
正確には,それを会社で利用しようと思って触れることである.趣味で行うことにボクは口を出すつもりはない.
あなたがこの春,就職するまでにするべき事は,2つ
- Java,組み込み技術が必要な現場であればC++と言ったビジネスにおいて十分な実績のある言語の取得
- あなたが今までに作成したプログラムのKL(キロライン)とそれを作成するのに必要とした時間の把握
先日のPPLの講演では、マイナー言語で喰って行く方法のとっかかりとして 会社内でゲリラ的にマイナー言語を使って行くという手も紹介したので、 この件には触れておかねばなるまい (なお、PPLでの講演内容については読み物としてまとめてソフトウェア科学会誌 に寄稿するように頼まれたので、いずれそういう形で出せると思う)。
ちなみに元記事の内容は現実を踏まえた極めてまっとうな論だと思う。
自分の好きなマイナー言語を大きな組織の中での仕事で使って行くために、 個人の裁量でできるワークフロー改善からこっそり導入してゆくという手は とても有効だと私は思っているけれど、それはあくまでゲリラ戦であることを 承知しておかないとならない。組織の一員である以上、正規の仕事(ここではJavaやC++)も ちゃんとこなさなければならないし、むしろゲリラ的に動く自由を確保するためには 人並み以上に正規仕事ができなければならない。
この春、就職する人で、好きなマイナー言語を仕事でも使ってゆきたいという人に 私がアドバイスするとしたら、「Java帝国に潜入したScheme連合の諜報部員」 (JavaとSchemeのところは好きな言語に置き換えよ)に自分がなったつもりになる、 のが良いと思う。あなたのミッションはJava帝国を内側から崩すことである。 しかしあなたがSchemerであることは大っぴらに知られてはならない。少なくとも 内部に協力者を増やすまでは。さらに、帝国の上層部から信頼を得て権限のある 立場に昇るために、帝国の言語であるJavaについても人並み以上に使えなければならない。 道は険しい。Schemeへの愛が唯一の支えなのだ。だが 同志の集会で あなたは決して孤独な戦いに挑んでいるのではないことを知るのだ。
なんてね。 まあ、現状を変えてゆこうとするなら、現状にまかせて流れてゆくよりも 余分に泳がなけりゃならないのは仕方ない。 無理にならない範囲であれば、かわりに人と違うことをするって密かな楽しみを 得ることができるってわけだ。
それに、PPLでも言ったけれど、もし将来独立して技術コンサルやスモールビジネスを始めようと した時に、たとえ強力な言語を自分のコンペティティブエッジとするつもりであっても、 好き嫌いは別にしてメジャーな言語もちゃんと書けるようにしておくことは重要。 取れる仕事に幅ができるというのは余裕を持って仕事を選べるということだし、 現実社会の多くがメジャー言語で動いている以上、そことのインタフェースでは 相手の言語を理解している必要があるからだ。
Tags: Programming, Career