I want you to give up programming

We’re programmers, you and I.  We are time-served, battle-hardened veterans.  We have honed our objects, learned our digital threads, intoned the Laws of Liskov and Uncle Bob, and we’re now pretty good at what we do.

And now I want you to stop what you’re doing.  I want you to give up all that programming that you know and love, and I want you to do something else. Continue reading

Pushing back – lean thinking

Sumo Konishiki by Raymond Kennedy 2009

Photo by Raymond Kennedy 2009

It’s a very hard thing, telling your CTO you think he or she is wrong – but it’s worth it!

Let me tell you a little story – of a time I told someone he was wrong, did the right thing, and where we are now.

Once upon a time, there was a developer called Alex. He was quite short, not terribly adventurous as developers go, but capable. Here’s Alex, developing a little feature to go on the website. Hello Alex. Alex is happy, because the feature he’s developing is rather useful, and will earn the company money – we know because this feature was tested first, and it did these things when we tested it. Alex likes this. Alex likes that it’s good all round and he especially likes that we already know that.

But what’s this? Alex’s CTO has sent him an e-mail, with some changes to the component that haven’t been tested, whether or not they are the right thing. See Alex get sad. See Alex cry. See Alex think. Think, Alex, think. “How can we do this?” thinks Alex. Oh Alex. Poor Alex. See Alex go home, dejected. Continue reading

How to manage change and build antifragile software

The Life of a Software Engineer

Image from bonkersworld.net

When building a software system the biggest problem we face is change. Requirements change, technologies change, traffic on our web application changes, everything changes and our software that was perfect just a moment ago, now is broken and no longer suitable for our purpose. Continue reading

Bridging the old and new of web development

What do you do when you have a large system that has been built up over many years, services a huge amount of your customers, and you want to improve conversion?

Over the last 18 months, we have worked to rebuild the user interface of trainline so that it appears more modern, whilst still working on top of the codebase that has worked for many years. We transformed our core booking flow UI to go from something that came out of the early 2000s, into a modern responsive website. This all with the help of great frameworks out there like Bootstrap and Knockout, along with Jasmine and CasperJS for our testing. Continue reading

Fear is Waterfall

The terror of owning a decisionThe big selling point of Agile is the fast return on investment it promises. But what excites me most about Agile is its emphasis on people – agility done well injects humanity back into activities which Waterfall has made bureaucratic and devoid of care. In short, care does not scale.  Waterfall’s “inhumanity” comes from the command-and-control paradigm. Teams are not empowered to make the best decisions based on their know-how. Instead this is taken out of the hands of the team and decided by others who are not actually going to get their hands dirty.

Agility is equated with empowerment, but how is empowerment achieved? Continue reading

Password resets via Remote Desktop Web Access

We’re all familiar with the monthly password reset – a prompt from Windows that your password has expired, enter your new password twice and you’re done for another month. But what if your Windows domain is only accessible from Remote Desktop Web Access? If you allow your password to expire, you’re locked out! Fortunately Microsoft have a page called password.aspx that allows you to reset your password from the web browser. It’s disabled by default, but I’ll show you how to enable it and how to edit your login page to link to it.

Continue reading

How we got Google to index our app

Google App IndexingFor a long time SEO has been a very fashionable buzzword and it still might be. But what about mobile apps? How does your SEO investment work for mobiles? As always, Google has an answer for that and this is what it looks like:

Google App Indexing

With Google App Indexing you can now get your apps to appear in the search results for the same SEO terms you have so heavily invested in to get your website noticed. It probably goes without saying that this only works on Android (for now).

So what do you need to get your app noticed just as well as your website?

Continue reading