Source Code Control
I started my work last December of course by spending a lot of time with the different departments and a brief introductory visit with our offshore team. I migrated the subversion repository to a neutral site, enforced comments and enabled email notifications for commits so I could begin understanding how the team worked on the codebase, and more importantly, correlate reported bugs/features to bugfixes and newly generated source code. Because of this, I’m able to do quite a bit of trivial bugfixing on my own which frees up the rest of the development team to focus on lower priority, but time critical, project work.
Server Heuristics and Trend Analysis
In January, I managed to install Munin on the last production servers so that I could better understand and react to system loads and “spiky” anomalies. This has paid off at least three times so far because I have a reference point for “normal” server operations and can immediately investigate things that shouldn’t be happening in our environment. Tune in next week when I’ll cover exactly how these anomalies presented themselves, what were the root causes, and how I solved them.
Learning by (Un)Doing
Last month, I also managed to completely blow our site away for a few hours. I explained how my working style contributed to the many unfortunate factors that aligned that afternoon in causing this event, and last week I conducted my first “Sprint Planning” meeting to finally create an official IT workflow within our company as well as give the rest of the team a voice in identifying and prioritizing their needs.
Spending Time with the Troops
I’ve spent almost four weeks now with the offshore team and this has been critical in not only gaining their trust and respect but for my learning of the application architecture, the synergies between the various developers, and the ever present office politics between our two companies. Even though I’ve worked with remote teams for over a decade, it never gets easier. In fact, I would say it even gets harder as I realize that what ever time your spending in communicating over this geographical gap isn’t enough by half.
In the next 3 months, I have a few things I’d like to achieve. A codified release process that’s integrated with our subversion repository. Shifting away from file based Zend caching to distributed memcached. And addressing the next critical performance issue on our website – namely combining hundreds of separate gui images into a few CSS image sprites.
I hope you’ve enjoyed the ride as much as I have so far! Stay tuned to see how it all unfolds…