Small is Powerful
We can achieve great things not in spite of our small size, but because we are small. Our small size means that we can respond quickly to dynamic situations. We don't have to wait for approval on important decisions. We see one another as people, not just positions on a team.
Communication is the Most Important Skill
Your ability to listen, understand, and communicate is by far your most important skill. Of secondary importance is your ability to communicate in a manner that's appropriate for the message.
Studies have shown that even a small interruption can derail your concentration. It's also important to keep open the lines of communication, and not "go dark" for too long.
Meetings are Toxic
What is the goal of any given meeting? Communication. Is a meeting the best way to communicate? Sometimes, but usually not. Instead, we choose the best communication medium to match the message. It could be chat, email, phone, or even commit messages pull requests, or discussions in the issue tracker.
Half, not half-assed
Better to launch half a product than to build a half-assed product that nobody wants. Or worse, to spend too much time building and never launch.
If what we’re building has value (e.g. people are willing to pay for it), then we keep building. If not, then we pivot and build something different. As we build, we run experiments to see if we’re building the right thing.
Building software always entails risk. Our job is to minimize risk for our clients. To do that, we start by building the smallest possible piece of any project.
Embrace the Majestic Monolith
Microservices are en vogue. But using monolithic architecture, where the whole app is on one codebase and everyone works on the same interface, means we can make a lot of progress really quickly with a small team. Monolithic architecture is easier for a small team to build quickly and maintain in the short term. It's easier to launch a monolith than a system of micro services.
Validation trumps everything
By "validation", we mean "people are willing to pay for it".
Money is the only true form of validation
Beta users, followers, email signups—those are all vanity metrics. They look nice and make you feel good, but you can't take them to the bank. The only way to be really sure you're building the right product is to see if someone will pay for it.
Startups need to be profitable. Like, NOW.
That's why our number 1 goal is to help our clients get their first customers.
Ask the right questions
Sometimes building the right product comes down to asking the right questions. Questions like: "who are your true customers", and "what does success look like" can cut to the heart of an issue.
Value, not hours
Hours are not the best measure of productivity, nor of value. That is why we do not track our working hours.
The Golden Rule
In Managing Oneself, Peter Drucker says that "manners are the lubricating oil of an organization". As an organization, we treat one another, and our clients, as well as we would like to be treated.
Done Right is Better than Perfect
Many a startup has sacrificed itself on the altar of perfection. Getting things done right, on the other hand, is essential. We strive to build the right product to solve the right problem for the right customers. Pixels can be polished later.
"Sawubona" is a Zulu greeting that translates to "I see you". But it means far more than only seeing someone with our eyes. The implication is that “I am here with you; I acknowledge your value; my attention is turned to you; I seek to understand you.” We desire to acknowledge one another’s value, to be fully present when we are together, and to understand one another first, and only then to be understood.
Do the Dishes
"Every small change turns the tide and leaves the codebase better every time" — @DHH