D-7 <altijd in beweging>

Day to day life of a Perl/Go/C/C++/whatever hacker. May include anything from tech, food, and family.

カテゴリ:仕事

(はいはい、まず言語論争するつもりないから、そういうコメント禁止ね)

1. 論旨

新たな就職氷河期到来が叫ばれる昨今、就職に困っている学生さんもたくさんおろう。「技術があればチャンスはあるかも」って思う人もたくさんおろう。その際にプログラミングでもいっちょやってみっか、って思う人もたくさんおろう。

そこでとりあえず言語を選ぶよね。「就職を有利にするため」という条件をクリアするためにあなたなら何を選ぶ?Java? C#? Ruby? PHP? (ちなみに自分は大学を卒業した時点で一番得意だったのはJavaですよ)

色々選択肢はあるのは当たり前なので他の言語も排除はしないけど、僕としては自分の今持っている情報と経験から、Perlは覚えておいて損は全くない!と言い切れる。それは至極単純な理由で、需要より供給が圧倒的に少ないから。

就職情報サイトで一番多く当たる言語とかはもちろんそれだけ需要があるという事でもあるのは当然だけれども、それはつまり供給もほうも当然多いのです。競争も激しいし、当然ながら1人当たりの価値は下がります(この場合の価値というのは給料という意味ではなく、採用する企業側からみたあなたの価値.... 採用するときにどれだけハングリーな目で見てもらえるか、です)

JPAの会員になってくれてる企業のうちアクティブに採用を検討している会社は(採用基準も高いところも多いけれど)、それはそれは切実にPerlエンジニアをほしがってます。今から少しでも多くPerlの知識を身につけておけば、競争が比較的少ない分野で輝くことができる可能性が高いわけですよ。

あなたのゴールはなんですか?クールな言語を覚えること?流行物やバズワードに乗ること?それとも・・・仕事を見つけること?重要なのは採用してもらい、社会に出て、そこで経験を積むことなはず。

株式相場でもそうだけれども、勝ちたいなら基本的には逆張りしないといけないですよ。そういう意味で全く持って Perlは良いオプションだと思います。

ちなみに名の通ってるPerlを使用している企業の中ではWeb系の企業が多いのでPerlを選ぶ=Web系のキャリアに就くと思っている人もいるかもしれないが、Perlはもともと面倒なシステム管理タスクなどを簡単に包括的に行うためのツールとして作られているので、Web系に限らずその後もっと広いシステム領域に自分の仕事を広げていくつもりだったとしてPerlという言語は悪いチョイスではないと思います。

2. ただし書き

・・・とここまで書いておいてなんだけど、だからと言ってPerl勉強すればいいってもんじゃない。色々なただし書きがついてきます。

ここからはまとまりにくいのだけど、とりあえず羅列してみる:

  • 今回僕はPerlを便利なツールで、覚えておいて損はない、そして今ならある程度のPerl力があれば就職できる可能性が高いよ!って言いたいだけ。
  • Perlを覚える事にしたとしても、それだけでは何にもならない。優秀なプログラマーは第1言語以外のどの言語を与えても資料さえあればそれなりのものが作れる。重要なのは言語の仕様ではなくて、プログラムを書く時の考え方だから。だから他の言語も一緒に覚えればいいと思う。
  • Perlに関してはバッシングが結構ひどいけど、少なくとも「言語仕様」を叩く人の言うことは8割ほど引いて聞いておけ。他人のコードを読めないとのたまう人は自分が得意とする言語・環境以外のデバッグができないだけだし、まずいコードを書く人はどの言語で書かせてもまずいコードを書く。

3. ということで

今はPerlは戦略的に就活を行うなら、早い内から手に入れておいて役に立つスキルのひとつだと思う。ただしYMMV

4. ついでに

あくまで個人的な意見ですが、今から新たにPerlの何かを覚える目標としてはPlack/PSGIともっと進んだところでは非同期プログラミングはいい題材だと思います。技術的なレベルはちょっと高いけど、その辺りを目指すと外れはないかな〜。まぁこれは本当に個人的意見なので初心者には辛いかもしれません。

あとこれからPerlを覚えようって方には(もっと他にもあるだろうけど)とりあえずPerl関連書籍Perl関連資料のページも作りましたよ。

