Writing on software design, company building, and the software industry.

All of my long-form thoughts on leadership, software development, product design, business stragegy, and more, collected in chronological order.

Compliance for Startups

ISO27001, SOC1 and SOC2 are phrases that all software startups will hear at some point in their evolution. But when do you need them and what’s involved?

4 min read, 29.7k views

So You Want to Use LLMs in Production

Deploying LLMs in production requires careful evaluation, iteration, and considerations around privacy, cost, and scalability. This article dives into the essential checks before launching your model into the wild.

5 min read, 5.3k views

Key Considerations for Startups Securing Their First Investment

When a startup secures its first investment, it has to carefully navigate investor types, valuation, and term sheets to protect equity and maintain control. Aligning with investors on long-term vision, financial expectations, and company culture is essential for sustainable growth.

5 min read, 29.4k views

Dev Training: Top 10 Web Security Vulnerabilities

So the site’s live, but is it safe? Here’s OWASP’s guidelines for web security to avoid wrecking your day, and your users’ trust.

6 min read, 2.6k views

How to Create a Great Remote-First Culture

If career progression, starter mentoring, and project involvement requires chance meetings by a water fountain, you have bigger problems than people not being in an office

5 min read, 5.8k views

Outsource or In-House: How to Decide?

Every leader will have an opinion on whether hiring in-house or outsourcing is best. And even then offshore or onshore? From a cost perspective it might seem obvious, but there are many traps waiting for the leader who only sees pound signs.

6 min read, 1.4k views

Reducing Hosting Costs for Bootstrapping Startups

The number of cheaper services which have appeared over the past year can help a great deal to reduce costs for startups looking to bootstrap. But there’s no such thing as silver bullet so be sure to pass these to people who can properly evaluate them.

5 min read, 2.1k views

How to: Local Stable Diffusion

Running Stable Diffusion locally allows you to generate images efficiently while maintaining control over resources and customization. This guide explores setting up Automatic1111 and explains key concepts like LoRA and ADetailer.

5 min read, 1.1k views

What is Psychological Safety?

Are your team members holding back ideas because they’re scared to speak up? Psychological safety isn’t just about being nice, it’s about creating a safe space for risks and mistakes that goes a long way to helping growth.

5 min read, 1.7k views

Software is a People Business

In the world of software development, it’s easy to get caught up in technical solutions, but successful projects are built on relationships, collaboration, and people leadership. This article explores the human side of software.

5 min read, 2.1k views

Corporate Vision Videos, A Guilty Pleasure

For an optimist, there are no warmer waters to paddle in than videos of the future where technology has indeed brought about happiness and prosperity, even if the Seer has corporate intentions.

11 min read, 2.3k views

Dev Training: Common Data Structures

So you think you know data structures? Let’s find out. These are the building blocks every developer should know like the back of their hand.

5 min read, 3.2k views

Dev Training: Big O Notation

You don’t have to be a computer scientist to write the most efficient code, but knowing good algorithms from bad ones certainly helps.

7 min read, 4.0k views

Engineers, Meet Users

Everybody has good ideas. You never know which ideas will lead to a great idea. Focusing everybody on users and their experience helps to keep ideas grounded and applicable.

6 min read, 4.7k views

Dev Training: Patterns, Principles + Values

The best teams know how to talk to each other. They seek feedback for themselves and the group. They get on, enjoy working together and share knowledge.

2 min read, 3.8k views

8 Ways To Create A Good Team

A good team is a team that is productive. It’s a team that enjoys working together. It’s a team that works better because of every member in it.

4 min read, 4.1k views

How to interview software developers

Unless you work in HR, interviewing new employees will be something you do on top of normal work. It’s something that you do between project deadlines and other pressing commitments.

6 min read, 9.4k views

Action for Happiness: Exploring What Matters

We all want to be happy. Some say money brings happiness, some say it outright doesn’t. But everybody wants it.

3 min read, 3.2k views

Smartphones: Where Next?

This is a glimpse at where smartphones may take us and the new experiences they might allow.

8 min read, 4.4k views