2008年10月13日月曜日

あるソフトウェアエンジニアの一日

今日はColumbus Dayという祝日で大学はお休みです。コロンブスがアメリカ大陸を発見した日だそうです。9月の初旬にあった留学生向けピクニックで知り合ったCJというアメリカ人の男の子に誘われ、近くのDenny'sで朝食を一緒にしました。

CJはGMUの卒業生で、27歳前後?のソフトウェアエンジニア。新婚さんだそうで、奥さんは教師をしていてGMUやNOVA(コミュニティカレッジ)で英語を教えているそうです。

私にとって、ワシントンDC近郊に勤めるソフトウェアエンジニアの仕事ぶりや生活ぶりを知る、とても良い機会になりました。

早寝早起き
CJは日ごろ、朝の5時に起きジョギングをした後シャワーを浴び朝食を採ると7時ぐらいにオフィスに行くそうです。朝は頭がすっきりしていて仕事がはかどるとか。完全に同感です。
大体夕方の4時ぐらいに退社するそうです。通勤の行きも帰りも渋滞を避けることができ、とても良いと言っていました。夜は大体9時半ぐらいに寝るそうです。
ちょっと驚いたのは、休日もかなりフレキシブルで、土日関係なく休みを自分である程度コントロールできるそうです。もちろん、マネージャに承認を得る必要がありますが。
27歳でこんなにプロフェッショナルな生活が身に付いているとは、ちょっと驚きです。みんながみんなこうだとは思えませんが。

アジャイル
CJが勤めている会社は彼にとって2社目で、1社目は数ヶ月で退社してしまいましたが、その後現在の会社に4年半勤めているそうです。彼が所属しているプロジェクトのメンバ数は5名ということで、SCRUMというアジャイルプロセスを実践しているそうです。毎朝9時ぐらいに15分ほどのミーティングをして、昨日の成果、今日の予定等をメンバ全員で共有します。さすがにスタンダップミーティングではないそうです。5週間で一回のイテレーションを形成し成果物を出します。ただ、アジャイルといっても、CJはドキュメントの重要性を強調していました。特に米国ではエンジニアの流動性が激しいので、ドキュメントがないと新メンバがプロジェクトに参加しにくい状況になってしまいます。また、よく言われるように、自分が3ヶ月前に書いたコードは別人が書いたものと同じようなもので、ドキュメントがないと大変なことになりますよね。

面接
CJが現在勤めている会社に入る際、面接ではC++を使ってちょっとした問題を解かされたそうです。正解できないこともあったけれど、採用に至ったそうです。彼はとにかく、問題解決能力が重要だ、と言っていました。それは、アルゴリズムの応用等だけでなく、何かを調べる技術、他人に相談する技術等も含みます。やはりソフトウェアエンジニアにはコミュニケーション能力も重要です。

CJは特別?
朝食の間、どっちが年上なのかわからないぐらい、CJはしっかりしたプロフェッショナルだと思いました。さすがにCJは特別かと思います。今学期、私が履修しているクラスには、会社勤めしているパートタイムの学生がいっぱいいますが、みんながみんな、そんな風には見えません。彼らとたくさん話す機会がまだないのでわかりませんが。

とにかく、今朝の朝食はとても良い刺激になりました。

0 件のコメント: