Way back in 2005, my London programming job disappeared in a competitive buy out. Suddenly I found myself with no responsibilities, no ties, and unusually flush with funds. The only sensible decision was to go wandering. Six months to a year in “Eastern” Europe and beyond was what I needed to refresh my mind and figure out what to do next. Who knew how far I might get? India, China, Australia were all on the cards. Or at least that was the plan.

What I didn’t plan on was Krakow. Small by London standards, but no less exciting, with a history and culture every bit as rich, full of dynamic, forward-thinking people who totally know how to party.

After 8 years teaching English there, I finally returned to the programming fold in 2013, and it was pretty clear that a lot had changed. What follows is a four part taste of what that feels like, an attempt to make you stop for a second and think how far we’ve come, how quickly it happened, and try to imagine where we could be in another 10 years.

Part 1: how the west was won… by Apple. 

We used to have fiery “PC” vs Mac debates, and if you were a programmer it was pretty clear which side you should be on. You might use Windows 2000 Server, or you might use some version of Linux or Unix, but no-one would seriously program on a Macintosh. They were for designers (a word we used back then much as you might use the word “hipster” today).

Not true any more. I guess this is part of the larger picture of the retreat of MS from its position of world-domination, but the difference is nowhere more stark than among a group of people who used to rail against those colourful toys which seemed too self-consciously cool to be taken seriously.

Pro or Air, almost everyone I meet now has a Macbook.

Programming in the Dark Ages

Programming in the Dark Ages: the past is another country, they do things differently there.

A corollary of this is the happy demise of Internet Explorer. From the moment when Netscape fell off the scene around the turn of the century, IE ruled our world with an iron fist.  Whatever the nincompoops (and I don’t use that term lightly) in Redmond dreamt up, we had to work with.

You had to take all its non-standard-compliant quirks very seriously when 90% of your user base was working on one version or another. And of course the different versions didn’t work in the same way as each other, so you had to test across a nebulous range of IEs. Even those trendy designers with a Mac often used a version of IE that behaved ever so slightly differently under the right conditions – nighttime or winter, or when the moon was in Sagittarius.

Doing anything complicated with JavaScript was a nightmare. I remember one high level meeting where we took the extreme step of opting to avoid it completely in a major project because any benefits it offered would be far outweighed by the cost in development time. A lot of people just disabled it anyway.

This couldn’t be more different in today’s world: the advent of libraries like jQuery, and beyond that Angular, Ember and their ilk mean that all the browser pain is gone. And we have a whole new job title – “Front End Developer” to take care of it for us. At u2i, there is one superhero who does this work for three or four separate projects. Back in the day, to cover what he does, we’d have been looking at a team of four or five, but as often as not, we had to get our own hands dirty with the HTML. Ew!


"What manner of fiendish devilry is this? Wherefore  in the name of the Gods must I reboot to complete installation?"

“What manner of fiendish devilry is this? Wherefore in the name of the Gods must I restart to complete installation?”

Above all, Chrome has changed everything. Developer comfort is in mind from start to finish. Everything you need is at your fingertips, it complies with standards, and best of all, it doesn’t behave terribly differently from its nearest competitor – Firefox. It even has a beautiful ‘under the hood’ interface that lets you run js on the fly – so no more ‘view source in notepad -> stare at it for half an hour -> adjust code on server -> reload -> repeat -> ad infinitum’*.

Oh, and one last feature of that old world that gives me nightmares to this day: the lack of browser tabs. As a programmer you might end up with five, ten, fifteen, two hundred IEs all lined up along the task bar… with no idea which one was which. Aaargh!

This generation, they just don’t know how lucky they are. But really the lesson here is just how much things can change in ten years. Who knows what the next revolution will bring? The next corporate giant in the computing world? Or maybe just a further fracturing of the OS and browser markets into smaller and smaller pieces.

To be continued…

*I’m reliably informed that in the interregnum between IE and Chrome, we were blessed with a Firefox plugin called Firebug, but this happened in my hiatus – by the time I returned Chrome was doing everything you need in-browser – no need for plug-ins.