2013年3月3日日曜日

アメリカ出張

新卒1年目にしてアメリカ出張の機会があった。
ディベロッパーとして一つのプロジェクトのプログラマとして働いてきた。
カナダ人、メキシコ人、インド人、アメリカ人といった多国籍メンバー。
向こうのエンジニアが素晴らしいと思った点をまとめる。

■Whyを突き詰める
ある設計を提案するとして、
確実に「なぜそうなんだ」という問いを、
明らかに真というレベルまで掘り下げて質問してくる。
設計に関する技術要素や背景を構造化して整理することで、
全く知らないことであっても同じレベルで議論できるようになる。

■Debateする
納得行かないことはひたすら意見をぶつける。
日本人的などっちかが折れる「意見のすり合わせ」ではなく、
おもいっきりぶつけて、その結果秀でた意見が採用される。
喧嘩に近いレベルで白熱するが終わったあとは仲良くランチする。
自他共に成長するので凄くいいカルチャー。

■最高を求める
複数解があったとき、
時間的制約は度外視で技術的に最高のものを採用する。
間に合わせられないのはエンジニアの責任って感じで。
特にソフトウェアの場合はじめの設計が将来のメンテナンスコストを左右するのもあるので、
遠い先の将来も見据える必要がある。


自分に足りていないものも同時に見えてきたのでまとめる。

■技術を教えてもらう
自分で学ぶ部分は最低限やった上で、
高度なこと・実践でしか学べないことは積極的に教わる。


■ オンタイムで問答ができるようにする
step1. 相手が喋ったことを理解すること
step2. 聴解力
step3. 文章構成力