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.

Personal Kanban

by topher 5. January 2010 23:05

Quite a few months ago now I went to one of the London .Net User Group meetups and saw a presentation by Benjamin Mitchell (@benjaminm) on evolving Scrum to Kanban, and was instantly sold.

I've never worked in a shop that has seriously practiced any kind of agile development, and so the concept of the kanban board, or any kind of board for that matter, was new to me. Projects I've worked on in the past have been very traditional in that there has been one master Microsoft Project plan, with 'n' weeks of analysis, followed by 'n' weeks of development, followed by 'n' weeks of testing. You get the idea I'm sure. The individual tasks that made up the 'n' weeks of development rarely, if ever, made it on to the plan, and for the most part have been left up the teams to manage them selves.

What I loved about Ben's presentation was the break down of each task and its total visibility throughout the life cycle. And I also loved his attention to the meta data. I loved his passion for the measuring of the cycle times, and the pages of charts and figures he had collated. Really good stuff.

Of course, with one big fat line on a plan that is labeled 'development', you lose the ability to easily capture those metrics. How are you ever going to be able to make small changes to your development practices and be able to show the improvement if you don't have the data?

You also lose the visibility to the team when things are going wrong. When issues are just notes in a project managers note book, when blockages are just emails and missed calls, they can be forgotten. With the board, it's totally visible, right out there in the open, for everyone to see.

I remember thinking whilst watching Ben's LDNUG talk, that even if this wasn't implemented on a project wide sacle (I'd have to persuade the PM's for that), I can easily see the benefits of using this myself, to organise, schedule and track my day to day tasks at work.

So I did.

I'm currently working on three projects, all different, all with different PM's, analysts and testers, and all are at different stages of completion. I've got various tasks, all due at various times for these projects, most of which involve having to coordinate with other teams, which means being blocked a lot, all the while faring questions about dev things, specifications, environment configuration, etc. Believe it or not, I get lost in the overload from time to time, and things get missed.

A few weeks ago now, just before Christmas, I decided, months after seeing Ben's talk, and since attending many more talks about lean and kanban, including the very excellent Lean and Kanban Exchange put on by (the one and only!) Skills Matter, that I should, instead of just thinking about how great having a kanban board for each of the projects I'm working on would be and getting sad at how none of the PM's would join me in my excitement for improvement, that I would make my own.

I ripped the cardboard back of off an A4 pad, stuck an A4 piece of paper to it, and divided it up into 3 vertical sections:

  • Backlog
  • In Progress
  • Done
And put in some horizontal swim lanes for each of the projects I'm involved in.

I got some of the tiny post-its and wrote down all the things I'm working on, for each of the projects, and chucking them on my new shiny board.

So I've been personally tracking each of my tasks for the past few weeks, and it's fantastic, no longer do I need to rack my brain each morning, trying to remember what it was I was working on for what project, I can just glance next to my monitor and bingo.

But what happened today was really amazing.

I took my board along to a project meeting we had. It's what I'm working off now, so it's just easier for me to talk about what I'm doing if I've got my board with me than it is if I have to translate the PM's notebook scribbles back into something that I can understand. Well, very soon into the meeting, my board started to become the main focus, and instead of us all just sitting back in our chairs waiting for the next set of scribbles to be frantically found in the notebook, we all had something to focus on and something to structure our conversations around, amazing!

Doing this had a zero barrier for entry, zip, zilch, nout, and has made a marked improvement on not only how I track the things i'm doing, but is also structuring higher level conversations with in the project teams I'm working in. And all over some tiny post-its and a piece of A4 paper!

I got given a very nice pat on the back after the meeting and was asked to make sure my board was very visible, so that others can see what I'm doing, and hopefully it will start people asking questions about it, and about how they work, alone and collaboratively, and start off some more conversations, and maybe, just maybe, things will move that little bit closer to being better.

Tags:

Kanban

What, still no internet?

by topher 3. January 2010 12:56
Yep, it's true, after almost 10 months of being in my new flat in West London, I still do not have an internet connection.
 
All my friends think i'm crazy going this long with out being plugged in, especially considering the job I'm in and how much I love what I do, but I have to be honest and say I haven't really missed it all that much.
 
My last flat in the East End of London (moved in about three years ago) was internet free for all of about two weeks while my old flat mate and I waited for the previous tenant to cancel their account so we could sign up for the unlimited broadband package. But even then there was an unsecured wireless connection we piggy backed on until we got set up.
 
