Category: Year in Review

2020 Review

I think the most generous thing you could say about 2020 is that it was strange – nevertheless there have been some highs and lows and so, in true narcissistic fashion, are some of my personal high lights and low lights as a middle aged grumpy bastard working in tech.


A real highlight for me. Over 2019 I’d started to become ever more frustrated by C# with this exciting numbered list of issues bothering me the most:

  1. I increasingly felt I was “fighting” the language – its object oriented roots support patterns we’ve mostly decided are unhelpful to us now and while C# has evolved its still held back by those roots.
  2. Ever increasing complexity – as its evolved lots of complexity has been added and it shows no sign of slowing down.
  3. As a combination of (1) and (2) there is no longer an obvious path of least resistance.
  4. When I started to pick up F# some of the things I felt were helpful (immutability being a standout) were not baked into C#. They’re still not common.

In any case. I jumped ship to F# as I recognized my approach was increasingly functional with a dash of object orientation – which really is F#s bag. Their was definitely a steep learning curve to “do things well” (I mean how the actual fuck do you do a loop without being able to change a variable) but the pay off has been massive.

Their is also some fantastic framework support – the SAFE stack comes to mind.

In any case – at the end of it all I’ve never felt as productive as I do with F# – it was well worth the effort to learn. And there are some fantastic folk in the F# community – helpful, friendly, thoughtful and generous with their time.

Getting to talk at fsharpConf 2020 was bloody amazing too! A real genuine highlight of 2020 for me.

Receiving an MVP Award

That was super cool. It was nice to be recognized and I was super appreciative of the award and the nomination.

I’m not sure if I’ll be renewed – my community contributions have fallen off (change of role, bit burned out with everything going on) and its fair to say I’m about a million miles away from towing any kind of Microsoft line and have found myself quiet critical on a number of occasions this year (I hope they appreciate critical friends….!).

OSS in .NET land

I’ve bailed on this. To me at this point it seems like something of a lost cause. A mugs game as I’ve written before. Yes Microsoft are having another trip around the “how could we improve this” but the published pieces I’ve seen aren’t really encouraging.

I’m not going to blather on about it all here. Aaron Stannard has published many many thoughtful articles on the topic but my takeaway is: you’re better off working in another ecosystem or simply accepting the ecosystem for what it is, leveraging it as it stands, and building a product and business out of it. OSS may form part of your strategy (likely adoption and PR), it may not.


