I like to make use of the builder pattern whenever an object has both mandatory and optional properties. But building objects is usually the Spring framework responsibility, so let’s see how you can employ it using both Java and XML-based Spring configurations.
Continue reading “The Builder pattern and the Spring framework”
Reopened issues and developer feelings don’t mix well, a recurrent phenomenon I’ve seen on all projects I’ve worked on. Some might feel they’ve worked “in vain”, being reluctant to restart it all over again.
Reopened issues are bound to happen
There is a thin line between taking ownership of your current project and remaining professionally detached at all times. The only thing that matters is the value the customer gets for any given issue, even if it takes more steps than you previously anticipated. In software development, the change is the only thing that never changes, that’s why you’ll always have to deal with reopened issues. Reopening an issue is not necessarily a bad thing, as you’ll soon find out.
Continue reading “Afraid of reopened issues?”
The leader as a captain
I recently read Petri Kainulainen’s article on sharing leadership among team members and I am on the same wavelength in this regard, since the Agile methods emphasizes the importance of “motivated individuals, who should be trusted”.
While a team leader could be regarded as a reminiscence of the old rigid organization structures, I still see many benefits of having such a captain. When it comes to improving my people skills, I like to get inspired by other domains of activity that have been struggling with the very same challenges for decades. Think about the greatest sports teams, where all team members are stars, and yet they always have a captain for:
- the captain is the role-model for every team member
- he leads by example
- he always mediates conflicts, knowing that prevention is always better than curing
- he welcomes and facilitates new team members integration
- he never loses his temper
- in times of trouble, he is the voice of the team
- he is constantly goal-oriented, making sure the team is on the right track
Continue reading “Choosing a leader like an agilist”
There is an irresistible attraction to writing custom caching solutions, since it seems to be the easiest path to “improving” the overall application performance. Well, caching is a great technique, but there are few steps to consider before even considering it.
Continue reading “Caching best practices”