ソフトウェアエンジニアを採用する時に見るべき6つのポイント

何を期待されてるのかさっぱりわかりませんが、到着3週間で早速採用インタビューとかに使われてたりしています。英語がわからんっつーの。しかもMathのPhDの喋る内容なんて日本語で聞いてもわからないっていうのに。こちらから質問しておきながら半分以上は聞き流したりして何とかやってます。パーソナルなことは聞かないようにと言われていますが、人種も年齢も性別もごちゃまぜなのでほんとに気にならないというか気にしている場合ではない。「ジュニア」「シニア」ぐらいの分け方はありますがそれ以上でもそれ以下でもないし新卒中途とか年齢とか性別とか見てたころは一体何だったのだろうという。

そんなわけで今日は採用に関する6つのポイント。実は半分は人の受け売りです。

Passion
これはよく言われると思いますが、その職場や職種に熱意とか興味とかがない人はやっぱり駄目でしょうね。逆に他のものが足りなくても熱意があれば(特にソフトウェアなんかの場合)自分でどんどん覚えていくので十分補足する材料になり得ます。

Potential
人には伸びしろというのが必ずあるものですし今の時点で足りてなくても1年ぐらいで追いつくと思えば十分ペイするはずです。必ずしも年齢が若いとかそういうことではなくて、例えば大企業ですごく狭い領域を専門的にやってましたという人が小さい会社に来て広範囲の問題を相手にする場合、当然これまでの専門外は見ず知らずなわけですが自分の専門をきっちりやった上で柔軟性があれば伸びしろは十分にあるわけです。

Knowledge
当たり前と言えば当たり前ですが、自分が働く領域について知識があるかどうかは重要なファクターです。ソフトウェアエンジニアについて言えばこれまでやって来た領域に限らず広くソフトウェアエンジニアリングについて本を読めばわかることは多いですし、今同業の人たちでどんなことがホットなのか、業界のビジネストレンドがどうなっているのか、どういうプレイヤーがいるのかなど、アンテナの高さは働き始めてからの伸びに関わります。

Skill
Knowledgeと少し違うのはソフトウェアエンジニアの場合ちゃんとコードが書けるか、シェル動かすスピードはどうかとかそういうことになります。リンクリストとかスタックとか書かせればすぐわかります。SQLで相関サブクエリ+集計とか出すと結構な人が脱落します。もうちょっと高度なものが必要な時にはダイナミックプログラミングとかもいいかもしれません(所用時間で終わらなくても大枠の理解が伝われば良し)。ある程度レベルや分野に分けて事前に問題集を作っておくといざというときにパッと出せて便利です。

Experience
KnowledgeやSkillと連動すると思いますが、これまでの経験は当然活かせる方がよいと思います。これの難しいところはレジュメ見てもわからないところで、「10人プロジェクトのリーダ3年」という人はザラにいたわけですが、修羅場の切り抜け方、議論のまとめ方を知ってるか知らないかはよくよく話を聞いて判断することにしています。プロダクトがバグったときにどういう措置を採りますか?と聞いて「ログ見ます」しか答えられない人は、多分困ったときに頼りにならないと思ってます。

Getting Things Done
6つも挙げといてこれが書きたかっただけなんですが、一番大事なことはちゃんと任務を完遂できるかどうか。特にコードを書かなきゃならない場合、シノゴの行ってないでまずはコード書けと。書いて捨てろと。捨てたら同じことしないように3倍の早さで書き直せと。会社の方向性と体質にもよりますが、会社としてビジネスが絡む以上きれいごとだけでは済まされないわけで、それを理解できずにいつまでもグダグダやる人がいます。逆に何も考えずに目先のゴールだけ達成してコードの品質とか考えない人はソフトウェアの美学から採りたくないんですけれどもええ。

