とりあえず、できるといってみよう! -5ページ目

テストエンジニアにコーディング力は必要か

必要か不要か01で聞かれて必要、と答えるのだとこの回は終わるのでそういう話ではなく。


先日シアトル地区の日本人の(主に)エンジニアが集まる会合というのに参加して来ました。こちらに来て子供関連以外で日本人の集まりに参加するというのは初めて。

今住んでいる地域はMSのお膝元なので、会う人会う人ITエンジニアといえばMS、日本人といえばMS、って感じなんですが、今回集まった約20人の中にMSの人は1人しかいなくて、こんなにいろんな人が働いてるんだな-、と新鮮でした。で、内容としては交流+Googleの日本人テストエンジニアの方が「テストって何?」というのを教えてくれるというもの。

中にはゲーム業界の方もいて、ゲームはテストの自動化はしにくい分野で、未だに人力のほうが効率がいい、という話をしていたのが印象的でした。それについては、自分だったらこうやって自動化するだろうな、というアイデアはいくつか浮かびましたが、ま、それはおいておいて。

本題です。個人的には、コーディングを全くしない、もしくはほとんどしないテストエンジニアはあり得ると思っています。実際にそういう人もいるし、私自身、このコーディング力の低さを考えると、そっちよりに分類されてもおかしくありません。重大なバグを見つける勘所とか、テストプランを作る力とか、品質のバーを高くキープするとか、ユーザがどう使うか知ってるとか、複数の機能の組み合わせがわかるとか、、そいういう能力が高い人は、実際の仕事でも相当頼りになります。評価も上がります。

でも、インタビューではプログラミング力で足切りをします。なぜか。

答えは簡単。できるテストエンジニアをインタビューで探すのは超絶難度だからです。これは、シアトル市のマンホールの個数を答えられてもあてになりません。また、現職の実力が、その製品に精通しているためなのか、それとも違う製品になっても即座に同じレベルで働けるのか、わかりません。

アメリカの会社はクビを切りやすいと入っても、質はどうあれ何かしら書かせていればいいDev側と違って、しょっぱいテストエンジニアを雇ってそいつにある機能を任せてぐずぐずの製品が出たり、意味不明なBugを大量にファイルしたりすると、アウトプットが0どころかマイナスになるので下手な人は雇えません。

そういう意味で、ある程度仕組みに落とし込めるSDETのほうが採用しやすい傾向にあるんじゃないかな-とおもいます。でも、ほんとは超優秀なテストエンジニアがほしい。別にCかけなくてもいいから。ここはジレンマね。


シアトルのストレージ屋さんの一日

元ネタ https://twitter.com/yosuke__/status/325823852812849152

Validation Engineer (いわゆるSDET)の一日

朝6時半に起床。一時間で朝食と長男の支度を済ませ、キンダーに車で送りにいく。家に戻って駐車場に車をとめ、そのまま歩いてバス停へ。バスは20分くらい。歩きを入れて1時間弱。夜の間のツイートのチェックか寝て過ごす。

9時ごろ自席に着くとまずカーテンをあける。オフィス暗い。この前の引越しでめでたく窓際(=古株)になったおかげで明るくなった。で、Outlookでメールの確認。あんまりない。昨日9時に帰ったから当然か。東海岸のチームからのメールが数件。夜流したテストの結果をみて、バグのファイルやアップデート。

最近はミーティングやインタビューが増えた。一日平均2時間くらい潰れてる気がする。テストを書くか、テストを実施するか、ツールを書くか、ベンチマークするか、バグの調査をしてるとあっという間に夕方になる。まだ明るい。そういえば、昼は妻が作ってくれたお弁当かカフェのサンドイッチ。ボスとは廊下であえば How are youという。あとはミーティングで一緒になったりもする。

日中はTLが寂しいのでそれほどTwitterしてない。

同僚はインド人とアメリカ人とたまにロシア人、その他いろいろ。今のチームはインド人多い。日本人は会社で僕一人なので家以外で日本語をしゃべることはない。

