2013.01.23
自分の好きなプログラミング言語で就職する
教えて!goo - 関数型言語を独学で勉強している学生です(2013/01/17)
http://oshiete.goo.ne.jp/qa/7896221.html

<情報系の大学3年生です。
 僕は関数型言語に興味がありhaskellやlispを勉強しています。
 しかしこれらの言語で何か作るのは結構しんどいと思います。
 ぶっちゃけ、javaとかrubyとかpythonの方が作りやすいでしょう。
 haskellは出力するにも一苦労だしlispはリストが面倒。
 関数型言語は実用的だとは思えません。
 しかし、楽しいです。
 どう表現すればいいかわかりませんが、とにかく関数型言語は面白いです>。

<そこで質問です。
 昨今のIT企業は新卒採用の際、学生時代に作ったプログラムを評価し採用の是非を決めると思います。
 もし関数型言語で何か作っても評価されるのでしょうか。
 僕ができることといえば、本やサイトに載ってあるサンプルを少し改良するぐらいです。
 そんな作品を企業側が積極的に評価し、採用してくれるでしょうか。
 それともこんな浮世離れしたことやるよりrubyとかpythonで奇抜なアイデアのプログラムを組んで、twitterやブログで奇を衒っていかにもギークっぽく振舞ったほうがいいんでしょうか>。

これはいい質問だし、なかなか深いテーマだと思う。

要するに、HaskellやLispが好きで、できればそれで就職したいのだが、RubyとかPythonあたりをやっといたほうが無難だろうか、ということだろう。

この質問は、次のエントリで知った。

Oh, you `re no (fun _ → more) - 関数型言語を独学で勉強している学生です への答(2013-01-17)
http://d.hatena.ne.jp/camlspotter/20130117/1358406799

<関数型言語を実用に使っている人は、実用的だと思って使っているのです>。

<関数型言語は汎用的に使えますが、得意だとされてきた分野があります。たとえばプログラミング言語の処理(コンパイラ)や、金融など数学に近かったり、厳密なエラー処理が必要な分野など。このような分野では関数型言語はゲームや Webサービス開発などの分野に比べて比較的に普及しています。あなたがやりたいことが、これらの関数型言語が得意とされている分野から遠く離れているのであれば、非実用的と感じられるのは自然なことです>。

これは、私もそのとおりだと思う。関数型言語を実際にビジネスで使っているところは、少ないかもしれないが、それなりにあるようだ。そこでは、関数型言語によってビジネスが成立しているのだから、それはもちろん「実用的」な道具である。

冒頭の大学生の質問では、<関数型言語は実用的だとは思えません>というように、「実用的」かどうかという書き方になっている。よって、camlspotterさんの回答も、「実用的」かどうかが軸になっている。

しかし、この大学生がほんとうに知りたいことは、「HaskellやLispが好きなので、できればそれで就職したいが、可能なのか?」ということだろう。

HaskellやLispがほんとうに好きなら、ぜひともそれをやっている会社を探して、そこに入るべきだ、と私は思う。camlspotterさんは、こう書いている。

<関数型言語が楽しいのであれば、何か実用的なものを一つ書いてみてはいかがでしょうか。慣れたプログラミング言語で、これを書きたいなあ、と思っているものを、関数型言語で書けばよいのです>。

私もそう思う。ほんとうにHaskellやLispが好きなら、それでちょっとしたものを書くくらいはできるだろう。HaskellやLispで求人している会社を探して、自分の書いたものを持って行けばいい。それをGitHubで公開したり、自分のブログでHaskellやLispの解説記事を書けば、さらにいいと思う。

HaskellやLispで求人している会社は少ないだろうが、少ないからこそ、その会社は選び抜かれた会社であり、おそらく技術レベルが高い。日本では、RubyやPythonでさえ、それで仕事できる会社はまだ少ないだろう。よって、RubyやPythonで仕事できる会社も、おそらく技術レベルが高い。

この大学生の質問は、プログラミング言語に限らない、普遍的な悩みだろう。自分の好きなものや、やりたいことがあって、しかしそれで食えるかどうかわからないとき、どうするか。もっとマトモなこと、食いっぱぐれないことをやったほうがいいのだろうか、という悩みだ。

まずは、自分がいちばん好きなもの、やりたいことに挑戦すべき、というのが私の考えだ。そのやりたいことが、音楽とか、アートとか、文学といったものであれば、それで食っていくのはむずかしいので、かなりの覚悟がいる。しかし、HaskellやLispといったプログラミング言語であれば、一定のITスキルがあることは間違いないと思うので、少なくともITで食えないということはほぼありえないだろう。

ITはなんだかんだいっても成長産業であり、転職も比較的容易だ。ダメな職場、ブラックな会社もあるようだが、一定のスキルがあれば、いつでも転職できる。この点、ITが好きな人は、幸運だと思う。


関連エントリ:
就職ばかりが仕事じゃない
http://mojix.org/2010/09/25/shuushoku-shigoto
IT業界がいいのは、つねに勉強せざるをえないこと
http://mojix.org/2008/07/27/it_gyokai_advantage