And so we tried to build the Census Platform.

REA runs a plethora of special interest guilds that anybody can join. These guilds get together every now and then to trade smarts, share stories, or just to talk about new, shiny tech.

One of these guilds is the Ops Guild – which over time, has morphed into a challenge/gauntlet where everyone with an interest in Operations can get together and sharpen their Ops skills. We run troubleshooting dojos, breakfix scenarios, and a couple of games – and given recent events, we felt the need to be relevant…

Continue reading

Confessions of a Podcaster

I confess to being a mad podcast fan. I am always listening to my favourite podcasts and always on the look out for new ones. I devour podcasts in the same way some people ‘do internet’ or read books. I literally fall asleep each night with my headphones in – incidentally podcast apps usually have a timed stop feature, so you can switch off at the end of an episode or after a specified duration.  

I am such a fan of podcasts that Rob Leane, Logan Han and myself created a podcast just to find out what that would be like to create a podcast. It was really really fun, and if you go to http://podcast.rea.tech you will be able to listen to the podcast we created for our Inventorship event (the event formerly known as Hackday at REA).  Continue reading

Singletons Suck (aka Flux to Redux)

As previously mentioned (see ReactJS – Real World Examples of Higher-Order Components), we are currently re-building the core realestate.com.au property experience with ReactJS. While ReactJS may be the shiniest of a long line of JavaScript frameworks (see Derek Zoolander meme), we have been careful about pulling in new “hot right now” libraries until we felt the pain and really needed them. Cue Flux.

Flux-Capacitor

Continue reading

Remote pairing, how do I even?

I’m fortunate to be one of this year’s REA Grads (http://careers.realestate.com.au/graduate-programme/). A great part of the REA Graduate Programme is the opportunity we get to rotate through six different teams within the business over an eighteen month period. My first grad rotation was in a distributed team, which posed a challenge as half the team and the majority of developers were in China. I often needed to connect and share my screen to collaborate with the developers in China when working on a task (remote pairing). During the rotation, I picked up a few tips that helped reduce some of the challenges that surround remote pairing, which improved the overall experience.

Continue reading

The worst thing in our Scala code: Futures

Author’s note: this isn’t an argument against Futures, there’s nothing wrong with them as such!  This article is about good abstraction and proper separation of concerns when using them.

The aims of functional programming are much the same as any other discipline of software engineering: modularity, abstraction, low coupling, high cohesion, and so on. While the techniques and terminology are often new to developers, the goals and benefits are expressible in very familiar language because it’s all software, and we’re trying to achieve the same thing! (Read SICP for more background on software engineering fundamentals expressed with functional ideas).

Continue reading