採用に関わるエンジニアの方も少なくないでしょうが、「何となく」話を聞いて終わり、というのは多いのではないでしょうか。自分もよくそこに陥りますので。自分なりの指針を持って採用に関わればブレないし少しは科学的にやれるような気がします。

学生諸兄は処刑されないようにご注意ください

日本を出て何がいいって日本のこと人ごと見たいに酒のつまみにできるところですよ。

まあ知らない仲じゃない人たちがグリーにもディーエヌエーにも要職についていらっしゃいますので下手なことは言いませんけど、お互い元気そうですね。「裁判とか、おじさんつかれちゃうよ〜」とか言ってそうで何よりです。

何って裁判もそうですけど1500万も新卒に出すとか言ってる会社さんですよ。額面だけ見てほいほい就活する学生がわんさか出てきそうですが、一度は経営側に回った人間として一言。

手に職がある人たちを華やかにしたい、ってそれ自体はいいんですけど、何が問題って日本の法律やら慣行やら常識やらに当てはめると、まだまだいろいろと厳しいわけです。野球選手とか外銀のトレーダーみたいになんかあったら即クビにできればいいですよ。そうじゃないんですよ普通。社員として雇うとクビにするのすごい大変なんですよ。ということはですよ、1500も出すとか言って大量に人雇ったりした日にはどっかで足切りすることを視野に入れてるわけですよ常識的に考えて。そうなったときに「仕方がない」って割り切れる人は行けばいいとおもいますけど実際自分がそうなって泣いたりわめいたりする人の方が多いと思いますよ。

大人になったってこんなこと言い出す人がいるぐらいですからね

ジンガもフェイスブックも──腐敗する有望IPO企業 | 瀧口範子 | コラム&ブログ | ニューズウィーク日本版 オフィシャルサイト

これは明らかに、社員と結んだ雇用契約の違反である。ここで社員に約束された株は、成功しなければただの紙切れだ。彼らは、そんなリスクをとってもジンガの運命に賭けてやってきたのだ。しかも彼らを雇ったのはジンガ自身。働きが悪いのならば、本当にクビにするか、自分たちの判断力を疑うべきところだろう。

多分ジンガはちゃんとリスクヘッジを契約に盛り込んでますよ多分ですけど。日本の会社だってそうとう気楽に起業した経営者じゃないかぎりそういう条項を盛り込んでる。それを行使するかどうかは別ですけど。でグリーの話に戻れば当然採ってみて失敗という例が出てくるだろうからそういう時に損切りできる体制は整えてるはずですね。

そうなってから「話がちがう」とか言っても後の祭りなわけで。立派な大学をお出になる賢明な学生諸兄はわかっているとは思いますが念のため。

あとあれですね。「いくら話したってラチがあかないからエンジニアにもの作らせたほうが早い」っていうの、怠惰にもほどがあると思いませんか?そりゃ半分は同意しますけど、企画や経営の人たちはきちんとプロダクトを商品にして顧客の心をつかむという努力を放棄してエンジニア採ればいいやとか思ってたらホントひどいなと思います。スティーブジョブスのウォズアニックの例を出すまでもなく、成功している企業のほとんどは技術とプロダクトの両方がうまく回っているところですよ。

シリコンバレーエンジニアがどんだけ稼いでいるか調べてみた

繰り返し出てくる話題なのでちょっとここらで調べてみました。

米国の新卒エンジニアの給与は8万ドル! - Togetterまとめ
「米国の新卒エンジニアの給与は8万ドル!」の件について - Future Insight

以前ブックマークで拾ったこれを参考に。

H1B Salaries in the US at A penny for thoughts?

西海岸でエンジニアやるというとだいたいH1Bビザだと思うのですが(最近はそうでもないか。GREE/DeNAとかあるから)、実はH1Bビザを取得するには雇用主が米国にLCAという書類を提出しなければなりません。この書類には従業員の給与を含めた労働条件を明記することになっています。そしてなんとこのデータはWebからダウンロードできるんですね。

FLCDataCenter.com

というわけでさっそくダウンロードしてDBにぶち込んで必殺ウィンドウ関数でランクを作りました。データは2010の全米ですが、この中から労働する州をカリフォルニア、職種に'Software'が現れることでフィルタしています。もちろんステータスが'CERTIFIED'のものです。また、賃金は一部レンジで含まれているため、その場合は平均をとりますが、年俸意外のデータは省きました。

ちなみにデータの形式はCSVですが文字コード系のエラーとかで苦労しましたので持ってる人はAccess形式の方が楽です。

カリフォルニア州ソフトウェア関連職種の賃金(2010年) Googleスプレッドシート

列の見方ですが、
1列目:順番
2列目:賃金の降順の累積密度(おおよその上位パーセンタイル)
3列目:雇用主名
4列目:職種
5列目:賃金

シートをあけると一番目にミリオネアが出てきますがこれは例外でしょう。この手のデータは平均や最大/最小をとっても例外値に大きく左右されてしまうので全データを分布で出しています。

ざっと見た感じですが、だいたい上が20万ドルから10万ドルに収まるのが全体の上位47%というかんじですね。ドル80円計算で1000万円稼ぐためにはおおよそ12万ドル必要ですが、その順位は上位15%ぐらいですか。下にいくとQAエンジニアとかが増えてくるようですが、上位80%ぐらいは8万ドルをもらっているような感じですね。

というわけで上で言われているような「学士出て8万ドル」はそう嘘でもなさそうです。30万ドルはちょっと言い過ぎました(そのホラを吹いたのは僕です)。ただこれはカリフォルニア州に限っているので、重要なH1Bプレーヤーホルダであるマイクロソフトを含んでいません。入れるとちょっと結果変わるのかな?続きはご自分でどうぞ!

H1Bはご存知の通りスペシャリストの一時雇用ビザですので、それなりにスキルがあることを前提とされています。彼らの統計が8万〜12万というレンジなのであれば、誰でも彼でも学生がそのぐらいもらえるという訳ではなくて、UCバークレーとかスタンフォードとかクソ難しい(入学するのも卒業するのも)ところを出なきゃならない。しかもよく考えてください、10万ドルもらっても77円計算なら770万ですよ。この状況を鑑みたら日本という特殊なマーケットで仕事を(比較的)簡単に見つけられる特権を生かさない手はないのではと個人的には思います。

ちなみにこの件に関して個人的な質問は一切受け付けませんので悪しからず。ぜひ直接遊びに来てください。

1人の天才が1000人の凡人をひっくり返すようなエンジニアリングはな

せっかく言及頂いたのでお礼ついでにエントリー。

id:gamellaの鋭い指摘にはもっと多くの人が耳を傾けるべき。

「1000人の凡人が一人の天才に負けるエンジニアリング」ではなく「凡人1000人で本当に良いプロダクトを作るエンジニアリング」を指向したい - Future Insight

日本にマッチするのは「1000人の凡人が一人の天才に負けるエンジニアリング」ではなく「凡人1000人で本当に良いプロダクトを作るエンジニアリング」なのだと思う。

僕の立場はこれとほぼ同じですが、「日本の技術力が足りない」というところはもう少し精確に説明したほうがよいですね。

ちょっと紹介したいのが下記のNYTimesの記事。

Silicon Valley Hiring Perks: Meals, iPads and a Cubicle for Spot

Then there are salaries. Google is paying computer science majors just out of college $90,000 to $105,000, as much as $20,000 more than it was paying a few months ago.

Nationwide unemployment among computer scientists and programmers is higher than in other white-collar professions ― around 5 percent ― in part because many jobs have vanished overseas.

シリコンバレーではGoogleのような企業がコンピュータサイエンスの学士新卒に800万〜1000万を出すのも珍しくなくなってきているということが報じられている。一方、コンピュータ業界の失業率も他の業界に比べてとても高い。多くの人ができるような仕事は海外に流出してしまって、国内は本当に優秀な人に高給を与えて良い仕事をしてもらう仕組みができあがっているように見える。

オープンソースの開発に参加していて思うのですが、個々人の技術者としての能力は、日本とアメリカでそんなに違わない。違わないどころか日本の方が優れているかもしれない。PostgreSQLで言えば、8.4頃から主要な機能(再帰クエリ、ウィンドウ関数、レプリケーションSQL/MED他)はほとんど日本人が開発している。が、それを取り纏めて課題を管理して議論を収束させてきちんとプロダクトにしているのはアメリカ人達です。もちろん音頭を取っているだけではなくコードレビューで重要な指摘をしたり意思決定をしたりしている。

おそらくid:gamellaが言いたい「不足している技術力」というのが、コードを書くとか難しいアルゴリズムを考えるとかそういう狭い意味での技術力ではなくて、トータルでプロダクトをデザインする広い意味での技術力のことなんだと思います。

ここで紹介していいのかわかりませんが、日本の超優秀な企業を脱出してノキアに行った友人のこの記事にはとても示唆的な内容が含まれています。

Page not found « for what it's worth
Nokiaが3年で地に堕ちた理由(1) ~ソフトウェア開発事業のファブレス化~ « for what it's worth
Nokiaが3年で地に堕ちた理由(2) ~企業のDNAとメタボローム~ « for what it's worth
Nokiaが3年で地に堕ちた理由(3) ~グローバルカンパニー~ « for what it's worth

Nokiaのエンジニアだって個々人で見ればすごく優秀なんですね。事実先日のSymbian廃棄発表後はGoogleMicrosoftからすごい勢いでリクルーティングがかかっている。でも彼らを使ってプロダクトを作れなかった。

企業トップのビジョンやファイナンスの問題もあるでしょうけど、プロダクトをデザインして問題を解決していく広い意味での技術というのが欠けているのかもしれない。たぶんそれらを指して「技術」と呼ぶことに違和感がある人も多いでしょう。

1人の天才が1000人の凡人をひっくり返したような例なんて幻想であって実はほとんど存在しない。優秀な人を少しだけ集めてレバレッジをかけてるんじゃなくて、優秀な人が大量に集まってもっとを大きな数のエンジニアを有機的に動かしているんだと思います。

そんなことを考えつつ、実際のところどうなんだろうということを見るためにもちょっとアメリカに行ってみたいなと思う今日この頃です。

GIGAZINEの熱意に切り込み隊長を擁立したい

熱血一筋なGIGAZINEに共感しつつこのジレンマ感は何だろうと思い出張までの中途半端な時間をブログに捧ぐ。

【求人募集】GIGAZINEのために働いてくれる記者・編集を募集します→終了しました - GIGAZINE

つまり、GIGAZINEで働きたかったわけではなく、どこでも金さえもらえれば良かった、そういう人材を私は雇ってしまったのです。これが大きな間違いでした。

どこかで聞いたような。

熱血過ぎてまぶしいぐらいなのですが、各方面(主にはてぶ)での「ブラック」「何言ってんの」という反応もまた仕方がないなという気がします。組織ってのは多かれ少なかれそういうものだからです。

でこういう真面目な話題に適切なコメントをできる人は限られていて、しかもそれを堂々とオンラインで公開できる切り込み隊長に脱帽するわけです。

GIGAZINEの「人間宣言」に対する共感と懸念: やまもといちろうBLOG(ブログ)

この編集長の言う「志」ってのが明文化されてないということを除いて死ぬほど正直なマネージャーなんだろうと思った。

彼らが経営や組織論の理想と現実の乖離に身悶えしているログを見て、少なくとも私は共感した。社員って、経営者の思い通りには働いてくれないし、幹部ってものは仕事がうまくいくとだいたい裏切っていくんだよね。

