I share my thoughts here on data/software engineering, professional growth and life in general.
You can learn more about me, or check out what I’m up to right now.
Happy New Year! With 2025 upon us, and the calendar serving as a reset point, a lot of people are working towards New Year’s resolutions. We start out with the best of intentions, but a few weeks into the new year our goals have fallen by the wayside. Too often New Years’ resolutions are vague, non-specific goals like “lose weight” or “read more books”. They also tend to be focused on negatives, or things that you feel you need to do, or should be doing, and frequently we try and do too many of them at once. Working towards a laundry list of distinct and unrelated goals all at the same time is a recipe for failure. I think New Year’s resolutions are flawed for this reason, and instead, I like to structure my personal development goals differently. Rather than a list of goals (I want to lose weight, I want to get promoted, I want to buy a house), I divide my personal development into a set of categories: Healthy, Wealthy and Wise, and then build themes around them. ...
When developing software, there is a natural tension between “speed” and “quality”. They are often seen as opposing goals. Delivery teams are under pressure to ship new features as fast as possible, but the reliability and functionality of their systems can not be sacrificed. In fields like data engineering, this is especially apparent. The need to quickly gain new insights is real, but sacrificing on quality can result in the wrong insights, which is worse than no insights at all!. Does this relationship between speed and quality have to be a dichotomy? What if we could move fast, but also make sure we are delivering the kind of work we can be proud of as professionals? ...
Creating software for a living and keeping up with the industry and latest trends can be overwhelming. Every day brings a new framework, a new technology, a new architectural pattern. One of my favourite parodies of this fact is Days Since Last JavaScript Framework (spoiler, the answer is 0 days, every day). In the data space, the latest thing appears to be the data lakehouse pattern, which although not new has had a resurgence because of Apache Iceberg and the idea of distributed compute. And, anyone not under a rock has seen the explosion of Generative AI across the industry, with everyone trying to shoehorn AI into their product, whether that’s what their users want or not. With the pace of change, it is hard not to think that you’re being left behind. For some, this results in a practice I recently heard described as Resume Driven Development. ...
A great practice we follow at work is the setting of working agreements. Championed by Aussie powerhouse Atlassian, working agreements are shared values and behaviours that you agree to as a team. We have several, from the mundane but important “We value work-life balance”, through to the scar-tissue driven “We reduce the risk of production issues by ALWAYS testing our code before requesting review”. Of all our working agreements, I think my favourite is this one: ...