I haven’t posted in a while because I started a new job. The new job is an agile shop with a firm belief in software craftsmanship. I had never worked on an agile team before so it was all new to me. We use Test Driven Development (when possible), pair programming, and have a 2 week iteration cycle. I say when possible about TDD because working in a C++ project with an approximately 3 minute compile time does not allow you to do TDD the way it was meant to be done. The new gig is mostly a .NET shop but, as mentioned, they still have some C++ applications out there. The interesting thing is that not many of the team members had any real experience with C++. It is a youngish team that mostly started with C# and .NET, with a few that have some Java experience. C++ frustrates these people so much, it is kind of funny to sit back and watch. I get the feeling that the C++ code is a major reason that I was pulled in to this team.
I have been busy learning the new code base. Now about 3 iterations in, I believe that I am adding a lot of value to the team. The one major omission with this job is that they do not use, and don’t plan on using, Python. I will miss using Python at work. Any new software is to be done in C# on the .NET platform. Not that there is any real dependency on Microsoft, this is just team policy. A well respected contractor tried to turn the team on to Ruby, but so far nothing has come of it.
The team has been reading “Clean Code” by Robert C. Martin. There is a weekly book club meeting where we discuss a chapter of the book. This is part of the software craftsmanship initiative. I think this is a great idea and it helps to improve the quality of all of the software developers. We will be reading a TDD book after we finish the clean code book.
I hope to get back to writing one post a month. This was my initial goal for this blog. Time flies when your coding!