The End of an Era

by topher 15. April 2010 23:19

I handed in my notice today, and so have marked the beginning of the end of my employment at Threadneedle.

I've been there for three years now, and a lot has happened over those years, and I can safely say that I've got an awful lot out of my time there.

But times change, business changes, and I have changed. And now it's time to move on.

I feel I have contributed a lot to the development team at threads during my time there and hope that they continue to improve the way software is delivered to the business there. And I hope that the development team will get the appreciation and investment in them that they need, to enable them to be more effective.

When I started the build process was literally hit F5 and go collect the contents of the bin\debug directory and copy over the network for the release management team to hand to the deployment team. Talk about the dark ages. Third party dependency management was complete mess, and there was no assembly versioning of any thing. Nothing would build straight out of VSS (yes, you read correctly, Visual Source Safe) as the projects would reference libraries in random places over peoples hard drives. The entirety of the solution's folder structure would be checked in, including the bin and obj directories, and there wasn't a single label in VSS, not one, so recovering source of an assembly from some time ago relied on you rolling back individual files to roughly the date you were after. And that all depended on whether or not the history actually existed at all, as the repository currently stands at 19GB (YES GIGABYTES) and has never had Analyze and Fix run on it. Nice.

Notice how I've not yet mentioned anything about the code yet.

The build process is such a fundamental thing to making software I can't believe any development team that is producing any kind of software hasn't already nailed this. But unfortunately every place I've worked in to date hasn't, and I've spent my time fixing it. It's not something I like doing, this is something that some one else should have done a long time ago, long before I arrived.

But happily each place I've worked in now has a reliable, automated build process. Happy days.

Not only do they have a build process, they also now have a continuous integration server, configured with continuous, nightly and on demand builds of all of the projects I've worked on, and most of the others as well.

Progress.

They also have a reference ASP.Net MVC app that has been developed using DDD with 80% unit test coverage, all done in a BDD style. The only thing I wish I could have done there was some automated acceptance tests with something like ruby and cucumber, as one of the killers is the total lack of automated integration tests, so regression testing means a manual execution of test scripts, which pushes out the customer feed back cycle and cripples the ability to deliver. But hey, it's a start.

For a good four months I ran weekly developer screen casts for the rest of the development team, giving them a choice of three videos to watch and letting them vote on one of them. I gave this up after a while as I was getting depressed at the turn outs, and lack of interest and debate. But they were great while they lasted, and the 'brand name' even made it out in the wild when me and Neil Robbins got together and put one on for the London community.

I've grown as much as I can in Threadneedle and it's got to the stage where I'm not improving any more, and I don't like that feeling. I like learning, I like new challenges, I like new mountains to climb. I need to be continuously improving.

Onward and upward.

Watch this space for more details.

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen

About

My name is Chris Browne and I'm currently living it up in London.

I feel very passionatly about software development, I just never seem to get the chance to practice it that much.