So-net無料ブログ作成

Practice, Practice, Practice [プログラマー現役続行]

The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life)

The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life)

  • 作者: Chad Fowler
  • 出版社/メーカー: Pragmatic Bookshelf
  • 発売日: 2009/07
  • メディア: ペーパーバック

項目15「Practice, Practice, Practice」では、次のような内容のことが述べられています(サマリーです)。
音楽家は、日々練習をし、そして、その成果として聴衆の前で演奏します。そして、日々の練習では、自分の能力の限界を伸ばすための練習もする訳です。しかし、ソフトウェアの世界では、実際の開発で練習をしている。実際の開発ではなく、自分の時間で練習をする必要があり、それがプログラマーの責任です。
残念ながら、ソフトウェアの開発現場では、本当に仕事の中で練習している人がほとんどではないでしょうか。したがって、その結果、良い品質とはならない訳です。

自宅にPCなど無くて、会社に行かないとプログラミングができなかった遠い昔と違って、今日ではほとんどの人がPCを持っていて、ほとんどのプログラミング言語の環境が無料で手に入ります。にもかかわらず、どれでけの人が自宅で練習しているのでしょうか?

自分自身を振り返ると、会社に入ってからは、業務で開発するソフトウェアとは別に、会社でツールを多く書いていました。それらのツールは、色々な機種に移植したりして、何度も書き直しをしていました。実際の開発業務の生産性を上げるためのツールがほとんどでしたので、業務中にツールを書くことそのものは容認されていました。実際、このツール作成が一種の練習の場だったのだと思います。

1996年夏にWindows 95を搭載したPCを購入したので、自宅でJavaでプログラミングをすることが多くなりました。実際、Javaでのプログラミングは、それ以来、ほとんどが自宅で行っているものばかりです。仕事で、Java言語を用いた開発業務をしたのは、数ヶ月程度しかありません。

プログラミング言語Java研修では、受講生に多くの練習問題やGUI課題を自宅で行ってきてもらっていました。テキストの予習に加え、それらのプログラミングを多くこなしてくる訳ですから、多くの時間を費やされたと思います。
この教育の中で一番大変な練習問題は、リフレクションを使用したInterpretプログラム※1の作成です。みなさん、年末年始の休みやゴールデンウィーク(年2コースだったの開始時期により異なります)を費やしてプログラミングされていました。

項目15では、練習の課題として、Code Kataが紹介されています。21個の課題がありますので、皆さんも挑戦してみてはいかがでしょうか。

※1 リフレクションAPIを駆使して、インタラクティブにオブジェクトの生成やメソッド呼び出し、フィールドの書き換えなどをできるプログラム作成の問題です。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0