プロジェクトの仕事がほぼDev待ちになったら、プロジェクト以外のテストツールのリファクタリングやオートメーションを書く。6時半でオフィスの電気が自動で落ちるのでつける。以後一時間おきに繰り返す。誰得なんだこの仕様。いつの間にか外が暗くなっていて、夜間テストを流して8時半ごろ会社を出る。帰りのバスは異常に運転が荒くて何かを読める状態ではない。

家に帰って、飯を食べて、将棋ウォーズかNS Shaftをして、部屋の片付けと洗い物とシャワーが済むと12時すぎるので力尽きて寝る。たまに寝る前に技術書を読むと睡眠薬がわりになる。


たらららたったったー レベルが上ったよ!

渡米後半年の時点で上司と設定した目標が、グレードを上げることでした。これはゴニョゴニョのために必要だったためです。前にも書きましたが、もう一個上のグレードというのはテスト部門ではその時点で3人しかいなく、その後増えていくことを考えても部門でベスト5のエンジニアであることをみんなに納得してもらうことが必要で、その後1年間、それを目指してやって来ました。

そして今日、レベルが上がりました!たらららたったったー!

技術的にまだまだで、そもそもC書けないしテストエンジニアの経験も足りてませんが、ひとまず「仕事をするやつだ」というのは認識してもらったようで、なによりです。

今後は肩書きに負けないよう(なんか、Principalとかついちゃったし、現時点でかなり名前負け)、精進あるのみです。

こっちに来てよかった。上司、同僚、家族に感謝です。


2012年の評価をもらうなど。

先日去年の評価をもらいました。ボーナスを決めるMBOとは違ってこれは相対評価で、何パーセントがこれ、と決まってる(らしい)。

で、結果はめでたく以前の定位置にもどれました。前も書いたけど僕は評価は重視するので、USでの最初のフルイヤーで結果を出せたのは嬉しい。

次の目標に向けて精進あるのみですな。

僕は wannabeだった。

自分のコンピュータ歴を振り返っても、人に自慢できるようなことは一つもない。家にファミリーベーシックはなかったし、PC98もMSXもなかった。高校に入ってLC475を買ってもらって、使い道もないのに浮動小数点演算に憧れて小遣いを貯めてPower Mac 8500をビックカメラで買った。Code Warriorに数万円はたいたけど、Hello worldで終わった。

BeOSが格好良さそうだからインストールしてみて、SGIに憧れてた。でも、何を作りたいということもなかった。

何と無くで情報学科に入って、あまり勉強せず、コンピュータ室や研究室に入り浸ることもなく、何と無くでSunに入った。ぶっちゃけ、Solarisを極めたわけでもなく、ふわふわと仕事してた。エースとかアンバサダーとか呼ばれてみたかった。パートナーがSunの本社にインターンという企画があって、羨ましかった。でも、いざ自分がアメリカに行っても何もできないことも知ってて、口だけ僕も行きたいというだけだった。

今の会社にはいった。本社と仕事をするという外資系「っぽい」ことが楽しくて、出来るだけMLなどで絡むようにした。社内のwikiで将来情報を覗くのが好きだった。ベータテストでバグをいっぱい報告すると開発に関わってる「風(ふう)」で楽しかった。本気で英語を頑張ることはなかった(これは未だにそう。)

幸運(と良い上司)に恵まれて、2008年、2010年とシアトルに滞在する機会を得た。僕にはビジョンもプランもなく、本社で働くなんて格好良さそう、というだけだった。そこで出会ったすごいエンジニアみたいになれたらいいな、と思いつつ、特に何もせずに同じことの繰り返し。

でも、2010年に梯子が外れたあたりから少しは変わったかな。本社にキックオフで行った時には、一緒に行った日本支社の人たちとご飯を食べるのではなく、一人でパーティーに残って知り合いを探して挨拶するようにした。結果的にこれが2011年頭にこちらにくるきっかけになった。誘われたあとも、コストのかかる話なので、CxOに会うたびに「今度こっちにくるんだー、よろしく」といってまわった。

で、今。横目でFSのエンジニアを見ながら、すげーなー、こんな風になれたらなー、と思いつつ、でもなれないなーと思う自分。この辺は全く成長してない。

