Building Software that Matters

 Jan 23, 2015  |   Filed under: leadership, software development, personal  |   Tags: Agile, Organization, Learning, Change, Skills

In 2003 I read Kevin Mitnicks book “The Art of Deception”. Mitnick describes how hacking is not about bashing keyboards in a Unix shell but more about talking to people and getting them to slip up — social engineering.

In the same way I realized that building software that matters is not only about writing pristine code — even if that is a great element of it. It’s less about the technology and more about something else.

I first came to this realization around 2005. I had worked professionally for around 3 years, I was young, I was naive — you could call me a technical idealist. I got my first assignment on a big team — when I say big I mean brontosaurus big — a kind of teams within team setup. I was eventually tasked with writing a module for this gigantor project, the language was C++ something I had studied and played around with but had little professional experience of.

Oasis in a war-zone Illustration by the great Mikael Brassman.

I started writing the code according to specifications; I was test-driving every line, working hard to make the code magnificent. I can’t recall if it was due to the way the project was structured or because I was programming at a hellish speed but once my work was done I had an abundance of time. I rewrote the whole thing 3 times, got it reviewed and refactored it for weeks on end. It was perfect — I don’t have the code — but the way I choose to remember it is that it was some of the best work I’ve ever done.

I had created this paradise of code but when I took a step back and looked at it from a distance it was an oasis in the midst of a war-zone. Very little else was working, nothing was shipped and my teammates where struggling. I had performed well, the code was good but we had no application. As the feeling sunk in I my soul was slowly crushed.

This is when I realized that in the same way that hacking is not about bashing keyboards in a Unix shell, software development was not only about writing pristine code. I recognized that it was not what we did, but how we did it that mattered. That week I picked up my first agile book.

The project was a behemoth and I was young and naive. That book made very little difference at the time but I often remind myself of this today when I run around my clients’ building popping my beard into offices, hijack people for meetings and posing uncomfortable questions. My primary work tool has morphed from the computer to a trusted Moleskin, whiteboard markers and post-it notes.

I usually carry the official role of tech-lead, agile coach or something similarly unimportant even though what I mostly do is software investigation or archeology — my job is to make sure that the code that is written matters and nobody ever has to feel the way I did back in that project.

Read More

Quality; the hidden parameter

 Nov 13, 2014  |   Filed under: business, leadership, software development  |   Tags: Theory, Opinion, Agile, Business

I’ve always been a sucker for quality. Everything I take on I do to the best of my ability. Scope, schedule and cost have always been negotiable for me whilst quality has not. However I have discovered that if you don’t intentionally negotiate for high quality you may be trading it away without thinking about it. This happens because quality is the hidden parameter. When pressed by cost, scope and schedule quality usually suffers because...

Read More

Why You Should Talk To Strangers

 Jul 31, 2014  |   Filed under: business, personal, leadership  |   Tags: Body & Mind, .NET, Programming, Challenge, Psychology, Learning, Opinion

After I attended Euruko 2011 I got an idea for a talk; a talk that was about developers just getting along. I knew this would be a really hard topic to sell so I wrapped it up in a nice package with some examples of what you could learn from other programming languages. The abstract was purposefully misleading in order to get me invited to speaking events. Surprisingly the talk took of like a rocket;...

Read More

Don't Jump the Gun on Criticism

 Dec 9, 2013  |   Filed under: business, personal, software development  |   Tags: Body & Mind, Challenge, Change, Consulting, Learning, Opinion, Philosophy

Earlier this year I wrote a blog post on our company blog about one of our core values "Challenge the World". This is not only one of our company values but something I have been subscribing to myself for quite a while. This has often been a successful way of approaching things for me. However in certain instances my questioning didn't lead anywhere and I've come to reflect over why this might be. I think...

Read More

Kill the Goat

 Nov 21, 2013  |   Filed under: business  |   Tags: Challenge, Change, Entrepreneurship, Learning, Philosophy

Yesterday I was at the regional finals of EY Entrepreneur of the Year to support my long time friend and partner in business Deniz Yildirim. Deniz managed to snag the “Male Rising Star of the Year” award and moved on to the national finals in Stockholm. Someone else who moved on to the finals was Hossein Sadr of Carpetvista. Hossein, who won the “International Growth of the Year” award, told an interesting story which has...

Read More