Everyone codes
May 7, 2025

At Briefcase, we are product-obsessed. That means we deeply care for our customers; every team member provides customer support, everyone contributes to our product roadmap, and, crucially, everyone, including our commercial people, codes.
It’s never been easier for commercial people to ship
Modern coding tools have radically reduced the barrier to contribute to the core codebase. Editors like Cursor or Windsurf don’t just supercharge engineers, but also enable everyone, even people with no coding experience, to ship.
Commercial people have an excellent understanding of the customer pain points, recurring themes in customer conversations and customer blockers. They, however, don't always have a technical background and may not have yet developed enough technical intuition on how feasible it is to address some of these findings, which typically results in wider conversations between commercial and technical people about feature requests, priorities and timelines.
We believe that there are multiple areas where commercial people can just ship and this conversation can be significantly expedited:
Frontend changes - visual feedback loop is immediate and quickly validates the idea
Prompt engineering - domain experts can think about the problem from first principles and articulate it very well within the prompt
AI agent tool use - extending AI agents with custom business logic further enables addressing cases where prompt engineering falls short and is a perfect match for domain experts to tackle
Evaluation functions - commercial people are very well positioned to enrich datasets with customer edge cases or newly learned recurring patterns and then run evals on top of them
Here are few of Reuben’s UI changes that introduced an entirely new FE component, used it in multiple places, and refactored other UI bits:

Shipping expedites learning and increases motivation
The best way to learn is to do actual IC work, there’s no substitute for making mistakes, seeing them reach production, and acting on them when customers report issues. Coding is the fastest way to close this feedback loop and, with the right tooling, it accelerates learning. Moreover, it delivers that rewarding feeling of solving a problem, especially when customer love comes in, like this one:

We believe that getting rewarded for work well done is a prerequisite to a high performing company.
Here are a few things that we do to help everyone get rewarded:
Recognising work both internally (of course we have a #wins channel 💪) and externally (we have a direct communication channel with every customer which we also use to send and receive love ❤️)
Maintaining a peer group everyone can look up to
Blameless culture. When things go wrong, we jump on it and fix it asap. Optionally, if the issue was complex enough or requires next steps, we generate a post mortem with actions to take
And, importantly, having a culture where everyone ships
We avoid:
Being scared to ship and delay progress
Restricting shipping to 'engineering team only' or having a concept of a 'code freeze'
Coding builds comprehension that context can't
We aim to be a high-comprehension company, not just a high-context one. You can’t develop commercial intuition without attending sales calls, and you can’t develop product intuition without writing code, especially in AI-native products, where what’s possible is often driven bottom up and requires deeper understanding of available models and their capabilities. Technical hands-on work helps everyone to test the edges of the product and see it’s limitations, which is necessary to build deeper product understanding where context sharing falls short.
Here is an example where previously shared context wasn’t enough. Only after diving into the code himself did Seb hit the “aha” moment:

Coding creates alignment and removes process
As team members build more and more comprehension of how the product works and the company vision, the need for planning, sync, retrospective, and similar meetings drops. They’re a bug, not a feature. Alignment instead happens organically through IC work and by having a seat at the table when core decisions are made.
We follow this simple process:
daily standup
prioritisation session roughly once a month, timed to when a project batch finishes
No other process is needed. When there’s a gap in commercial comprehension, we attend or watch sales calls. When there’s a gap in product comprehension, we code. And then we code some more, because it’s fun!
Here is what AI has coded for us last 30 days:

Useful setup to enable everyone to code
AI code editor
This is a must-have, we use Cursor as we like the Tab feature in Cursor much more compared to Windsurf.
Monorepo
One repo, the fewer programming languages the better, we use TypeScript everywhere. Fewer things to learn and set up!
Tests & evals
Shipping with confidence means testing business logic (conventional tests) and LLM logic (evals).
Low barrier to release to production
No staging environment. The default path is to merge straight to production, pull requests are the exception, not the rule.
Everyone coding has helped us to solve problems faster, build team alignment and motivation more organically, have lean process and support our customers better which is what we think product obsessed teams should optimise for.
—
If you are excited by joining product first company that is serious about building, we are hiring Founding Product Engineers. Please apply to jan@briefcase.so.
We are hiring!