Me and my new flat mate, moved into this new place in West London almost 10 months ago, and from what I can gather this flat has been empty for quite some time, long enough for BT to disconnect the phone line from the junction box at the end of the road, and then have the cheek to demand an extortionate amount of money in order for them to send out an engineer to reconnect it. No thanks.
 
Unfortunately there isn't any digital services installed down our road, nor is there any sniff of a wireless connection at all, so getting the phone line connected was basically our only option of getting plugged back in to the matrix.
 
Whilst I struggled with the idea of coughing up wads of cash to BT, I took a good look at my internet usage and my current circumstances and came to the conclusion that I really didn't need it that much.
 
See, back in my East End flat, I think I did actually need it, I had only just moved back to the UK from a few years in Australia, I only had a really old 'WAP' enabled mobile phone, and I was looking for work full time. Have you tried looking for work as a developer with out the internet?! It would have been a nightmare, I was constantly checking out new jobs on the web all day, I just don't know how I would have done it with out an internet connection. Weirdly, the job I ended up getting I got through a friend and not the internet, so you could argue that I didn't even need it for that, but we'll forget about that ;)
 
So, do I really need the internet at home? I'm not sure I do.
 
What do I really need the internet for these days?
 
It's not job hunting. I'm not actively looking for work at the moment, and even if I was, I would much rather go through the London .Net Community than face the recruitment agents again.
 
What else?
 
The way I see it, three things really:

    * Email
    * Twitter
    * News feeds

I have an HTC Touch HD mobile phone now, with an internet bundle that gives me 500MB of download allowance, and I can do all three of these things very happily on my phone these days.
 
What else do I do on my PC at home? I hack away at various bits of code in my spare time, and even when I'm at home doing that on my laptop and really need to grab some install package from somewhere, or clone some repository, I can plug in my phone and use it to connect to the internet (as I'm doing right now as I type this!) and download it/check it out.
 
So do I really need the internet?
 
I can keep up to speed on all the goings on via Twitter and Google Reader on my phone, and I've also got push email setup on it so it vibrates every time I get a personal email, it also integrates with my google calender. And I can, on the rare ocasion I need to, connect my laptop via my phone to the internet to grab things.
 
Do I need to spend any more money each month on an internet connection?
 
Probably not in all honesty, but in about a week or so, the flat will be finally hooked up to the internet again.
 
About 12 weeks ago I was very ill, and spent a horrible 5 days at home on the sofa with nothing but Freeview TV. I spent most of the time between flicking around during the adverts, watching repeats of Top Gear on Dave, and it almost sent me crazy. What else was I supposed to do? I love to read (you ever read Dilbert?! hehe, in joke...), but when I'm ill it gives me a headache trying to read, not to mention my lack of concentration means that I never remember any of what I've read, and so, without the internet, all that was left was the crap on TV.
 
Actually, it did send me mental, cus at the end of the 4th day I ended up phoning up Sky and ordering the TV, Phone and Broadband package from them! And the good thing about doing that was Sky covered the BT charge to reconnect the phone line!
 
Well, we've got the TV and the phone line setup now, we're just waiting for the wireless router to turn up and we're back on the information superhighway, but to be honest, I dont think I'm going to be using it that much, although I bet I'll get back into the habbit of mindless surffing around on populrs.com and alltop.com for hours and hours and hours at 2am when I've got work the next day.
 
Brilliant.

Developer Screencast

by topher 9. December 2009 16:31
I think it was back at the start of this year that my then work colleague Matthew Rathbone (@rathboma) thought we could be spending our lunch times in a more productive way. Rather than sitting at our desks eating our lunch flicking through our RSS feeds, mindlessly surffing the web, or getting roped into various work related issues just because you were at your desk, he decided that he would book out a meeting room, complete with projector and speakers, pick a selection of screencasts from the amazing amount of awesome material that there is out there on the web, let the rest of us vote on what we wanted to see, then spend an hour watching some cool tech stuff, and having a post chat about what we'd seen.

Fantastic.

Matt organised this right up until his departure from the UK to his new home in New York, Matt, you're sorely missed mate.

I took over the role of the developer screencast organiser (no one else here has the passion to) and have been running them every week for the past 3 months or so here at work with some very good feedback. I book out the meeting room for an hour and a half (extra sneaky half an hour for lunch), spend an hour watching, then the rest of the time chatting about it.

