Current job title: "Software Developer | Agentic Engineer | AI Systems | Tech Lead | Team Lead"
"I am constantly learning and improving."
Updated 22 March 2026
My journey to software development
A long time ago I compiled my first program and found joy. Since then, I have worked with countless programming languages and technologies to build and deliver solutions in various domains. I enjoy building software. I particularly enjoy creating software that makes use of Artificial Intelligence.
How I work
I have an interest in the "future-proofing" of software, which generally means "preventative maintenance", or building adaptable solutions. I've also found that small effective teams of 3-5 people will always deliver more working software than individuals. It's worth noting that working software is the best measure of a software developer's productivity.
Quick stats
- 10 years professional software development experience
- 20 years total software development experience
- 50,000+ hours of computer experience
- 50+ projects delivered
- Microsoft Certified: Azure DevOps Engineer Expert (2021-present)
Ways of working
- Full software development life cycle in small teams
- Full stack development and customer engagement on multiple concurrent projects, as well as delivery (DevOps)
- Design and build both one-off projects and long-lived systems
- High trust / high autonomy roles e.g., agile, continuous delivery
- Balancing features and timelines vs testing and technical debt
- Leading role in mentoring, hiring, security initiatives, incident management
- Advisory role in company-wide strategic initiatives such as technology stack and culture
Credentials and Technologies
- BSc. Computer Science, University of Otago
- Web apps built with React / Angular / TypeScript / ESLint
- APIs built with C# / .NET
- Databases built with T-SQL / SQL Server / Cosmos DB
- Systems built with CI/CD, safety to experiment
- Delivery with both the customer and dev teams in mind
- Prototyping using Python
- Lots of AI tooling, but carefully
More about Blake
I've been using computers and technology for over two decades. I enjoy taking ideas and making them reality—computers help us do this and achieve more in less time. This includes a strong interest in applied Artificial Intelligence. E.g., "smart" behaviour of agents in systems.
I have a background in Windows, Linux, and Mac technologies, and many programming languages and paradigms.
Currently, I am a full stack .NET / C# developer with a focus on Azure. I work in web, mobile, and back-end / integration spaces. On personal projects I tend to mix computer vision and automation. I also explore and implement AI techniques such as GOAP (goal-oriented action planning) "from the literature", which is technically challenging and rewarding.
As far as tools go, I'll use anything from Vim to Visual Studio (specifically: Visual Studio Code with Vim extension...). I find Python a good fit for exploring small data sets and solving simple textual problems. Modern software development is broad: limiting yourself to a favourite tool is a bad idea.
I've gained a lot of knowledge over the years, and countless people have helped me solve problems. Without certain question-forums and blog-posts, I'd have had a much harder time.
I'd like to help accelerate more people in the same way, by posting about local events, technical quirks and foibles, and bug-hunting stories.
In any typical day I'll work in some or all of the following areas:
- Planning and design: Manage the execution and delivery of a project at all levels e.g., crafting the vision and architecture, to leading meetings and driving measurable progress through a backlog
- Build: Extend / fix / improve existing systems: APIs and databases, websites and mobile apps. Success is driven by best-practice techniques honed through learning from the collective wisdom of the industry.
- Test: Lead and implement test case automation frameworks, validating user acceptance criteria.
- Deploy: Risk-managed updates to systems used by 10-10,000 people. Design, build, and execute automated release/rollback processes.
- Monitor: Proactive maintenance of production systems including custom tooling for log analysis and threat/anomaly detection.
I'll also make time to work with team members to help with generic analysis. Might have a few customer conversations e.g., regarding generic business requirements. Could have some proactive or reactive issue management to work through, including root cause analysis. Scattered throughout would be short breaks for coffee: the kitchen is a great place to find the "Aha!" moments.