Monday, February 19, 2007

Factories

I liked both of our factories days (the lecture and the "lab"). We are beginning to get to the point where we can talk about more details than just the structure of the pattern. Good software developers know the patterns; great ones know when to apply them.

In the lecture, walking through the code instead of having me present it modeled an important skill: learning to read someone else's code. I wasn't kidding when I said that one of the first things you'll have to do on the job is make sense of someone else's code. Strategies for making sense of code that is made of many classes are useful things to know.

However, I also liked the discussions that we had about the pros and cons of each of the factory patterns. Those are the things that development teams debate when they are selecting a design and learning to weigh those considerations is an important goal for this class. We carried that much further when we talked about the paper. I know you all hate papers, but I think that it'll give you an experience that will be valuable when you graduate.

I'd like to offer some sage advice: when your management (or faculty member) offers to review something before it's due date, you should take advantage of that mentoring opportunity. This paper is very different from anything you've had to do in the past and it counts for a good portion of your grade (it is one of two projects), so getting advice for a more senior member of the team doesn't show weakness - it shows wisdom.

No comments: