Posts made in March, 2006


Learning in the Workplace

As I discussed in my earlier article on Perpetual Learning, I think it is important as a professional to always be growing and learning. If you work full-time, you’ll have less time to spend learning at home, especially if you have other demands on your personal time (i.e. family). So you need to be able […]

Understanding Java RMI: A Simple Tutorial

I recently needed to write a simple java client-server application, and decided to implement the communication mechanism using Java RMI (Remote Method Invocation). I’ve used RMI in the past indirectly (i.e. when coding EJB session beans), but never directly, so I turned to Google to see what RMI tutorials were available. I quickly found several […]

Perpetual Learning

As I stated in my article on What is Professional Software Development one characteristic of professionals is growth: they are constantly seeking to improve and grow. This is especially important in the software field due to the rapid change brought on by the constant introduction of new versions of existing technologies and completely new technologies […]

Fail Fast or Degrade Gracefully?

There are two approaches to handling internal application errors. In the fail fast approach you immediately terminate the operation (or even the application) once an error is detected. In the degrade gracefully approach you try to continue with as much of the operation as you can. For quite a while I have been a firm […]

The Software Administration Role Pattern

This is a software organizational / project management pattern that I have come across many times but never seen written, so here it is. Context: You are managing a team (four or more people). The primary goal of your team is to develop new software functionality (either by creating a new product or enhancing an […]