2009年5月19日火曜日

SWE622グループプロジェクトを終えた感想

前回のエントリで書いたように、SWE622のグループプロジェクトでは、分散アプリケーションをJavaで実装しました。ふと考えると、昨年の8月に渡米して以来、初めて1Kステップ以上のプログラミングをやったことになります。また、このプロジェクトで初めて他国の人と共同で実装をしました。

国際色豊かなグループ構成
私のグループは、会社勤めをしているパートタイム学生のアメリカ人、フルタイム学生のインド人、フルタイム学生の中国人、と私という国際色豊かな構成でした。このプロジェクトのおかげで、渡米以来初めてインド人の友達ができました。

果たしてみんなの実力は?
上記メンバのうち、アメリカ人の彼女は私よりも年上の現役デベロッパで経験が豊富、インド人の彼は若いながらも議論では鋭い指摘や積極的な提案をするスマートさを備えていたので、彼らがどんなコードを書くのか、とても興味津々でした。

今プロジェクトを終えてみて、正直な感想は、「私のプログラミング能力も十分通用するかも!?」(控えめ)

プログラミング能力=経験+好きさ度合い?
まず、今回のプロジェクトで改めて確信したのは、(いろいろな意味で)良いプログラムを書くためには経験がものをいうなあ、ということです。もちろん私はまだまだ経験不足ですが、それでも10年以上プログラミングをやってきて、今でもコードを書くたびに新しい発見があるので、経験の量だけ差がつくのではと思います。今回のプロジェクトにおいて、インド人の彼はまだ若かったのでこれから経験を積む段階だったようです。今回のプロジェクトを通じて彼は「すごい勉強になった」と言ってくれていたので良かったです。彼はとても頭が良く、前向きでしかも素直な好青年で、将来すばらしいエンジニアになるだろうと確信します。

アメリカ人の彼女は私より職務経験が長く、毎日のようにEclipseを使っている、と言っていたのでプログラミング経験も豊富なのではないかと思います。ですが、本人は実装大好き、というわけではなかったようです。

今回のお二人の様子を見ていて感じたのは、上述のように経験が重要ということと、どれだけ実装が好きか?というのがプログラミングには重要だと感じました。後者については、熱意にもつながるので、ちょっと疑問や興味を感じたときにどれだけがんばって調査するか、というアクションにも影響すると思います。その結果、新しい技術やリファクタリングテクニック、各種パターン等の習得度合いが変わってくると思うのです。

ちょっと自信がつきました
2008年秋セメスターでは、実装する機会がほとんどなく、議論する機会ばかりでした。英語のせいもあると思うのですが、周りの人たちがみんな頭良く見えて、自分は頭が悪いなあ、と感じたりしていました。ですが、この春セメスターでは実装する機会がぐっと増えました。このSWE622のグループプロジェクト、次回のエントリでご紹介しようと思っているSWE642の宿題、また私が取り組んでいる研究でも実装しています。これらを通じて、実装してみないとわからない重要な点が結構あって指摘したり、実装上の興味深い問題を解き議論の場で紹介したりしました。このようにして結果を出すことができ、この異国の地でもなんとかやっていけそうかな、とちょっと自信がつきました。

0 件のコメント: