Showing posts with label continious integration. Show all posts
Showing posts with label continious integration. Show all posts

Thursday, November 22, 2007

Software engineers need love too.

It's amazing how a new environment, a ton of pressure and a bunch of uncertainty can make people react. I found out earlier this week how software engineers react. At a three day off site, a large group of people, both developers and 'suits', were told to leave their job titles at the door. Unfortunately for me and the team I was working with, it felt as if we'd left our software engineering principles at the door too.

Having essentially 48 hours to build a product, mostly from scratch, or at least using new products/APIs and services to plug something together seemed to suggest that we threw our best practices out of the window. Now the working environment wasn't set up exactly how we would have liked it, but we could have done something about that. Without even the basic necessity of source control, it felt as if the team were fire fighting from an early stage with USB drives being swapped around at crucial times, along with cries of "hey, can you add this method to the code?" when it could have been done easily and checked in.

I certainly felt like I was developing with one hand without using test driven development, source control, continuous integration et al. If three days being thrown into the deep end has taught me anything, its to be prepared.

I once heard the phrase, "a bad tradesman blames his tools", but conversely, does that mean that a tradesman is only as good as the tools he uses? Perhaps I've grown so used to the tools that I use that I've come to depend on them, and while that encourages best behaviour, does that make me inflexible?