あと、Perlメインでなくてもいいので、Perlで開発を受注できる!という会社の方は是非こちらに書き込んでください!数が揃えばJPAサイトのほうに移します。
    このエントリーをはてなブックマークに追加 mixiチェック

ちょっと前にインタビューに答える機会があって、そのときに マネージメントという立場に立つことについて権力を持つという事は職人として生きていきたい人にとっても決して悪くないよ、というような事を言った。

まぁ自分のばあい権力なんて言ったってたいした事ないけど、一応「長」がつく役職を持っているとそれなりに色々できる。

しかしやっぱり権力とは責任を持つことで、それを持つのはどうにもこうにもいやだなぁ、と思うこともしばしばあるわけです。たぶん一番重いのは、他の誰かの運命の一部に干渉できてしまうということ。すべてがうまく行っていればいいんだけど、そうじゃない時、他のファクターがあってなんらかの決断をしなければいけない時。

どうすればいいの?って聞く事はできるけど、権力を持ってしまったからにはその決断は自分がしなければならない。そしてついにやらないといけないとなった時、自分の決断が誰かの人生の方向を変えてしまう(可能性もある)。

わかってはいるし、それもひっくるめてこその権力なんだけど、ため息をつかずにはいられない時もあるなぁ。
    このエントリーをはてなブックマークに追加 mixiチェック

弊社endeworksの単発の仕事でちょっとFlashをいじれる人を探してます。もし興味があったらご一報をいただければ幸い: twitter / wassr 。メアドはdaisuke @ ドメイン名です。
    このエントリーをはてなブックマークに追加 mixiチェック

弊社社員から、ブログにまとめてくれと熱い要望があった(?)ので書いてみる。

このエントリのタイトルは本当は「インド人と話す時のライフハック」なのだが、なんかもっといろんなコンテキストで使えるような気がするので、タイトルは「○○」と変えてみた。

人種差別だとか言われるかもしれないが、アメリカに居たとき俺は正直インド人と話すのが苦手だった。働いていたのはカリフォルニアなので、そりゃ同僚にいっぱいいたわけですが、どうも彼らと仕事をしていて、「あ、この件はこういうことなのね」と納得したと思っていると後で大どんでん返しを食らったりとか、そういうことがよくあった。

ぶっちゃけインド人が特にそうだった、というわけではないのだが、俺個人としては他の人種より若干そういう意思疎通の問題があったわけです。

もちろんしょうがないことなのだが、訛りとかですでに英語が聞き取りづらいし、その上なんか文化背景が違うのか、な〜んかいつも話が食い違う。どうしようか本気で悩んでた時期があった。

そんな俺が色々試行錯誤した末たどり着いたのは、以下の2点の注意:

  1. すぐに共通の理解が得られたと勝手に思わない。もっとひどい言い方をするなら、こっちの意図している事が伝わってるわけがないし、向こうが言ったと俺が思ってる内容もきっと違ってる、という事がまず前提だと思うことにする。
  2. こっちが理解した内容を、向こうがはっきり「その通りだ」と言うまで、何回でも繰り返し確認として話して聞かせる
つまりは、会話が終わったからと言って、ちゃんとお互い認識が一緒なんて絶対思わない事。そして、ちゃんと理解が得られたと確信が持てるまで、何回でも繰り返し繰り返しこっちが理解した内容を復唱する、ということ。

で、自分とどうも話が通じないなぁ、と思う相手はだいたいこの手が使えるな、と最近思うわけです。

別に相手の訛りがひどいとか、そういうわけじゃなくて、人間それぞれ育った環境も意識も違うわけだから、例えば仕事上で次に何をするか決めるときには、「なるほど」で終わらせるんじゃなくて「では、今言われたように○月x日 △時までにAをして、その後翌日同時刻までにBをするのですね?」というように確認し、相手が少しでも自分の認識と違う事を言ったら、またその分だけの修正をしてからもう一度復唱する・・・ってのをいくらでも繰り返す。

これくらいしないと異文化コミュニケーションなんて取れないんではないかな。同じ日本人でも人が違ったらプチ異文化だから、気が済むまで確認するといいと思う。



まぁ、なかなか毎回はできないから、結構「やっちまった」な時も多いんだけどね。自分ももっと気をつけよう。
    このエントリーをはてなブックマークに追加 mixiチェック

