profile

Tech Guidance for Non-Technical Founders

A daily newsletter on building software products for non-technical founders. Give me two minutes a day, and I’ll help you make technical decisions with confidence.

Accuracy or AI

If you're thinking of including an "AI chat" interface in your app, it's important to know it will sometimes return incorrect information or straight out nonsense. These are know as "hallucinations". There are ways to constrain the output and augment the model's "knowledge" but this can still occasionally happen. While people kind of expect this and tolerate this from free options, they won't feel the same way when your paid app provides unreliable info. Rather than including this because...

Sink or swim - a hiring method

Hiring can be nerve-wracking. The process is arduous and deciding to start the relationship is often a process that is done mostly blind. My rule when hiring contract developers is that they must work on a paid trial task as the last step in the process. Once you’re happy with the initial checks (communication skills, code/work samples, experience, rate, etc) the next step is to choose one feature and have this person build it. They will need time to assess the feature and the existing code,...

Technical debt is fine

... if it aligns with business strategy. As a junior developer, I worked at a startup on web apps with the worst code you've ever seen: Files with over 5000 lines of code Hard-coded values repeated all over the place Minimal use of functions Interpolated HTML. 🤮 Of course I tried to fix what I could but in these startups everything was high pressure and only new features mattered. The apps were painful to maintain and changes took 5-10x longer than they should have. Yet some of these served...

What should I build next?

The order in which you build things matters less before you have any users. Assuming you have a clear idea of what will be valuable to your customers, you just need to build it as fast as possible, without sacrificing quality. After launch, you'll typically start getting feedback and feature requests from customers. You'll take the best (or loudest) suggestions and refine them into well-defined user stories. Then they go on the backlog. So, let's say you have three seemingly equally valuable...

Should you worry about competitors?

Following on from yesterday's post about an urgency mindset, I saw a related social media post this morning. In this post, a founder describes that he is developing a booking/CRM app for the food industry. He's been working on it for quite some time, with the goal of adding as many features as possible in an attempt to ensure it aligns with the ideal customer's needs. A competitor has released a similar app, but it is of lower quality. The competitor's app is targeting many other popular...

Urgency vs Discipline

Today I saw a social media post aimed at founders. The poster was saying that your general framing of your daily activities should be that everything is urgent. As if you’re running out of money. You do need to be driven. You do need to be focused on making progress every week, and preferably every day. But thinking and acting as if this is your last chance is a recipe for burnout. Good decisions are not made in this mindset. I’d rather look at it as the need for discipline. You have an idea,...

How to deal with feature creep

When working on a new software product many people struggle with feature creep. This is where you feel that it’s necessary to keep adding features. It’s easy to be swayed by things you see other apps doing, or by conversations with potential customers. I think a lot of times this urge comes from the fear of losing a customer who “really needs that feature.” The truth is that each thing your app does requires development, maintenance, support, documentation, training, and so on. And estimates...

Hiring developers? Check GitHub first

When interviewing a developer they may sometimes provide samples of their previous work for review (where an NDA does not prohibit this.) This can be effective however it's difficult to know if they really worked on it and, if so, how much they did and how much was done by others on the team. This is why I value a developer's open source contributions more than past projects. It's virtually impossible to fake open source contributions. Working on open source projects can be difficult and...

An intentional bottleneck

When you’ve validated your product idea and are ready to build your MVP, how many developers is optimal? While it may seem that the answer is “the most I can afford”, I would argue that just one senior developer is optimal. It may seem that this is creating an intentional bottleneck. In a sense it is, but there are good reasons for this. And it’s important to understand that I’m talking about this within the context of creating an MVP. During MVP development, it’s common for requirements to...

Productivity Starts with Organisation

There’s a common idea that your work environment needs to be neat and tidy in order for you to be fully productive. I’ve seen genius come out of shambolic environments but for most people this is true. And it makes sense: less distractions less time spent finding things you need less time spent filing things for later A software development environment is no different. You and your team share a work environment. To keep it in order there needs to be rules that everyone follows. Here are some...

A daily newsletter on building software products for non-technical founders. Give me two minutes a day, and I’ll help you make technical decisions with confidence.