I became curious about AWS while poking around their support for ARM processors and discovering a significant economic advantage was to be had. I’ve migrated my bike performance website over to it and learned a lot through that. Ironically they seem to be making better use of .NET than Microsoft and Lambda is fantastic (having a full suite of F# blueprints puts Azure Functions to shame frankly).

If I was to compare AWS with Azure I would say that AWS feels more low level and like it is built for developers by developers with a more consistent foundation. You can get going more easily with Azure “in just 5 minutes” but once you get past that facade AWS just feels more “put together” to me. I can’t imagine working with AWS without a robust infrastructure as code solution (I’ve been using Pulumi).

If I was to start a new project today as a .NET developer what would I choose? AWS.

(and in fact I have been doing that this last couple of weeks)

A full year as CTO

If I’d known we were going to have a pandemic I’m not sure I’d have moved into a role that took me so far out of my comfort zone. Its had highs and lows. I still have the itch to make things (myself) and COVID + CTOing has left me too exhausted to scratch it in my free time which has been frustrating and led to quite a few started and unfinished projects. I’m trying not to beat myself up too much about that.

Personal stuff

Like many my mental health has definitely taken a battering this year – I’ve not been effected directly by COVID in terms of my health or my job (beyond operational issues) but I’ve seen people who are and its “always there” like a nasty hum in the background – combined with the role change it really gave me a pounding. I’d also finally in my 40s figured out ways to compensate for the things I don’t have in my life by putting other things in their place and they’ve ben cut off by the pandemic.

See the source image
End of the year James

I crawled into the Christmas break with quite bad insomnia, what I can only describe as “micro-panics” each night when I went to bed, and an utter absence of energy and enthusiasm.

It took about 12 days of my Christmas break to start feeling back to even vaguely normal again. I’m nervous as to how I’ll get on in the first quarter of 2021 but will push on.

Looking ahead

I’ve been thinking about what I’m good at and what interests me. Really its doing early stage product development on small budgets / tight resource constraints with tiny teams / solopreneur land. I love it and I’ve got quite practiced at optimizing the development side of it. I’m thinking maybe their is some writing and perhaps even business opportunity around that.

I’ve also got a truck load of product ideas. I always do….

Game of the Year 2014

Winner: Forza Horizon 2
Runner Up: The Last of Us Remastered


There’s been a lot of negativity in the gaming world this year about the next-gen consoles and how they are yet to deliver and while I’ve not played anything game-changing (pun not intended) I’ve had plenty of great gaming experiences over the last 12 months including Wolfenstein, Elite: Dangerous, Monument Valley, Far Cry 4, Alien: Isolation, Diablo III, Dragon Age and Mario Kart.

However my winner and runner up stood head and shoulders above those other games with only a hair breadth between them. Forza Horizon 2 is the first time I’ve whooped and hollered while playing a driving game since Daytona in the arcade and the most satisfying since the Project Gotham series to which this feels, to me, like a spiritual successor. For me it strikes the perfect balance between arcade and simulation with a driving model that sends me into a trance like state while hours slip by. I’ve recently tucked into the Storm Island DLC and some of the tracks are incredible with masses of air and dirty rallying to go at. It all looks gorgeous too with beautiful scenery, incredible car models, and a steady framerate – it runs at 30fps but I’ve never seen it drop a beat and although I prefer racers to run at 60fps the nature of the driving means this isn’t particularly detrimental to the experience and I soon got used to it.

Despite owning a PS3 somehow I missed The Last of Us on that console and eagerly awaited it in remastered form – I was not disappointed. I can’t remember ever being so gripped by a videogames story and characters before and from beginning to end I was desperate to see what would happen next yet dreading something bad happening to Ellie and Joel. The pacing was fantastic mixing up quiet and frantic moments and the occasional scare to get the pulse going. When the game finished I was both sad to see the story finish but satisfied that the story was complete – I hope Naughty Dog doesn’t cheapen the experience by revisiting Ellie and Joel. The DLC was also fantastic and I loved the parts without combat, really pulled on the heartstrings as throughout you know where thats going. It’s a beautiful game throughout being both technically solid and visually arresting with great art direction and the gameplay was, for me, just the right balance of stealth and combat.

As I say literally only a hairs breadth seperates those two games and on another day in a different mood I could easily swap them round. I think Forza Horizon 2 just pips it because of it’s sheer scale – I’ve driven a ridiculous number of miles and am still enjoying it as much as I did when I first started with it.

Special mentions also need to go to Alien: Isolation for the sheer level of terror it generates (I still haven’t completed it due to fear and dread!) and Elite: Dangerous for being mesmerising even while in beta.

Gadget of the Year 2014

Winner: Surface Pro 3
Runner up: iPhone 6 Plus


I’ve invested in a tonne of new kit this year including cameras, laptops, tablets, phones, games consoles and the many accessories that go along with all of those however the device that has surprised and delighted me the most is the Surface Pro 3.

It was an almost hesitant purchase for me as I had concerns about how well it would work as a laptop (the word “lapability” seems to have been invented for Surface reviews – never a good sign when you need a new word) and as an environment for running fairly demanding apps such as Visual Studio, Lightroom and PhotoShop. Coupled to that I’ve never had a Windows device that had decent battery life though admittedly since my first PowerBook my main experience of Windows devices has been cheap corporate supplied crapware (happily these days also a decent bit of kit – MacBook Pro Retina). However I’ve been really intrigued by the Surface concept and Microsoft’s approach since the first version and the Pro 3 is the first time it seemed they were starting to hit their vision so I made a purchase thinking if I didn’t get on I could sell it on.

However my concerns quickly abated after a few days use. The 8Gb i7 model I purchased is well up to running those applications and makes for a great mobile development environment and photo lab and I can fit the odd game of Civilization V in too. The only issue I’ve had with “lapability” is my early morning lay on the sofa drinking coffee posture where I tend to have my laptop almost vertical while I snooze (err, work) and ease into my day. Because it doesn’t have any top of display to bottom of keyboard rigidity it just doesn’t work in that position.

The build quality is excellent, on a par with my MacBook Pro Retina, and I find the pen a useful addition for quick diagrams (though I’ve yet to come across a great tool for converting scrawls into shapes). For the most part it stays quite cool and silent only really warming up and ramping up fan noise if I do intensive work on large image files (24Mb RAW files) or play a game.

As a tablet it’s insanely fast and I quite like Windows 8.1 as I make frequent use of the side by side snap views that just aren’t there on iOS. It’s battery life isn’t as good as my iPad Air (go figure, it’s running an i7) but I easily get a few hours out of it and I’ve never had to worry about it running out. It’s also heavy compared to an iPad Air – again no surprise given what it’s packing.

Ultimately I love it. It’s become my carry everywhere gadget as I can fit it in my camera bag with ease and in my main laptop bag alongside my corporate device. Whether I want to read, do some coding or photography, play a game, get online, or watch a movie it can do it. It doesn’t have the same horsepower or sandbox restrictions of an iOS device (or Microsoft’s RT variant).

I also think there are some real takeaways for Apple here (a year or two back the MacBook Air would have been my first choice for something so mobile). On the laptop front they really, really, need to sort out the display on the MacBook Air. At the top spec pricepoint it utterly sucks and, for me, simply makes it a no purchase at this point in time. On the tablet side they really need to sort out a keyboard solution for the iPad that is as elegant and slender as the Surfaces. Sure there are third party options (I have a couple) but none of them come close to the Surface’s simply because they are afterthoughts designed to fit around a tablet that wasn’t designed for a keyboard to be attached.

Finally a couple of brief notes on my runner up – the iPhone 6 Plus. This is the first “big screen” phone I’ve owned and like the Surface I really bought it to see how I got on particularly as I mostly use my phone as a computer and reading device rather than as a phone. The extra screen space has massively improved my smartphone experience, it’s still light, and it fits in my pocket (no bending yet!).


  • If you're looking for help with C#, .NET, Azure, Architecture, or would simply value an independent opinion then please get in touch here or over on Twitter.

Recent Posts

Recent Tweets

Invalid or expired token.

Recent Comments




GiottoPress by Enrique Chavez