Confessions of a Documenter


I’m going to confess something. I’ve been harbouring a terrible secret for the last few years. It’s something that I’ve tried to keep hidden away from my peers for a very long time so as not to be labeled as “that guy“. Something I’ve kept buried deep in the depths of my darkest closet. Ok, maybe I’m being somewhat melodramatic. Pray tell, I hear you say, what is it?!

Well, it’s that I enjoy writing documentation. From the lowliest code comments through to high level architectural documentation. I enjoy it all.

Put On Your Streaming Shoes


The Kick-Off Meeting

It went something along the lines of:

  • Client: “We have a new requirement for you..”
  • Shiners: “Shoot..”
  • Client: “We’d like you to come up a solution that can insert 2 million rows per hour into a database and be able to deliver real-time analytics and some have animated charts visualising it. And, it should go without saying, that it needs to be scalable so we can ramp up to 100 million per hour.”
  • Shiners: [inaudible]
  • Client: “Sorry, what was that?”
  • Shiners: [inaudible]
  • Client: “You’ll have to speak up guys..”
  • Shiners: “Give us 6 weeks”

We delivered it less than 4.

Geekapalooza: My recent visit to Google I/O

Last week I had to pry myself away from my day-to-day life as a software developer and fly over the Pacific to attend Google I/O. Okay maybe I didn’t have to pry myself away – rather, it was more like me excitedly not sleeping for 2 days, giddy as a school kid, prior to leaving. I was lucky enough to be personally invited this year to both the conference and to other GDG organiser events to meet other community leaders across the globe. It’s safe to say I had high expectations.

I was expecting it to be big, but what I found was a mecca for geeks. A place where being a nerd was cool, wearing glass and wearables was not only normal but encouraged, and a place where everyone wanted to talk to you about the products they have been building and what tech stack and services made it possible. To say that I was blown away is an understatement — and this is just the people and culture surrounding the event. Let’s not forget the main reason I was there: I/O is the main stage for Google to announce their new product pipeline for the year. In this blog entry I’ll highlight the big announcements, albeit at a very high level.

Think a Bit, Code a Bit, Test a Bit


The best piece of advice I ever got regarding a personal software development process was from a grizzled old Unix developer with a neckbeard. OK, that’s not true – it was actually from a clean-shaven principal consultant and architect at a company I used to work at, but that doesn’t sound nearly as impressive.

Nevertheless, the process went something like this:

  1. Think a bit
  2. Code a bit
  3. Test a bit
  4. Go to Step 1

Having tried all manner of processes over the years, this is the one that has served me best. Let me break it down for you if you’re having trouble understanding it.

JavaOne 2013 Day Zero

The 18th JavaOne started this Sunday in San Francisco. Covering three hotels in downtown SF, Hilton, Parc55 and Nikkon and with keynotes in the Moscone Centre, Oracle OpenWorld is hands down the biggest conference I’ve ever attended.  It covers 5 days in total and over 500 sessions plus side exhibitions and events. And it certainly needs the room, not only to accommodate the number of attendees going to these sessions but the breadth of the platform itself.

Backbone Is Not Enough

Having spent the last 18 months or so working with Backbone.js, I’ve formed the following opinion: Backbone is not enough for building large single-page applications (SPAs).

Sure, you and your team may be able to get your app across the line, but you’ll probably end up with a lot of code and may even reinvent a couple of wheels unless you’re extremely diligent about refactoring, code reviews, documentation, testing and keeping up with an ever-evolving suite of best-practices.

Learning About Risk Management at YOW! Conference 2012


This year was my first attendance at the YOW! Conference, and I am very happy I was able to go. The conference was well-organised with great speakers and thought-provoking presentations.

Fascinating to me was that several themes recurred in different presentations at YOW!, with each speaker giving it a unique angle. Watching several presentations from different experts in this conference setting lent itself to a meta-analysis of these themes. One that I found particularly interesting is risk management for software projects; specifically, how development processes can help businesses manage the risks.

JSConf Down Under: A Conference Report

I attended JSConf Down Under yesterday. The conference format was quite straightforward: one day, one stream, nine speakers. In this post I’ll talk about the three things at the conference that had the biggest impression on me: Brendan Eich’s presentation on The State of JavaScript; Isaac Schlueter on the new Node.js streams; and the JavaScript community as a whole.

On Pair Programming

Working on a project that used pair programming was something that I’d wanted to try for a long time but had never had the opportunity to do. Consequently, when a chance came up to work on a project where the entire team was pair-programming full-time, I was ready to get on board and give it a go. In this post I’ll talk about my experience, some of the benefits I saw, and some broader conclusions that I reached.