誰が見ているかわからないパブリックな場所でGIGAZINE的意見に賛同するとどういうことになるかそのリスクを取ってまで得られるものがある(またはそいういった失うものがない)のは、切り込み隊長のような一部のブロガーだけでしょう。

悲しいのは、隊長のような意見こそが全体にとって重要なのですが、民主主義は数の多いはてぶに傾くということです。それによってGIGAZINEがどうなっていくのかはわかりません。もしかしたら杞憂で、オフラインで様々な「わかっている人」が意見しているのかもしれません。

奥歯にものの挟まったような言い方ですが、個人的には

ドラッカー読め

ぐらいしかアドバイスはありません。

そいでは。

iPadのついでにiPhone4も残念

iPadが残念

iPadが残念なことは、買っていない僕にも想像がつきます。

金融日記:iPadはとても残念なプロダクト

そして、とうとうiPadをはじめて使ってみたのですが、最初に思ったことはこれはただの大きいiPhoneじゃないかということです。

なるほど魔法のようだったのはiPadではなく、スティーブ・ジョブズソフトバンクの孫さんのマーケティング戦略やプレゼンテーションの方だったのかもしれませんね。

いろいろ釣りがあることに目をつむるとして、iPadの残念さは的確についているような気がします。iPad、買ってみたけど寝転がってネットするぐらいしかやることないな、と思っている人もいるようですし、キーボードが打ちにくすぎてTwitterどころではないようです。

iPadの発表当初、「これはただの大きいiPhoneでは」と言っていた人が発売直前には「これは革命だ」と言っているのを見て、マーケティングは怖いなと思った次第です。

僕は一つ前のエントリを書いたように、実はiPadを完全に「残念な」デバイスと考えているわけではなく、

  • 複数人で画面と操作をシェアする
  • 店頭ディスプレイみたいな使い方
  • 電子書籍的な何か(電子書籍も本当はどうかと思うのですが一応)

という使い方をすればすばらしいデバイスなのだと思いますが、発想が貧困な人達はどうもiPhoneのかわりに使おうとしているようで、それならば「残念な」デバイスになるでしょう。

iPhone 4も残念

次、iPhone 4が発表されましたね。
これもまた「初代iPhone以来の革命だ」などと言われていますが、3GSと比べてどう違うのでしょうか。

  • テレビ電話
  • 動画撮影&編集
  • 高解像度カメラ
  • 高解像度ディスプレイ
  • マルチタスク
  • フォルダの概念
  • 広告

なんかこれだけ高機能になると、日本の携帯とそれほど変わりませんね。僕がiPhoneを最初に手にとったときすごいなと思ったのはその極限まで突き詰められた単純さであって、高機能性だったら日本の携帯でいい物がいくつも出ていると思うのです。だいたい、テレビ電話って本当に嬉しいんでしょうか。昔母親が「化粧をしないと出れない電話なんて要らないわ」と言っていたのを思い出します。本当に綺麗な写真を撮りたい人は引き続きデジタル一眼レフを買うでしょう。動画も然りです。マルチタスクが嬉しいケースも僕が3Gを使っている限り思いつきません。メールを見るときはメールしか興味ないし、TwitterをするときはTwitterしか見ません。音楽はバックグラウンドで流せるみたいなので、それで十分です。フォルダとか出てきちゃって、もう素人には使いこなせそうにありません。Youtube動画上に広告が出るようになって、PCではYoutubeを滅多に見なくなりましたが、広告がユーザの利便性を上げるのでしょうか。

速くて、無駄をそぎ落としたiPhoneがあれば僕はそれでいいんです。GmailTwitterと乗り換え案内とPodcastと地図ぐらいしか使わないんです。強いて言えばEdyを載せて欲しいぐらいです。なんだか、iPhoneも結局そういう路線なのね、とガッカリな感じです。

まとめ