I've been tweeting about this ever since I started it and people have shown a fair amount of interest, but being an in house thing I couldn't open it up to the local dev community. I have tried, but all my emails to the powers that be have been met with silence. Where is the community spirit in that?!

So last night me and Neil Robbins (@NeilRobbins), who has also set up a developer screencast at his place of work, were chatting and decided that we should try doing a public one. Toby Henderson (@holytshirt) found an great meeting room out through the back of the kitchen in a Costa coffee shop in London, where we hold our bi-weekly developer book club meet ups (#devbookclub), which can hold about 10 people and amazingly has a projector.

And so the Developer Screencast is now born!, with our first screening showing Dan North's (@tastapod) InfoQ presentation on BDD & DDD (http://www.infoq.com/presentations/bdd-and-ddd) next Wednesday the 16th of December, in the meeting room through the kitchen of the Costa Coffee Shop on 9 Eldon St, close to Moorgate Underground Station (http://bit.ly/1RIKYC), then heading to the Lord Aberconway pub (http://bit.ly/7xoGA4) round the corner for beers and a chat.

So...

What: BDD & DDD - Dan North
When: Wed 16th Dec 1730-1900
Where: Costa, 9 Eldon St, London.
Signup: http://devscreencast.eventbrite.com/

Space is very limited, there are only 10 spots available, first come first served...

See you there

A New Lease Of Life

by topher 2. December 2009 16:43
I've been very unhappy in my job role at work for the past 11 months. At the start of the year I was selected to attend an ETL training course and have since been exclusively allocated to ETL projects at work, and have not seen a single curly brace or semi colon outside of my own pet projects all year.

Not good.

I really don't like not liking my job, and these feelings toward my current role have been some what alien to me as I've enjoyed almost all of all of the other jobs I've ever had. Every job has its moments, obviously, you know, strikes and gutters and all that, but spending 11 months not enjoying what I was doing really should have given me the kick in the arse to GTFO and get another job. But it didn't.

Things have come very close to boiling point a few times, but because of the current economic climate (and a few other bits 'n' bobs) I haven't been actively looking for a new job at all. Not yet anyway. But it was getting very very close.

A light at the end of the tunnel appeared a few weeks ago when there was a mention of an Application Architect role becoming available which would span the development team and the architecture team bridging the gap and bringing the two teams closer together. Previously architecture has sat completely separate from development, not just structurally, but also physically, which just doesn't work.

Today I accepted the role of Application Architect!

I'll go into more details soon.

Watch this space!

Tags:

Work

Quote Of the Day 14Aug09

by topher 14. August 2009 10:23

i'm reading code complete at the moment, a book i've been meaning to read for a very long time, and i've just read a brilliant quotable line that i need to share:

"Despite economic ups and downs, good programmers are perennially in short supply, and life is too short to work in an unenlightened programming shop when plenty of better alternatives are available."

haha, awesome eh.

that's something that i've been telling lots of people for a long time, it might be about time for me to start taking my own advice :)

i've only just started to read it, but so far, so good. its one of those books that i think i'm going to get through quite quickly, not because i'll be skim reading it, or missing bits out, but because so far, i'm reading it with a slight grin on my face, cus i know exactly what Steve Mcconnell is getting at.

Tags:

Rant

things are going a little webby

by topher 28. April 2009 09:43

i've never developed an asp.net site, i've been a desktop application developer for my entire career. i've developed a classic asp site, in fact www.jobshy.com still runs on the primative cms system with a mysql backend that i wrote in it YEARS back and even www.frogdreaming.com used the same classic asp application too.

actually thinking about it i did a fair bit of classic asp development cus i wrote all the various web sites of my first employer, but at the time asp.net surfaced, i was really into the desktop development in vb6, writing automation software and device drivers for various bits of kit, and it just totally passed me by. also at that early stage of my professional life i didn't realise how important continuous improvment was, and didn't learn asp.net. as the years and the development went by, and i started learning .net, i was still focused on the desktop apps and didn't touch any web development, and still haven't to this day.

to be honest about it, the few times that i did look into web development it scared the hell out of me. my classic asp background worked in a very stateless way (read, very basic! - but thats how the web works right?!) and all the asp.net gumph to simulate the winforms environment i was used to just seamed like a total kop out, and i just never bothered to get up to speed with it. this quote from rob conery sums up what i think about asp.net webforms development: 

The Great Lie 

WebForms is a lie. It’s abstraction wrapped in deception covered in lie sauce presented on a plate full of diversion and sleight of hand. Nothing you do with Webforms has anything to do with the web – you let it do the work for you.

i was employed at my current place as more of a backend developer, i've done a lot of database and windows services programming over the past two years (am i'm not happy about that) and so when asked to provide a ui for this new project that i'm working on i shuddered at the thought of having to implement it in asp.net webforms. i'm not an asp.net guy, and if i'm made to develop this ui using it...well, i'd hate to be the poor so who would have to support and extend it, because i'm certian i would make some nasty school boy errors.

so what are my options? wpf browser app? silverlight?

nah...mvc!

the first chapter of professional asp.net mvc that scottgu posted up is wicked. i've worked all the way through it and what's great about it is that it covers the generation of an entire app from file > new project.

its got me really excited about doing some web development now, and i'm currently in the middle of knocking up some prototypes of the ui i need to deliver in the next few weeks.

and i really becoming a web guy?

Tags: , ,

mvc | web | Work

Quote of the Day

by topher 15. April 2009 16:17

i've read martin fowler's who needs an architect article before, and i've just re-read it, and thought i'd post up a quote that sings to the hart of why i love being a developer:

"Software is not limited by physics, like buildings are. It is limited by imagination, by design, by organization. In short, it is limited by properties of people, not by properties of the world."

brilliant.

i've always loved the creative design aspect of software development; it's potentially limitless.

Tags:

Quote

Integration Monkey

by topher 9. April 2009 08:05
it's official, the change has begun.

the move from application to integration development was announced yesterday in a team meeting and in the weekly update. it's all over the press!

i knew this move was coming, the signs have been there for a long time (biztalk/informatica/etc) and although i think there is real need for this type of development in the place i work, i believe that there is still a real need for application development, and that need has been dressed down far too much.

that opinion is not totally founded on the fact that i am an application developer and not a systems integrator, there is a need for apps to be built to deliver value to the business, to get those quick wins in these hard 'climate crunching' times, and we are the only ones that can do that, not system integrators.

don't get me wrong, there is also a need to sort out all the crazy data mess that we have gotten our selves in to here too, i just pray that the powers that be do not overlook the need for us 'real' devs ;)

i'm not a integration monkey, i'm a coding monkey. with an opinion.

Tags: ,

Rant | Work

Application Development Rocks

by topher 6. January 2009 23:04

app development does indeed rock. so its a real shame that i dont get to do any of it isn't it?

i do nothing but constantly read books/blogs/codeplex code/msdn/etc. about application development, and i'm dying for the next chance i get to develop a real application. and by real applicaiton i mean something with a decent ui. something that i can really get stuck into again, something which i can attack with some domain driven design using test driven development and have a result at the end of it that i can take a screen grab of and send it back to my mum with a note saying that 'i made this!'

this is the first job i've had where i have not been able to do this, and i've been in this job for the last 18 months.

dont get me wrong i really do like my job, i've been able to do some amazing things since getting here like the introduction of versioning, test driven development, dedicated build environments, automated build scripts and continuous integration. and i've really enjoyed it.

but i need some development to do now thankyouverymuch. something to keep my mind active.

there is a project coming up that i'm involved in that has a 3 stage delivery plan. stage one is to take the prototype access database and replace the vba/manual data import part with an etl tool and sql database, which is the stage that is definitely going ahead. next stage is to develop a few administrative tools for the users to handle exceptions, and the final stage is the all singing, all dancing management interface to the underlying data, providng all sorts of awesome widgets and gizmos for them to play with their calculations and do all kinds of funny reporting and cool stuff.

i'm going to make a bet...stage one will go in and we'll get shot of the tables in the access database, and they will be replaced with linked sql tables, but we'll still have the vba code in there, then everone will forget about the next two stages and they will just live with what they have, never knowing the incredible, magical, totally most zawezome3000 bit of software in the whole entire world, if only they just let me do it.

so what happens to me during all this? i get to play around with an etl tool and a sql database, and put in a few linked tables in access. christ, what the hell happened to me? i want to slit my wrists! the only bit of the development that appeals to me are the second and third bits where there is a small chance that there might some real development to do, and i bet you they never happen, actually, even worse than that, they do go ahead, but they'll make me do the ui in an excel workbook that will sit on a file share somewhere on our network.

argh!

watch this space.

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.