I am a software engineering leader based in New Zealand, with a bend towards working in startups. I like startups because of how dynamic and chaotic the environment can get; things get messy and you need to wear a lot of hats and get really good at learning new things quickly. I think even if you worked in the startup scene for 40 years straight you would still continue to learn new skills and face new challenges.
I've worked as a software engineer building backend services using technologies including Node.js, GraphQL, Kubernetes, and PostgreSQL. I tend to prefer working in backends, but I've spent my fair share of time building frontend applications using React.js and I have a strong track record of shipping beautiful and performant browser-based experiences.
My two broad goals with this blog is to learn in public and build a collection of resources of everything I consider relevant to building and scaling software. Topics covered by me are broad, but right now I tend to focus on AI, API design, databases, and engineering leadership.
The idea of learning in public really resonates with me, because I remember feeling quite overwhelmed when I first started in the software industry. It seemed to me that senior engineers knew everything, and it seemed difficult to imagine ever getting to that stage. Looking back now it's clear to me that in a lot of cases those senior engineers were only ever "two steps ahead." This blog functions as proof that I don't know everything, and that there's still a lot that I am learning about building great products.
Sometimes when I'm trying to remember how to do something—and I know that I used to know how to do it—I'll Google it and one of my blog posts will pop up to answer my question. That's immensely satisfying, and I hope others find value from my postings as well.
My day job is at Crimson Education, managing the new-ish "AI Unit". We have been charged with deploying AI capabilities throughout Crimson's software platforms, so the work is extremely dynamic. We have stakeholders throughout the entire org chart.
Outside of that, I write blog posts here, teach AI/ML workshops through Deltaschool, and tinker on side projects. gethook.dev is currently the project I'm putting the most time in to outside of my day job.
I'm a builder with a strong action bias. I value ownership and trust in teams, and I think software teams function best when they are customer-obsessed and really dial in on building things people actually want. I secretly dislike technology, and generally prefer simple and practical solutions instead of reaching for the latest cutting-edge tech.
The most important part of any organization are the people it consists of. I think empathy for others is the single most important character trait one can have, and I don't think it's possible to succeed long-term in this industry without a deep-seated and genuine care for the people you work with. My conviction on the importance of customer obsession arises as a natural next step from that intra-team empathy.
I love being able to share my knowledge and experience with others, and I'm always learning to look from others. While years of experience might be a useful approximation of skill, some of the most insightful reflections I've heard have come from the most junior members of teams I have worked in. Everyone is capable of giving valuable input, so I am suspicious of hierarchies in engineering organizations.
I'm not fixated on engineering; I enjoy enabling teams and solving problems with people regardless of their domain. Over the course of my career I've played a part in solving product, design, and marketing challenges.
I am always open to contract roles, and I'm also always willing to contemplate new full-time opportunities.
I am broadly interested in anything relating to AI, build infrastructure, and EdTech. I have specific subject matter expertise in building scalable APIs, GraphQL schema design, and relational databases, with skills in a variety of other technical domains as well.
I have a strong preference for remote work, and prefer roles in the people management track as I love being able to play an active role in growing more junior team members. I think engineering leaders who don't get their hands dirty from time to time lose their edge, so I'm not interested in roles which consist entirely of people management.
If you have a role in mind that you think I'd be a good fit for, feel free to get in touch so we can discuss further.
I've been extremely fortunate over the course of my career, and have been able to learn under fantastic teachers and mentors. I would not be where I am today without their collective effort. To this day, I am constantly amazed by how often people say "yes" when I ask for their assistance.
I believe that I have a responsibility to pay this goodwill forward to the upcoming generation of technology workers. If you are contemplating founding a startup, or are working on a project you'd like my thoughts on then feel free to drop me an email. I will do my best to get back toy ou, either directly providing advice or pointing you in the direction of someone more qualified.