iPadiPhoneのダメだしをしてみました。物事を両面から見るのはとても大事なことです。iPhone4が出たらiPhone3GSが格安で投げ売りされるという噂もあるので、そのチャンスを狙ってみたいのですが、噂の真偽はわかりません。

iPadがパーソナルコンピューティングを終わらせる

iPadがアメリカで発売になり、日本語でのレビューも活発に行われているようです。その中でも、江島さんのこの記事は秀逸ですね。

iPad初体験レビュー:Kenn's Clairvoyance - CNET Japan

特にこの部分が自分にとっては革新的でした。

良かったところのなかでも特に新鮮だったのは、大画面+マルチタッチだと複数人で一緒に何かをするのが楽しいという点です。先程も友人たちと四人で、テーブルの真ん中にiPadを置いてマップを広げ、あそこのカフェが良かった、こっちのカフェも良かったよ、というような情報共有をしたのですが、どの椅子に座っている人でも手を伸ばしてマップを操作すればサクサクと地図を動かせて、ズームしたり、ピンを置いてストリートビューでカフェの外観を見てみたり、という操作が当たり前の感覚で自然に行えたのは、ノートパソコンとは完全に別次元の感動的な使い心地でした。エアホッケーや将棋のように対面の二人でプレイするゲームなどにも最高のデバイスでしょう。

1990年以降のコンピュータのパラダイムは、ビルゲイツが掲げた「全てのオフィスデスクに1台のコンピュータを置く」に代表されるパーソナルコンピュータの時代だったように思います。多人数で使うものだったコンピュータがパーソナルデスクトップになり、携帯電話の登場とチップの微細化に伴ってデバイスはどんどん小さくなることでiPhoneのような、個人が自分で使うデバイスへと進化を遂げていきました。例えば以下の記事、

モバイルエロスの可能性 - 眼鏡とgamellaのサブカルパジャマトーク 第15夜 - Future Insight

自分が密かに尊敬して止まないid:gamellaさんのサブカルパジャマトークはいつも新鮮なものの見方を提示してくれますが、モバイルエロスなんてまさに個人×コンピュータの行き着くべきゴールなのではないかと考えたりしていました。

そこへきて冒頭のiPadのレビューを読んで、なるほど、と思わされたのは、iPadが個人よりも複数の人間を挟んで使われることに特化しているという点。机に座った対面する夫婦が例えばインテリアレイアウトを決めるのにiPadを使ってグリグリテーブルを移動したりソファを追加したりして話合っていく、みたいなストーリーが一番しっくりくるのだと思います。

1982生まれの自分の中で、この線に載る最古の記憶といえばインベーダーゲームです。喫茶店でヒマな二人が机を挟んでモニタをのぞき込みゲームをする、そういう感覚は実はパーソナルコンピュータの進化によってほとんどなくなっていたのではないかと思います。ソーシャルコンピューティングといえば仮想世界で行うものという常識が現代人にこびりついていると思いますが、顔を合わせてコミュニケーションをする、それによって意志決定を行っていくことに勝るソーシャルアクティビティはないはずなのです。

そういう視点に立ってみると、iPad向けのソフトウェアはこれまでと一線を画さなければなりません。アプリはこれまでのiPhoneアプリのような個人向けゲームやTwitterクライアントのようなものより、上で述べたインテリアレイアウトを決めるためのアプリ、みたいなものが出てくるだろうし、Webにしてもどこに旅行に行くかを話合いながら決められる宿検索、などのサイトを作らなければなりません。実装のことを言えばマウスが一つしかない環境を想定したUIではなく、同時に複数のタッチがインプットされるようなUI、イベントモデルを構築していくのでしょう(実際にiPhoneのontouchstartイベントはevent.touches[n].pageXみたいな値を扱わなければならない)。

ウェラブルコンピューティングなんていう死語も懐かしいタンスの匂いがするぐらい熟成されてきたこの2010年において、iPadの登場は衝撃です。