This is the full text of the talk I gave at BubbleConf 2013.
Hi there, my name is Thijs van der Vossen. I’m a designer and a developer.
I have to warn you before I get started. This is going to be pretty boring. I’m strictly going to talk about business only.
Feel free to leave the room in case you were expecting something more exciting.
There will be plenty of time to ask questions at the end, so please save anything that might come up for later. Also, you can always reach out to me on Twitter or send me an email.
Anyway, let’s get started.
I run Fingertips, a consulting agency based here in Amsterdam.
At Fingertips we build web applications and we make iPhone and iPad apps. Our clients range from small businesses to large multinational corporations. We often do full projects, but we also regularly build complex components, or we work on improving performance, reliability, and overall architecture of existing applications. Every now and then we help startups build and launch the first version of their product, after which we support the transition to an internal development and design team.
Recent work we’ve done includes the Wolters Kluwer Annual Report iPad app, an iPhone app for the GaultMillau restaurant guide, the Swiss Car of the Year website, an iPad-optimized web app for Robeco to present their updated corporate identity, and a web-based magazine reader for Schweizer Illustrierte.
We’ve helped 37signals improve the reliability and performance of their Highrise iPhone app, we made the backend platform for Zady, we helped build the publishing backend for the NRC Reader, we added some of the more complex features to Freckle Time Tracking, we wrote the functional testing layer for RubyMotion, we added payment integration to Nedap’s Caren, we’re doing Rails work for Viewbook and we made their mobile gallery viewer.
How I got started
I started out doing web development in the late 90s when I was studying Psychology at the University of Amsterdam. I got hired there as a student assistant on a research project. One of my tasks on this project was to build a web app that helps first-year students evaluate and improve their study skills.
Around the same time, I also started working part-time as a developer at a full-service web agency. The people running this agency didn’t do a very good job managing the projects they brought in, and I quickly ended up in the role of lead developer as well as project manager on a big job for an e-commerce startup.
This might sound cool, but it really wasn’t much fun at all. I was still a student, so I didn’t have the time to work full-time. I was also still getting paid as a junior programmer. The client sometimes called in the middle of the night.
Shortly after the project launched, I decided to quit and to start working freelance. I figured I would make more money, and I would get back control over my working hours.
Also, having seen how this company was managed, running my own business suddenly didn’t seem like a big deal anymore.
I got my first contract signed in November 1999, sent out my first invoice in January 2000, hired my first employee in May 2002, and got married in 2004.
By the way, at this point I’d like to thank my wife for naming the company “Fingertips”.
Our son was born in early 2005, we changed from a proprietorship to a limited liability company in 2007, then our daughter was born in the summer of 2008. In 2012 we hired our fourth employee.
I’m sorry for rambling on like this, but I wanted to make sure you have an idea where the advice I’m about to give is coming from.
The single most important thing for any business is the customer. Only because your customers are willing to pay for your product or service, will you make money. Without the customer, your business cannot exist.
How you find customers depends on the product or service you offer.
We primarily do consulting, so our customers are always other businesses. Most of our customers are referred to us by others, some find out about us because of something we made, or because of something we wrote.
If you’re selling a product, you will probably need to do something slightly different.
What does apply to both cases is that you can get very far with telling your friends about it and then relying on word of mouth.
Talk and write about what you do. Be honest and give away some free advice. Blog and use Twitter.
This might not be true in all jurisdictions, but over here in The Netherlands there’s absolutely nothing you need to do before you can start a business.
You do not have to register with the chamber of commerce, you don’t have to set up a business entity or get a VAT number. You don’t need an office, or a website, or stationary, or business cards. All of that stuff can be taken care of later.
The only thing you really need to start is a customer.
Don’t waste time or money on stuff you don’t need now.
Having said this, I do recommend you do take taxes into consideration. Either make sure to figure out how much tax you’ll be due by the end of the year, or play it safe and put half of the income from your business aside for now.
One thing you probably already know is that it’s now much easier than it used to be to set up a BV (that’s the Dutch version of a limited liability company).
If you’re planning to build a product, you might want to consider offering it as a consulting service first. You’ll have to get customers and your business will start making money immediately. You can then use the experience doing this to figure out which of the services you provide make the most sense to invest in and build as a product.
Never start work on a consulting project before there’s a clear agreement in place signed by you and by your customer. The agreement should describe the work to be done in terms of deliverables, milestones, and duration, the advance and your fee, and the payment terms. Don’t forget to include what you need from the client, and what happens when the client doesn’t fulfill its obligations.
Ideally, refer to your general terms and conditions so you can keep the agreement concise.
If the potential client comes back with a lot of changes, you should discuss these with your lawyer first.
Walk away if you feel your potential client is being unreasonable. You’ll probably save yourself a lot of trouble.
Sometimes, a potential clients might offer a “supplier agreement”, or might ask you to accept their “purchase terms and conditions”. This is a sign they’re not taking you seriously. Don’t ever accept this.
Sooner or later you’re going to need a lawyer.
Even though you can get decent examples of agreements and of terms and conditions from the chamber of commerce or from your industry association, it might be better to find a lawyer you trust to help you write your own terms and conditions, and to set up a standard agreement you can use for most projects.
When you’re in a meeting or conference call with your client, and you discover they have their lawyer present, you should friendly but firmly insist on rescheduling at a later date when you can take your lawyer with you as well.
Never talk to the client’s lawyer directly, have their lawyer talk to your lawyer instead.
Lawyers aren’t cheap, but not using one when you should have will end up being much more expensive.
Try not to get sued. Immediately get your lawyer involved when someone threatens you with legal action. Then have your lawyer try to work it out.
Don’t ever ask people to sign an Non-Disclosure Agreement. Nobody is going to steal your idea. Also, forget about patents for now.
You can safely sign an NDA if people ask you to, but first make sure it’s limited to mutual confidentiality only. NDAs are often too far-reaching. Some might for example try to trick you into agreeing to IP transfer up-front.
These days, I always say that I’m happy to sign an NDA, but that we already have an article on secrecy in our general terms and conditions that might be sufficient. This often makes potential clients put their NDAs away unsigned.
There should be more money coming in than going out.
Accounting of course isn’t as straightforward as this, but thinking about your profits in terms of income minus expenses prevents nasty surprises, especially early on.
If you do consulting, you should never go into debt.
Always insist on an advance before you start any consulting project. Send the advance invoice immediately after you’ve received the signed agreement. An advance equal to 40% of the estimated project fee is entirely reasonable.
Keep your payment term short. This way you can start sending invoice reminders early. We use a payment term of 14 days even though we often end up having to wait much longer, especially with bigger clients. We don’t make a fuss about this, but we do start sending reminders. This prevents payment from getting delayed even further when the client has “forgotten” about the invoice.
Send an invoice for the work done every four weeks while the project is ongoing. Apply the advance from the last invoice or invoices you send under the agreement.
Basically, invoice early and invoice often. This helps you maintain a healthy cash flow where money comes in regularly.
First of all, don’t quit your day job until your business is generating enough revenue to pay your salary. Then wait some more.
It might make sense to borrow money if you’re building a product, but I recommend you try to avoid this. Ideally, you should bootstrap a first version of your product, get customers, and then use your revenue to improve the product and grow the business.
Revenue is by far the cheapest capital you can get.
If you want to borrow, try friends or family first and only go to the bank when that doesn’t work out. Never take VC or angel money unless you’re absolutely sure you know what you’re doing.
Never go into debt personally. Keep at least 3 months worth of savings in your private account. This will allow you to say “no” to things you don’t want to do. It’s really not fun to have to accept everything that comes your way.
Make sure the invoices you send out contain all the information that’s legally required. Number them sequentially.
Keep all the receipts and invoices for your expenses in a binder ordered on date.
Then find a small accounting firm you trust to take care of everything else. This will save you a lot of time and money.
Don’t price too low. Most people do, especially when they’re starting out.
For consultancy you should charge an hourly rate on a time and materials basis.
Don’t agree to a fixed fee unless you’re sure you can deliver what you promised in a way that’s profitable for you. Multiply the time you expect to spend on the project with your hourly rate and then add some on top. Remember that you’re very likely to underestimate.
One thing that can make fixed fee agreements safer for you is to include an upper limit for the number of hours you’ll work on the project.
Remember that cost, scope, schedule, and quality are interdependent. You can’t expect to change one of these constraints without affecting the other, and there are physical limits for each of them.
Always track the time that you work on any project, even if you don’t bill by the hour. This data can provide you with a lot of valuable insight.
Never lower your rate or give a discount because your potential client thinks your hourly rate is too high.
I don’t have much experience with partnerships, so I can’t really give any solid advice on how to start and run a business together with partners.
You should probably keep things simple, make sure everyone’s roles are clear, and divide equity fairly. Also make sure you agree on how you’ll deal with differences in opinion, who has the final say, and how partners can get out if they no longer want to participate.
Don’t go looking for co-founders if you don’t already have one. It’s better to do it alone than to start a business with people you don’t already know and trust.
These days you don’t need a technical co-founder or CTO if you don’t have the expertise yourself.
What I’m about to say is a bit self-serving, but you really are better off hiring a good freelancer or an agency such as mine to build the technology for you.
The people you’ll attract when you go looking for someone to fill a role like this are simply not going to be as good and experienced as the people who’ve been able to build a business selling the services you need.
Don’t hesitate to hire freelancers or agencies when you need help, but only if you can afford it. Trust them like you would trust yourself, but only as long as they deserve it.
Don’t ask for a discount because you’re a startup. You’ll get what you pay for.
Don’t try to barter equity for development, design, or other services. You’ll get what you pay for.
You can always keep the first project small so you can see how things go before you make a bigger commitment.
Try to hire people who can organize their own work and who don’t need a lot of guidance.
A good way to find out if someone might be a good fit is to hire him or her for a short freelance project first. This way both of you get to experience working together before you make a commitment.
Don’t hire before you can actually pay people. You always, I mean always want to be able to pay their salaries. On time.
Keep the employment contract simple. Don’t try to compete with big organizations in terms of benefits. Offer a good salary and make sure people in the same role make the same amount of money. Try to avoid salary negotiations, just make them a good offer and explain the benefits of working for you.
Be flexible with working hours. Trust people to work the hours you’re paying for. Let them keep track of their own vacation days. Allow them to work from home.
Keep sane working hours. Overtime should be a rare exception. I’ve never asked an employee to work overtime.
You can’t really fire people over here in The Netherlands like you can in the US, so I don’t have anything to say about this.
Don’t wait too long before you correct people who misbehave.
Finally, keep in mind that you’re free to define for yourself what you consider success or failure.
Things will go wrong. Don’t dwell on it.
Try not to work too much. Don’t worry too much.