The one hour challenge

So I haven’t blogged in a long time due to becoming a father. I’ve gone from having all the time in the world before this and not realising, to having no time and realising it. I’m going to start a mini series of blog posts where I take an hour to explore something interesting. Think of it as an expanded version of TIL (Today I learned, check my repo here). What’s something useful I’ve learnt recently? I’ve learned to use Groovy and specifically Spock to have short,readable and flexible tests. ...

October 16, 2017 · 4 min

The false Scrum future

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton I agree with Phil, I’d also like to add estimation to this list. Of the three it’s the hardest as you cannot ever solve the problem due to the nature of time. Estimation is the theme of which an engineers’ life revolves around; Is it completed? Can you have this ready by Friday? Based off of this task it ought to only take X. ...

January 24, 2017 · 6 min

The proximity paradox

Will consider remote for the right candidate, always seems to suggest to me that companies are willing to settle for proximity over quality — scalabilitysolved (@scalesolved) September 5, 2016 For the right candidate only… Remote work is growing but it is still the exception to the norm, often you can see job adverts that include the classic ‘consider remote for the right candidate’ as the caveat to their otherwise watertight hiring strategy. ...

November 16, 2016 · 5 min

Technical debt inflation

In my last blog post about the tenets of technical debt, I covered some of my thoughts about technical debt. One of my thoughts has been playing on my mind since I wrote it: Treat technical debt exactly as you’d treat monetary debt, it can be a good thing, allowing fuelled growth, ambitious plans and a multiplier effect Most teams don’t treat tech debt this way, instead they splurge on new features creating a long list of debt. A lot of teams have a loose rule of trying to pay off some tech debt each iteration yet for most teams all debt is equal. Thus we prioritise paying off our 1% interest student loan over the 3546% loan that we took out two years ago. ...

September 15, 2016 · 9 min

The tenets of technical debt

If features are roads leading users to new experiences, then technical debt is the nasty pothole that one day will break their axle. Developers dislike technical debt, it’s the equivalent of running out of oil in your almost perfect machine. Product owners dislike technical debt, it gets in the way of progress and new features that delight customers. Customers dislike technical debt because they are product owners too and undeniably the most important. ...

August 8, 2016 · 6 min

In Mongo we trust

10 minute crash course in MongoDB Recently I’ve been working more and more with MongoDB, I previously worked heavily with Couchbase and blogged a lot about how to query Couchbase if coming from the SQL world. The following is a ten minute crash course in the most common queries you’ll want to execute when using MongoDB or you have an interview and forgot to prep! MongoDB 10'000m overview MongoDB is an open-source document based database that stores data in BSON (Binary Json). Instead of a traditional table based relational database MongoDB works with documents that are schema-less and hence can be much more flexible in terms of what data can be stored together in the same collection. ...

April 26, 2016 · 3 min

Doing more with less

In the programming world it seems very popular to predict potential ceilings of projects or even engineers due to the languages/frameworks that are utilized as though they are the be all and end all indicator of future success. It’s a viewpoint that is both propagated by developers ‘oh I’d never use a language as verbose and feature incomplete as Java’ right through to companies ‘We only use cool languages, PHP/Java engineers need not apply’ ...

February 3, 2016 · 3 min

Don't hold back your Ruby

In the first article of this series we looked at general must read programming books and in the second we took a look at the Java world. Now to step up to the plate is one of my favourite languages, the terse,the beautiful,the sublime, Ruby! Ruby is a great dynamic language that has gained a lot of traction largely thanks to the popularity of ROR (Ruby on Rails), so without further ado let’s jump into the best books to level up your skills with Ruby. ...

October 27, 2014 · 4 min

Don't hold back your Java

In the last article we looked at the best books to improve your knowledge of the core concepts of programming. This time we are specifically going to look at the best Java books (in my humble opinion) that give not only juniors a great base in the language but also act as great references for senior developers. I’m not going to explain why you should be reading and studying outside of work, if you need to hear my reasons then go check out the first article! ...

August 26, 2014 · 4 min

Don't hold back your programming

When people ask how to improve their programming skills invariably they are told to write more code, to dive into open source projects or to build a replica of a well known piece of functionality. All of those tips are great but at the same time they can reinforce bad habits or lead you to the situation where you can make something work but you don’t know why! Why your programming doesn’t work out the way you plan The key to improving your skills is to both practice programming but also to read more on the subject, by reading I don’t mean spending 2 hours on Hacker news everyday (although that can be fun!). A solid concerted effort to work through particular programming books will pay dividends in your future abilities and critical thinking. By expanding your knowledge of core concepts you can spend more time on the domain problem and how to work efficiently rather than coding by coincidence or wondering how your program works… In this article I’m going to provide a selection of books that I have found to be excellent reads that have not bored myself to tears. Not all are obligatory to read and some will be less relevant for the functional programmers or NoSQL people out there. ...

July 21, 2014 · 6 min