We invite you to read Part 1 and Part 2 if you haven't done this already. A few days ago, Paul Graham had the following to say about our type of startup:
In an essay I wrote a couple years ago I advised graduating seniors to work for a couple years for another company before starting their own. I'd modify that now. Work for another company if you want to, but only for a small one, and if you want to start your own startup, go ahead.
The reason I suggested college graduates not start startups immediately was that I felt most would fail. And they will. But ambitious programmers are better off doing their own thing and failing than going to work at a big company. Certainly they'll learn more. They might even be better off financially. A lot of people in their early twenties get into debt, because their expenses grow even faster than the salary that seemed so high when they left school. At least if you start a startup and fail your net worth will be zero rather than negative.
Lesson 10) Listen to your customers
Some recent blog posts loudly taunt readers with titles such as I Repeat: Do Not Listen to Your Users. Of course, this is all just a blogging strategy as the end message is simply to spy on users to learn what they are doing with your software, not just listening to what they say they're doing.
Founders At Work informs us that a critical lesson when starting your own software company is to obey your customers, not your thick 75 page business plan. If they repeatedly ask for a module which you didn't plan for, and they're offering you money to build it, do it. It is not uncommon to read about companies starting out with a particular vision, building some internal tools to help them produce the target software, and ending up selling those internal tools instead. The original vision died, but they still built a successful company by being flexible and re-orienting their strategy depending on what the market dictated.
We lived this lesson first hand because our website was visited every day by independent store owners, looking for a particular piece of software. Even if they saw it was a solution for franchisors, they contacted us, wanting to purchase the software. We initially declined, but after thinking it through, we launched a side product targeted at independent stores. For our company, it's easy to spin-off products to target retail stores by cutting off all the integration built into FranchiseBlast. In our eyes, the product doesn't have the same value but, outside of the context of a franchise, it is a viable option. Who knows, we may branch into software for independent retailers in the coming years (but I prefer our niche :) ) For now, it's a simple sideline to fund our core development. We also confirm the fact that it takes three times as long to develop a product as it does to create it for a single customer.
Furthermore, because we're self-funded, I feel we have a competitive advantage over our VC-funded competition. Our competitors want to skip the flat part of the growth phase and jump directly into the areas of highest ROI. Generally, this means developing one-size fits all software with (if you're lucky) tons of configuration options. We're not attacking the problem in the same way because we're building our architecture organically, refactoring when necessary. In the end, we don't tack on features, we analyze franchisor business processes and produce good solutions for them (both from an engineering perspective and a customer satisfaction perspective). This added personalized touch and desire to adapt to their operating environment is our competitive advantage.
Lesson 11) Software Sales
Because we're a small startup lead by developers, and because we think it's good for us, our developers do a little bit of everything which includes helping out with software sales and marketing. One of our partners is our salesman for the larger projects, but we're still actively involved. We've launched a small software product as a sideline because we had been getting inquiries for it on a weekly basis. It's something we already had and could launch without taking precious resources away from our main focus.
Here are some of our conclusions, from our perspective. Simply put, put yourself in a position where people want to purchase something from you as soon as possible.
Pushing your product is very hard.
Sending emails to potential customers: this generally does not work. We never send out mass mailings; we've spent a few dozen hours navigating hundreds of franchisor websites and picked half a dozen that we feel we could truly help. The experience was enlightening because we could extract patterns from the our potential clients' websites. However, in 2008, getting replies for an email is much harder than it was a decade ago when we first started our web design business. Spam has ruined email for people like us who take the time to write precise, customized emails. Back then, people didn't get that many emails and took the time to reply. Today, most people don't take the time to reply.
Cold calling is an arduous task and although the return on investment varies per product and industry, it is an essential part of business. Anyone can do the job but even professionals find it hard on one's self-esteem. Persistence is key. For more tips, read this article.
The long tail effect is very real, people come to us.
An insightful (and motivating) book is Chris Anderson's The Long Tail. To summarize the book in a sentence relevant to this section, given the negligible stocking/distribution costs of software and the ease of which we can search through the very large selection of different software which can be found on the Internet, it is now possible to create profitable businesses by developing software that targets a very precise niche. Simply put, create quality software that solves a particular niche's problem and people will find you, thanks to the Internet. We've experienced this first hand and confirm it is true.
Reality is a bit more complex than a simple if you build it, they will come, because you need to need to know your niche, work on marketing, getting in the search engines, figuring out the right price, etc. A more precise (yet recursive) statement would be if you build and promote something worth buying, they will buy it. In any case, in our first year, we reinforced our preconception that it is much easier to sell software to someone who comes to you than it is to push your software to someone who's not interested.
Karma: the simple solution for software engineers
Work hard and build a quality product. Assuming you are working on something with a reasonably sound business model, you're number one priority should be your product. There are lots of things to think of concerning marketing and sales, and you'll slowly learn to understand them if you have an open mind. In most contexts, writing good software is much more difficult than learning the ground rules of marketing and sales. Work hard, be honest, be open minded, and good things will happen. (Also, keep an eye out for the many people who don't follow these rules and try to screw you! :))
Lesson 12) Finding Other People
Running your own business is all about contacts (pretty much anything is!). At some point or another, you'll need to hire someone, partner with other companies, and find people to sell your product or services to. The more people you know, the better it is. You need to know people (and people need to know you) to be able to grow. We spent the biggest part of our first year working hard, undercover, and this was one of our mistakes. We weren't really trying to be undercover, but we weren't doing anything for people to know we existed. It took us a while to bother throwing our website online because we were so busy with our projects. Bad decision. The sooner your website is online explaining what you do, the sooner it gets on Google and the sooner people start finding you. Today, our blog (even if our readership is limited) helps us find and collaborate with many other people. We weren't sure what to talk about at first (we still aren't!) but we're having tons of fun.
We just learned about Coworking last Friday and it's something really interesting! Here is a quote from the Wikipedia entry that best describes what Coworking is:
"Coworking is an emerging trend for a new pattern for working. Typically work-at-home professionals or independent contractors or people who travel frequently end up working in an isolated way. Coworking is the social gathering of a group of people, who are still working independently, but who share values and who are are interested in the synergy that can happen from working with talented people in the same space."
We have been working from home for the past year and it can sometimes become difficult to spend your days alone. We are communicating continuously inside the company, but sometimes you need to see people! Here in Montréal, we have Station-C that opened on February 4th 2008! It is definitely not as expensive as renting your own office and you get to see more people right away, to exchange and make new friends. When you work from home, the possibilities of making new friends at work are pretty limited even if you have 400 of them on Facebook!
Networking is definitely something every entrepreneur should develop. Here in Montreal we have the JCCM (Jeune Chambre de Commerce de Montréal / Young Chamber of Commerce of Montreal). Software engineers are not renowned for their social skills, but we're still businessmen so we have to make new contacts and meet new people! What is nice with the JCCM is that you can network with people who are in the same situation: they are starting new businesses and/or are working from home. You can meet people that have the same problems as you do and can collaborate to help each other. Furthermore, networking with people of the same age group may help you develop professional relationships that will last throughout your career. Networking is a crucial part of any business and can improve the way you solve problems because you know who to call when something happens. As with anything, finding a good balance is essential (you need to find more experienced mentors!).
Before launching our company, we worked on a short business case and participated in a Technology Venture Challenge. We didn't win, but it was a very beneficial experience because sitting down and thinking about what the hell you're trying to accomplish is a very rewarding process. We wrote the plan for ourselves, but we had the chance to talk to top technology entrepreneurs, investors, and business professionals. They helped us drill down and learn our strengths and weaknesses. Recently, we wanted to repeat the process and found a local full-length business plan contest. Again, the contest is a simple external motivation to get things done by a particular date but we're doing it for ourselves. Hopefully we'll get to meet more interesting people and it will allow us to grow as businessmen. We strongly recommend writing a business plan, but only if you're going to do it right, for yourself. If you're going to botch the process, don't bother. The most valuable part is the forced introspection; if you skip that, you'll simply produce a useless 50 page document.
We expect hiring to be our next challenge and are very inspired by Joel Spolsky's book on hiring. We're not too sure how applicable his strategies are in the first years or when you're not located in a metropolis, but it is good to have something to aspire to. We expect to grow the team at the end of the year, and we're already looking for great candidates. Interested? :)
Conclusion: Infinite Number of Lessons
We could ramble on and on about things we learned during our first year. Simply put, the number of lessons are infinite. We did perfect our technical skills but we did most of our learning in other areas.
Here are some lessons we could have talked about but chose not to:
- Keeping up to speed with technological changes
- How automation/scripting helps you save time
- Don't forget the legal issues! Contracts, open source licenses, copyright, trademarks, etc.
- The importance of a great web hoster
- Versatility is key
We may post other lessons in the future, but for now we plan on creating a few technical posts with sample code. Be sure to let us know what kind of posts you like to see on our blog!