What I do

I think the world has enough e-scooter, ad-selling, and food delivery conglomerates. I've stayed as a freelance developer for the last 10 years because I want independent, imaginative, and worthwhile projects to be able to access the same development resources as large tech companies.

For new projects, I typically develop products and services from the concept to public release, and advise on technical matters. The project could be as small as a standalone app, or the entire infrastructure for a tech company.

For existing projects, I can use my broad experience to jump into a team at short notice, to provide additional development muscle or specialised expertise.

I audit and review existing software, and give technical interviews to potential team members. I've interviewed the future CTOs of multi-million-dollar companies.

I don't work through recruiters; you can talk with me directly.

Engineering approach

In my view, technology has advanced to the point where its capabilities are almost limitless. As such, most restrictions are no longer technical in nature, but organizational. That means that nurturing and maintaining a positive, harmonious, and high-performing team is more important than the technology itself. We're all experts in our own fields; the development process should be about clearing the way for each other to do our best work.

From a technical perspective, building software feels like building an intricate physical machine. It should be composed of interchangeable modules, which can be improved and fixed individually without changing or knowing the entire system. This approach also suits business needs; new features can be immediately set to work, instead of waiting for some future dependencies to be ready.

Competencies

My StackShare profile has a list of my preferred languages and platforms. It's not an exhaustive list; ask me if you have questions.

I also have a hardware lab for AI, hardware prototyping, debugging, and firmware development.