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.

Next Steps

by topher 10. November 2008 20:44
it's happening again. last time this happened was 2005, but this time it is even more complicated and i have to really think about what i do this time round.

the last time this happened it was an easy decision to make, nothing really to think about, i just focused on getting my mcp and learning everything i could about .net in general, but this time around, now that i've done what i set out to do those three years ago, i have to be more specific.

yep, it is crisis time again, and i've got to pick something else to get stuck right into.

the problem i've got this time round is the shear vastness of the things that i could do! i have an excellent .net base with which to do very well in a number of different fields i'm interested in at the moment, the issue is which one of these new technologies do i pick as my master for the next few years, until inevitably this same thing comes round again.

the way i see it at the moment i've got two rather broad directions in which i would like to go in. there are others, but these are the main two...

the first of which is my good old friend, the rich desktop application. i've been developing apps like these for years, until i got to my current place that is where i keep getting told about us not being a development shop blah blah blah...i love developing these 'proper' apps, a complete experience all self contained in a nice gift wrapped box. thing is, they are not really like that these days, and i'm in real need to brush up on the old development skillz. i know exactly what i need to be doing, and i have the books i need to read, i just need to get the time to read them. i've got an application that i've been dreaming up for years now, that will be a perfect vessel for me to sharpen my coding katana on. as i said, all i need to do is finish reading these books and get on with it. gone are the winform days, i've got to get into wpf, and gone is the traditional n-teir designs, i've got to get much more into domain driven design, and get my test driven development up to scratch too.

the second thing that i'm really thinking about is moving more into the soa and bpm space. i've just completed my first biztalk project at work, and although i was quite disappointed that it didn't really include any coding and was mainly all drag and drop, i really enjoyed the different way it made me think about the way in which i tackle problems. i did also have the opportunity to work with a very great man during this project that has made me think in a slightly different way about what i could be doing if i decided to go in this direction. and i'm really thinking about it. i've been watching loads of the pdc2008 sessions over the past week or so, and you can really see the move to services that they are pushing and its all very exciting stuff. wcf and wf could well be my next big thing. and, if that really is the direction i'll be going in, then all this will kick off when .net 4.0 lands. i'll be ready and waiting for it :)

so, what does this all mean? it means that over the next few months i really have to make some serious decisions on which direction is the one for me, as i'll be taking some time out to really brush up on the technologies that are involved in what ever direction it is that i choose to go in.

its all very exciting, but i'm still at this early stage quite unsure of what i really want. i love real development, getting stuck into a real application, one with a composite ui, with an extensible architecture, with loads of backend services exposing a reusable api...or is my future more about learning the new and very interesting wcf and wf?

i dunno just yet, i need to have a sit down with myself and have a good old chat with me.

Climate Crunch

by topher 21. October 2008 20:40

for some strange reason i've been thinking quite a lot recently about starting to blog again, so much so i decided last week to start up shift-in.com as a development only blog, following my adventures in coding. and as soon as the first post went up i really wanted to start writing about other things that are going on in my life at the moment.

i really want to keep shift-in.com purely about software development, and not about the other things that are going on in my life at the moment, so i really needed a place to start to vent all those things that do not belong on the development blog, although i anticipate them crossing over from time to time.

the major thing that kicked my arse into starting to write this right now was something that happened at work today. something that i think at least to some degree will change me in the coming months.

the funny thing is that as i write this i'm still not too sure where this content should live. i'm still very much in love with jobshy.com, and i'll have that domain until the day i die i'm sure, but a lot of people know about that, and since the start of this year i've felt restricted in what i can write on there. i need some where else to vent. i love recording the things i've been doing and thinking, it helps me concrete the memories and rationalise about them, and as i'm far more proficient with a keyboard than i am with a pen and paper, this is my outlet. but where does this text belong?

i'm going to put this up in a hidden location under jobshy.com until such time as i get some more inspiration. at least that way i can update it from anywhere, and thats the point about having one of these things.

today was a funny day. last friday night after work at the pub a more senior member of staff told me to keep an eye out for an email or two, as there was some rather large news on the way. with the whole climate crunch in full swing right now, thats no surprise.

well at 0945 this morning we got the email from the executive director that there will be inevitable redundancies as a result of the current 'climate crunch', we then, not 15 minutes later, got the follow up from our department (i.t.) head saying the same thing, then 10 minutes after that all the developers got a meeting request with the head of i.t. wicked.

obviously a lot of thoughts start circulating around in your head about what we are going to be told, but you know what? i'm not fussed about the final out come. truth to be told my job is not taking me anywhere i want to go anyway, and if i was to be let go it would be a blessing in disguise.

'we are not a software house' is what i'm repeatably told on almost a weekly basis. however, just because we are not churning out, off the shelf large software solutions does not in any way mean that you can side step the fundamentals of software analysis, design, development, testing and delivery. and for some odd reason, so far this company has thought they could, and even in my short time (18 months) of being there i've seen it come back and bite us time and time again.

since being there i've introduced versioning, unit testing, mocking frameworks, build scripts, automated builds, design patterns, and god knows what else...you know what, before i got there there wasn't even a single label in vss (i know, i know, i'm working on getting rid of vss), how can you seriously say you're a professional developer and you dont even know what the concept of a tag or a label is all about?

am i worried about the news that we were brought today? no. and thats not because i dont think i'm going to be one of those that gets made redundant. on the contrary, i think i might well be one of the (un)fortunate. but if i am, its the long over due start of a new chapter, this one has been dragging on.

p.s. i've decided that this is close enough to development that i am actually going to put it up on shift-in.com.

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.