9/5で正式に登記が受理されたので株式会社endeworksになりました。

でもまだサイトとか全部有限のままです。そのうち変えてもらいます!
    このエントリーをはてなブックマークに追加 mixiチェック

色んなところで自分の今までの経歴を話す時に話してるけど、俺は基本的に落ちこぼれです。大学は工学部でComputer Scienceを専攻したけど、イマイチぱっとせず、基本中の基本みたいなコースも落とした事あるし、授業なんて(アメリカの大学なのに)全然出てなかった。自分の専攻のクラスはさすがに退学にされたくなかったんで出てたけど、それ以外の数学、経済、化学、物理、ことごとく出席日数は50%以下だ。物理なんて全行程を通して2回しか出てない。

特に創造力があるわけでもない。若かりし頃、高校生とかその頃は漫画家を目指してみたり、ミュージシャンを目指してみてレスポールを膝くらいの位置に吊って弾いてたりしてみたけど、結局そういうシナプスがばりばり音を立てて何かをゼロから生み出すような事もたいしてうまくなかった。

だから正直大学卒業間際は相当焦ってた。卒業後紆余曲折あって、2年後くらいにNetwork Applianceという会社に入社できた時もまだ何も出来ず、俺はいつクビにされるんだろうと悩んでいた(まぁ、それとは別に俺は別にコンピューターの仕事をしなくても飯を食う分くらいには金は稼げるだろうという楽観的な意見もあったのだが)。

卒業後 からひどい貧乏なアメリカ生活を送っていたからその生活には戻りたくなかったし、かといって俺は使えない人間だったから仕事もあまりないし・・・。そんな状況で出来る事と言ったら一つしかなくて、それは自分でやる事を見つけて、とにかくそれを愚直に突き進めて行く事だけだった。

当時社内に初期開発後しばらく忘れられていたツールがあって、それが何かの話のおりに話題にあがったので、ふと興味を持ってそのツールを見てみる事にした。なんせ仕事ないしな。

ソースコードを読み解く事数日、どうにかこうにかなんとか何をやろうとしているのか分かってきたので、その時になっておずおずと当時のボスに「これ・・・動かせるようにしてみてもいい?」と聞いた訳です。返事は「おお、いいよいいよ」別になんの期待もなさそうだけど、そりゃそうだろ。仕事もねぇしw

そのツールは結局2ヶ月近くかかって動かす事に成功した。実はその間に日本に強制送還、もとい、ビザが切れたので日本支社で働く、というような事になってたりしたので微妙な環境だったのだが、それでもリモートから作業してなんとか動かした。

このツール自体はその後数年間運用されて、結局政治戦争に敗北した我が部署が乗っ取られたのでスクラップになったのだが、まぁそれはともあれ、この時自分は21か22。その語2年前後でCPANにモジュールを登録したりするようになっている。

ちなみに俺のような人間がCPANに出会えたのは幸運以外の何者でもないと思う。自分の才能のなさをどうしようというときに、自分がただのでくの坊だとさえ認められれば、「あとはCPANから借りてきました><」で自分の作りたい物が作れて、仕事になる。時々見つける事のできる細かいエラーとかを報告すればそれはそれで貢献できる。あきらかにWin-Winじゃんね。

ともあれPerlやCPANとの出会いはそこからだし、やはり明らかにターニングポイントはその掘り起こしてきたツールだったなぁ

学校を卒業して11年たった今、自分が「すごくなった」って全然思わない。今でも上に人がいすぎて(しかも最近は若い人がどんどん自分の上に来るし)悲しくてしょうがない時もあるし、なにより自分の才能を自分が信じてない。

そのかわり自分はでくの坊だと認められた。そしてその後はただひたすらコードを書いてきた。それだけは自分の自信につながってきてる。

天才でない人は愚直に書く、ノウハウをつける、積極的に手を動かす。人の意見を素直に取り入れる。これしかないんだと思うよ。才能の無い人が出来る事はそれだけだけど、それを続ければ何かが実るはず。

今は必死で手を動かしてるときっと後で戻ってくるものがあると、天才ではない、大多数の後進の方達には言ってあげたい。
    このエントリーをはてなブックマークに追加 mixiチェック


    このエントリーをはてなブックマークに追加 mixiチェック

このページのトップヘ