結論は2つ。wannabeはいつまでもwannabe。そして、そんな微妙な人間でも意外と何とかなる。


嬉しいメール2通

気づけば新年最初のポストが2月14日とな。。思い起こせば7年前の今日、今の奥さんと付き合い始めたわけですが、まあそんな話は良くて。

先日、いそいそとBugを見つけてFileしてたら、中ボス(ボスのボス)がそれを見つけてメールくれました。

Great find <僕の名前>. You are doing exactly the right level of digging!

ちゃんとソースを読んで不具合を予想して見つけたBugだったので、大量のBugレポートの中から見つけてこういってもらえるのは嬉しいです。

で、今日はボスとの1 on 1をすっかり忘れていてブッチしてしまったわけですが、それについてはお咎めなく、ボスからこんなメールを貰いました。

Yep; the only other thing I was going to pass on was that in a discussion at the test managers meeting, the conversation briefly touched on who our strongest testers were, and your name was at the top of the list. So, keep up the good work, you’re getting lots of positive attention. Woohoo!

どんな感じの会話だったのかは知る由もありませんが、うれしいものです。今プロジェクトとそれ以外の仕事がぎゅうぎゅうに押し込まれてしんどい時期ですが、こうやって言ってもらえると頑張れます。

社会人生活を振り返って、概ね上司や先輩に恵まれてきたなーとおもいます。今の会社(仮名ぬばぬば、だっけ?)に入ってからは特に。

特に落ちもなく、良かったことの記録。

2012年

今年のブログポストは9本、今回でちょうど10本となりました。すくないねー。

激動の2011年と比べれば、着々の2012年という感じかな。大きなプロジェクトが終わって、無事アワードはもらえて、今は次のプロジェクト。これまで2人のテスターでやってた分量の仕事を1人でやることになって、人様のメンターもやって、求められる仕事の中身も本来のSDET的な(ちゃんとコードを書く)ものに変わってきた、というか追加されただけなきもするけど。チームを組んでるDevに教わりながらのそのそとFSのソースを読んだりしてます。

振り返るとEngに移ったのが3年前。会社に入った7年前どころか、3年で考えても立派な古株です。その割に技術力低すぎな気が。。このままのペースでいくと一生まともなコードはかけない気もするし、転職できなさそうだし色々悩ましいのですが、幸い今の会社ではバリューを出せてるのでもう一年くらい甘えさせてもらって修行かなー。

次のマイルストーンは来年9月末。当初の滞在期間の終了です。ここで様々な条件交渉が必要なので、それまでに必要な人材ということをアピールしないとね。

一大プロジェクトの完成

私がアメリカに渡る前からずっと続いていた新バージョンの開発がとうとう完了し、無事にリリースされました。
ダウンタウンでリリースパーティーをしましたよ。SEの頃はSales Kickoffで毎年こういうパーティーに出てましたが、エンジニアリングはただバーで酒を飲むだけ、というのがほとんどだったので、こういうのはいいですね。

パーティーの場で、大ボスからアワードの発表があり、無事に Rookie賞をもらうことができました。


とりあえず、できるといってみよう!-アワード

#例によって、ほぼ全読者から身元を知られているにもかかわらず無駄な匿名性を維持しております。

ぶっちゃけ Rookie賞ではなくて Test MVPを目指していましたが、まあ、ひとまずはよしとしましょう。
だいたい入社6.5年であの場にいる殆どよりも古株なのにルーキーって言われるのもこそばゆいのですが、
大ボス、そして推薦してくれたであろう小ボス、同僚に感謝ですね。

次はいつチャンスがあるかわかりませんが、こんどこそMVP、そしてどちらが先かはわからないけど
グレードを1つあげるのが今後1年の目標です。


渡米一年

渡米して1年が立ちました。

#厳密には、去年の10月1日にビザが有効になって、飛行機に乗ったのが10月2日。
#今は9月30日なので微妙にフライングなんですが、平日は時間がなかなか取れないので、今書いておこうかな、と。

長男はプレスクールを経て9月からキンダーに入り、英語も日本語も学び盛り。次男はアメリカに来たのが影響したのか、随分と言葉が遅い子でしたが、微妙に話し始め、トイレトレーニングもノロノロと始めた所。

初めての長い冬は雪遊びをして、バンクーバーに旅行に行って、ドイツ村に小旅行をして、初めての夏は自分の両親、妻の母親が遊びに来たり、オリンピック半島に旅行をしたり、毎日のように庭のプールに入ったり。1年前のあのハードな日々が嘘のように、最近はすっかりこちらの生活に慣れて、日々を楽しく過ごしています。これからまた長い冬が来るのかと思うと、やや気が滅入っているのは事実ですが。。

一年間こちらで仕事をしてみて、どこまでやれているのかはよくわかりません。4月にめでたく昇格したのはグッドニュースでしたが、どちらかといえば試用期間が過ぎて日本でのグレードに戻った、というような側面があるので、勝負はこれからです。後一年で、もう1つグレードを上げるのが大目標です。これは前も書きましたが、うちの会社のテストエンジニアのうち、トップ5であることを証明することが必要になります。でも、それをしなければ将来が開けないので、やるしかないです。

僕の仕事はいわゆる SDET(Software Developer Engineer in Test)です。が、Engineering backgroundの弱い僕の仕事は、そこまでバリバリとコードを書く、というものではありませんでした。今やっているプロジェクトが終わったら、もう少しDevよりの組織に組み込まれることになっているので、今後一年はもう少しDev側の能力をつけていくのが課題になります。

そして、コーディングともう一つの課題はやはり英語。本来、良し悪し関係なく、グレードが上がってきて社内でのビジビリティが上がってくると、ミーティングに呼ばれたり、インタビューをこなしたりすることが増えるのですが、今のところそこに貢献できていません。今はある意味自分の仕事だけやっていればいい立場ですが、もう一つステップアップするにはそういうのもできるようになる必要があります。重い腰を上げて先週から ワシントン大のESLのクラスを取ったりしてます。はたして、どうなることやら。

もともと会社とは(一応)2年間のLong term expat という話で海を渡ったわけですが、今となっては日本に帰っても仕事はないので、こちらでできるだけ長くいるつもりです。H1BはMax 6年なので、その後、という話になってくるわけで。BSしか持っていない人間としてはそこは頭の痛い話で、前述のグレードを上げる、というのはそこにも絡んで来たりします。

今の会社でこの仕事を続けていく分には、我ながら十分な戦力になれると思ってますが、それはあくまでもこれまでの経験を元にしているから、という前提条件付きです。さらに長期、となると、それはつまり他社に転職できるだけの能力が必要、ということです。そうなると、英語はもちろん、もう少し明確に示せる形での能力というものを意識していく必要があります。ま、そこに関してはもうすこし長期の話なので、今のところは今の会社でどれだけ能力を発揮できるかにフォーカスしてますが。

今日、同じアパートメントで仲良くなった韓国人家族が国に帰って行きました。ワシントン大にはアジアからの企業派遣の留学生が多くて、日本人もこんなご時世でも結構います。多いのは(ボーイングのお膝元ということもあって)エンジニアリングと、あとはLaw School。みんな1-2年で帰っていくのが残された側としては寂しいです。出会いも多いけど、別れも多い。自分が日本をたつときあんまり深く考えなかったけど、ネットでいくらでも連絡取れるとはいえ、違う土地にいくというのは小さくない出来事ですね。我ながら驚いたのですが、少しセンチになりました。

次に日本に旅行するのは再来年の夏、なんていう話をしています。マンションを売ろうと思っているのでそれに関連してちょこちょこと戻るかもしれませんが、日本の食事が恋しいです。

とりあえず自分の生活関連はそんなところ。

僕がアxxxxで学んだこと

最近ネタがないんですが、前回の記事をいつまでも最新にしておきたくもないので、昨日今日ぺらぺらと「僕がアップルで学んだこと」を読んで思ったことを書いてみようかとおもったけど、それもやっぱり面倒だと気づいた(今ココ)

あとでなんか書こうかなー。