More than 3 months ago, I decided to join the maintenance team at Futurice.
Our company is filled with solid programmers. Learning from their code seems to be too good an opportunity to pass on, and so far, I am happy with the experience:
To my surprise, the majority of my day to day work involves developing new features for current projects, and little bug fixings. I feel fortunate to have talented business people in our team, who make sure the projects we get are not merely collections of bug tickets.
Maintaining a software project means living with others’ technical decisions. The real challenge comes when the choices are not aligned with current trends and our preferences. In many cases, taking into account deadline and budget constraints, there are certainly areas of the codebase I would improve on. However, the realization have usually been: those seemingly disreputable technologies are not that horrible after all. I ended up enjoying working with many of them. Don’t judge a project by its programming language or library choices, judge it based on implementation. True art emerges from practices, not tools.
People in our maintenance team are generally less picky about what they want to work with. They appreciate bleeding edge and hardly grin over legacy. I guess many of them have long ago experienced and realised the point I mentioned previously.
Many have very interesting outside work hobbies. Hanging out with them during lunch is a lot of fun. I enjoy deep technical conversations, but being able to engage with my colleagues on personal topics seems to bring us closer.
As an interesting observation in our team: a majority of them are older, more senior and more knowledgable in life. Hardly anyone shows the need to prove themselves. Sometimes, their quietness speaks volumes.
Lastly, we don’t call ourselves the “maintenance team”, but Futucare. I like that name a lot.
3 months is a short time, but I sure have learned a good deal being around this group of great, decent individuals.