Archive for September, 2006

Startups for the rest of us

Like thousands of other software developers, I have read the majority of Paul Graham’s blog both past and present. He’s a fantastic writer. He has great insights into software startups and building a startup
software company. I even went to one of the Startup School
presentations that he helped organize at Harvard last October, and you
know what?

I was sorely disappointed.

It occurred to me that Mr. Graham has a huge following of developers who all want the same thing. They all want to know how to start a company, get VC funding, sell the company, make millions and retire at a very young age. It’s a worthwhile goal, and I don’t blame anyone who makes the attempt. Paul and several of his colleagues even started Y Combinator, which is essentially an early stage investment group for software developers who want to make the attempt. If Paul and the other Y Combinator owners think your idea has merit, they’ll fund you and up to four of your colleagues with $6,000 each for 12 weeks to work on your idea.

Unfortunately, there’s some fine print.

First, you have to move.
You and your co-founders are asked to relocate to Cambridge, MA for three months during the summer or the Bay area during the winter so that you can work on your idea and interact with the people at Y Combinator. Doesn’t seem like a big deal.

Next, you have to be willing to give up around 6% of the company.
Again, nothing major. If you’re going for VC funding, you’ve already come to terms with the fact that you’re going to give up roughly 80% ownership over multiple rounds of funding.

Third, you have to be selected.
This is the part which you have very little control over. Y Combinator only accepts a handful of groups twice per year. My best guess is that the actual number is probably less than a dozen groups per year total. At the Startup School presentation I went to in Cambridge, the auditorium was packed to the gills. There were people sitting on the stairs so they could listen to the presenters. This was more than a year ago. With all the publicity since then, I’m betting that the field of competition is pretty fierce.

Overall, the Y Combinator program seems like a great deal until you do the math and take the fine print into consideration. Then you realize that there are vast numbers of developers who simply couldn’t participate in the Y Combinator program, even if they wanted to. The entire program is geared towards developers who are young and don’t have anything to tie them down. If you have a mortgage, it will likely be difficult to manage an apartment in either the Bay area or Cambridge while still paying your mortgage. And to get that mortgage, you had to have a job, which you will need to quit in order to take this chance. And don’t delude yourself; you are taking a chance.

Are you married, or involved with someone? Well, you’re going to be gone for the next three months. You’ll be gone for much longer if things go well for the business. If you’re married, it’s going to be a hard sell to the wife (or husband) that you intend to quit your job and move away for 3 months at a minimum. I suppose this might be a good time to get divorced if you were seriously thinking about it.

All of this begs the question that myself and thousands of other developers have probably asked themselves.

“What about me?”

I’m going to let you in on a little secret since I believe I’ve found the answer. You don’t need Y Combinator.

Go back and reread that because it’s important. I’ll wait.

Ready? Good.

I mean no disrespect to the people at Y Combinator but given that they’re ignoring the rest of us, I think they’re going to understand. They’re running a business and are targeting a specific group of developers because they think it is the best target audience for them. Any business needs to segment the market and target its members aggressively to do well. Y Combinator is no different. They openly state that although they originally had benevolent intentions, it is not a charity. They expect to make money on their investments.

But the requirements that will come as part of the offer leave a hollow feeling for the rest of us who can’t uproot our lives and shirk our existing responsibilities for a chance like that. What if you’re a little bit older? What if you have already graduated from school, maybe bought a house, moved in with someone, your student loans have kicked in, or can’t live on $2,000/month for one reason or another? What if you have kids? Then what do you do? Shirking responsibilities like those is just not cool my friend.

As I said before, you don’t need Y Combinator. It would certainly help to be associated with them because you can never have too many business contacts, especially people who know people. But the fact is, if you’ve got what it takes to make it big with the Y Combinator program, you can make it big on your own, too. It’s just likely to take a little bit longer and will be a bit more work.

Last August, I spent the money to incorporate Moon River Software and since October I have worked for my new company full time. Approximately 10 months later, I have an office in downtown Worcester, a decent list of clients, a great deal of incoming work, enough money in the bank to survive with no income for the next six months, and am currently looking to hire additional help to keep up with the workload.

All that and no outside investment capital. I did have a chance to accept outside investment early on and I never actively pursued it beyond the initial stages because I wanted to be the master of my own destiny. That’s the reason I started the company to begin with.

I could certainly continue with my accomplishments thus far, but I fully believe I would inadvertently cross the line from being proud of how far my business has come and waltz into the realm of bragging.

What I’m really trying to accomplish with this article is to illustrate that anyone can do it. I don’t think you need to be a hotshot programmer who can do crazy hard things like write a compiler to translate C into Lisp. You don’t need to “know the right people” to be successful, although I won’t deny that it would help. In fact, there are only three things that you really need to get a software company off the ground and build it into a successful business.

First, you need to be dedicated.
If you don’t tend to follow through with side projects you’re never going to make it as the founder of a new company. Building your company needs to be at the front of your mind. It doesn’t need to be at the top of the list mind you, but it needs to be in the top five in the same slot that a real job would be. Putting family first is fine, and in fact I would encourage that. You’re going to need a motivational support group anyway. Just don’t expect them to understand in any way, shape or form what you’re going through. The bottom line is that if you’re starting a business because you want freedom, you’re going to have to sacrifice a lot of it in the beginning

The second thing is you need to be a decent developer.
You don’t need to be in the top 1% of the world, but you need to be decent. I’ll be honest and say that this is really hard. Not because this is governed solely or even mostly by innate ability, but because it is governed first by perception and then by ability. We developers are an arrogant lot, and it’s difficult to look at things that other developers have worked on and think that we couldn’t do a job that was equivalent or better, hence our perpetual desire to rework and rewrite what we consider to be ‘bad code’. During interviews, we make snap judgments based on 30-120 minute conversations that sum up the career experience of a total stranger and inevitably determine that the person is either not as good as we are or is equivalent to our experience. It’s difficult for our fragile egos to fathom that a complete stranger could be a far better developer. This is why nearly every developer describes themselves as an ‘above average’ programmer. A more accurate measure than the people you interview is your peers. If you find that you can hold your own in a group of your peers who have about the same level of experience that you do, then you should be alright. If not, you’ve got your work cut out for you.

Finally, you need a little bit of money.
You didn’t think you’d get away that easy did you? It takes money to make money. Anyone who tells you otherwise is selling something. Whether it’s hardware, software,internet access, phone lines, office equipment, paper for your printer, pens, notebooks or whatever. You’re going to need a little bit of money. If you’re planning on quitting your job outright to attempt starting a business, you’re going to need a lot more money than if you worked on your new business in your spare time. If Y Combinator can invest just $6,000 per person, chances are good that you can build a company with less than that.

If you can manage just those three things, you’ve got what it takes to build a successful software business.

Special thanks to Rob Walling for reviewing drafts of this article.

Default Passwords aren’t safe?

I just read a Wired news article that illustrates yet another case of blatant security stupidity. It turns out that some ATM’s used by a specific vendor were configured without changing the default passwords. This allows you to essentially reprogram the ATM machine using nothing more than the ATM screen and a copy of the manual.

As yet undiscovered crook programmed the ATM machine to recognize the $20 bill tray as $5 bills, used a prepaid credit card, and walked away with a 300% profit. Most ATM machines allow you to withdraw up to about $300 per day. That means you could theoretically make $900 per day from a single machine. Within about 2 hours, you could probably hit 10 different ATM machines and walk away with about $9,000 in profit. I make good money as a consultant, but I certainly don’t make $4,500/hour!

All of this is assuming you’re never caught. If you’re caught, well it’s because you’re an idiot and didn’t realize there are cameras in the ATM machines these days, or you left your fingerprints on the card and threw it away in the basket right next to that ATM, or you didn’t wear glasses, a fake mustache, hoodie, and 70’s style sunglasses a la the Unibomber. It’s very stylish these days. You should try it.

In fact, just walking around a major city you’re likely caught on anywhere from from five to fifty surveilance cameras from gas stations, ATM machines, convenience stores, traffic lights, etc. Chances are you can’t be positively identified from any one of these sources, but if “the man” knows you were in a location at a given time, just looking at all the surveilance tapes of the surrounding areas would show where you had been recently and give a good idea of where you’re headed.

But I digress. The point of this is about security stupidity. These people run ATM machines. They deal with cash transactions. Isn’t there a security policy in place? Don’t these people audit their ATM machines for strong password sequences? Security isn’t exactly new. Electronic passwords have been around for some 30 years now. Yet as you can see, people are still not changing default passwords. Save us Obi-wan Kenobi. You’re our only hope!

Office VPN: The Network Strikes Back

Well, a week or so after getting my VPN up and running I’ve found myself out on the road at a very large client. Attempting to put my newly created VPN to good use has yielded some problems though.

It turns out that I didn’t set up the WINS or DNS server properly when I made the VPN. I’m not sure which. I haven’t had time to look into it yet. In any case, when I log into the VPN, DNS is not putting my computer into the network properly so that I can access the other systems.

Fortunetely, the DHCP server is also my VPN server. It has a static IP, so I can use Remote Desktop to browse into my server, read the list of IP addresses that have been handed out through DHCP, and through trial and error do everything I need to do. Although this works, it would be much simpler if I could simply access all of my computers by name instead of hunting for the IP and guessing at which machine is which.

Maybe when I come back this weekend I can try fooling around with it. I’d hate to mess with it remotely, have something either lock up, go down, or be screwed up and not be able to get in at all. In the meantime, I’ll be writing job descriptions so I can post a new job opening at Moon River Software.

Office VPN

After nearly a week of trial and error, I finally have a working VPN up and running from my new office. I can get in, access other computers, do my thing, and everything else I need to do using just the Windows VPN client.

It doesn’t sound nearly as impressive now that it’s over. But the root of it all is that I no longer have to Remote Desktop into a machine behind my firewall to gain access to my internal network. Being able to use all of the software on my new laptop instead of whatever I had loaded on the lone computer I was remoted (is remoted a word?) into will be a huge productivity gain for me.

It means that the next time I accidentally leave data on my NAS server, I don’t need to zip up a bunch of files, copy them to an accessible URL, download them, and delete them. Now I can just log in, copy them directly to my hard drive, and voila. Instant productivity gains.

Software Startup Myths Debunked

When it comes to software startups, it seems there are a lot of common misconceptions floating around. I’ve sat idly by and watched as these misconceptions are repeated as fact time and time again. I’d like to take a few minutes to dispel the top five myths of software startups.

Myth #1: I need to get VC funding to make my company successful.
This isn’t true by any stretch of the imagination, and I’m not the only one who thinks so. In fact, it calls into question the very meaning of ’successful.’ What constitutes a ’successful company’? Does your definition of a successful company involve getting VC funding, working for a few years, and then selling it off for gobs of money, never to return to work again? If so, then this is true…for you at least.

Venture capital is one method of getting a company off the ground, but it’s not the only method. Venture capital is also not a guarantee of success. Venture capitalists invest in multiple companies because they know that not all of them will succeed. Some will fail quickly, others will flail for a while, and a few will succeed. The goals of a venture capitalist are to maximize the return on investments that pan out and minimize the costs of investments that will not. In the end, this hopefully results in a profit for the venture capitalist.

Most people think that VC’s won’t throw money away on companies they don’t think will succeed. This is true, but it’s also true that VC’s can’t see the future, which is part of the reason they invest in multiple companies; to hedge their bets. Company founders don’t have the luxury of ‘diversifying their portfolio,’ so to speak. They work at their company until funding is pulled, it goes bust, it’s sold, etc… It’s hard to be the founder at multiple companies at the same time. But VC’s depend on the founders thinking that a VC wouldn’t let them go down in flames. Plenty of VC’s watch the companies they helped fund go down all the time.

The misconception of needing VC to be successful is likely propogated by Paul Graham more than anyone else. I don’t think it’s his fault mind you, it’s just the vibe that he gives off. In fact, I think he’d agree that having VC funding is certainly not a guarantee of success. VC funding gets you startup capital and a chance. It’s up to you and the people leading your business to take that chance and make the best of it.

Myth #2: I need to have a perfect product.
This is another popular misconception that has been proven false time and time again. Often, you will see a large company put enough marketing muscle behind a mediocre product to generate a profit from it. I could point to countless examples of mediocre software being unleashed upon the general population, after which people like you and me have to help replace it with something decent.

Let’s turn the tables and think about an off the wall question: Do you even need a product?

Go ahead and laugh, but over 95% of Moon River Software’s revenue this year has been from consulting services. The software I sell has made up less than 5% of total revenue in the past 12 months. And as I pointed out in my last article, I’ve made enough money to keep up with all business expenses for the next six months with zero additional income.

If you want to start as a consulting company and transition to a software company, you don’t need a software product in the beginning. In fact, not having one can be more helpful than anything else. As you do work for your clients, you can get a firsthand look at their pain points, and use that information to help decide on the products that you should build.

Paul Graham says:

An advantage of consulting, as a way to develop a product, is that you know you’re making something at least one customer wants. But if you have what it takes to start a startup you should have sufficient vision not to need this crutch.”

This may be true, but not everyone has a vision of the products they want to make when they start. Joel of Fog Creek says:

“We didn’t start with a particular product in mind: our goal was simply to build the kind of software company where we would want to work, one in which programmers and software developers are the stars and everything else serves only to make them productive and happy.”

Myth #3: I need a partner.
I see this falsehood more than any other. This is regurgitated frequently because there are so many examples of a dynamic duo who have made it big with their companies. Really big. Bill Gates and Paul Allen. Larry Page and Sergey Brin. Filo and Yang. All of these men are listed in the category of Forbes Billionaires. And who wouldn’t want to be listed there?

It’s a common belief that having a partner allows a company to become more successful because the duo can feed off each others’ ideas and make them better. Venture capitalists seem to further this idea. Look no further than the requirements of applying to the Y Combinator program for proof of this. The tell you up front that they won’t work with individuals.

I certainly understand the mentality. Partners can not only feed off each other, but they will help bolster one another when the going gets tough. Having more sets of eyes on any project ultimately makes it better. Someone has an idea, someone else has suggestions for tweaks to make it better. In the early stages of a company, this can be critical. Unfortunately, it’s also possible that having a partner can ultimitely lead to the downfall of a company. Many companies founded on partnerships ultimately fall apart due to friction between the partners, be it over money, power, direction of the company, or something else. Nobody talks about those because they failed. They never made it anywhere, so you never heard about them. If they did, then you’d see the founders listedin Forbes and we’d all be talking about how so-and-so made it big on his own.

People forget that there are some very successful companies out there whose founders built them without a partner. The accomplishments of these people are easily overlooked in the shadows of Microsoft, Google and Yahoo founders. And why? It’s because they are listed far less frequently in Forbes Magazine. When you have $20 million in the bank, would you really notice plus or minus another $1 million? Since most of us aren’t going to clear $5 million over the course of our entire lives, I’d have to say the answer is no, you probably wouldn’t notice.

Myth #4: Selling the company is the: quickest/best/easiest path to success/freedom/fame/fortune.
It’s been said that nothing worth doing was ever easy. This includes being successful, obtaining personal freedom, gaining fame, or getting rich. I know more than a dozen entrepreneurs who have spent a great deal of time and effort working on their respective businesses. They are all successful, have a great deal of personal freedom, and are all financially well off. Some gained success very quickly. Others took several years, but they all ended up with those things. Wait, did I miss fame? Well, there are plenty of millionaires whose names you don’t know. In Massachusetts for example, there are 82,007 millionaires. I can name perhaps 3 millioniares who live in Massachusetts whom I know personally. The other 82,004 millionaires? I have no idea who they are, excepting professional athletes, some public figures, and the Kennedy’s. Which begs the question:

If you sell your company and make $20 million, are you really going to become famous?

Probably not. But the point of selling the company is for financial and personal freedom isn’t it? The dozen or so entrepreneurs that I know enjoy those things I mentioned, yet still own their companies. Selling the company will result in a one time payoff, but owning the company can pay dividends for years. Over time as the company grows, it is worth more and more. Would you trade a company that’s worth $150k/year in your pocket right now for $20 million if you knew it would be adding $2 million per year to your wallet in 10 years? It’s a difficult question to answer, and depends on your short and long term goals. It also depends on your willingness to invest that money back into a volatile stock market and hopefully not lose your shirt doing it.

The bottom line is that you may not need to sell the company to meet your goals.

Myth #5: I need to have an office to be taken seriously.
Per Eric Sink, the number one cause of companies going out of business is a lack of cash. It’s pretty difficult to go out of business when you have money in the bank (amazingly enough, it appears GM may somehow manage this feat). In the very early stages of a technology company, one of the biggest unnecessary cash sinks is office space.

Some people feel that an office is absolutely necessary and won’t work without one. If you’re not willing to make some sacrifices to get your business off the ground, you’re not going to make it. So unless you have a legitimate need for an office, skip it until you do. My company just started renting office space in downtown Worcester. I’ve been operating the business full time for 10 months now and only recently felt the need to move out of my basement. What changed for Moon River Software? Well, the computer to employee ratio of 15 to 1 combined with my home’s older electrical system that can’t handle more than four computers running at a time had something to do with it. I also ran out of room for all of my equipment, and the power goes out for an excess of 5 hours almost once a month. The need to hire another employee meant the need for another desk, another computer, and more equipment that my home office simply couldn’t handle. So, yes I think I had ample justification for getting an office.

If you’re profitable and others will vouch for the quality of your work or products, then working out of your basement isn’t going to hurt your image. Don’t forget that some really well known and profitable companies were started in basements. Google’s first datacenter was in Larry’s dorm room. Apple started in Steve Jobs’ garage.

Still think you need an office?

Special thanks to Rob Walling for reading preview drafts of this article.
add to Furl Furl -

add to del.icio.us del.icio.us -

add to technorati Technorati -

reddit!

add to Blinklist BlinkList -

add to Digg Digg -

add to Google Google -

add to My Yahoo My Yahoo

New blog format

Well, I’ve finally transferred what I think are all of the entries from my old blog into the new one. For those of you who don’t know, SubText is an offshoot of the original .Text project. I don’t know all the details, but apparently, after the .Text project was abandoned, it was taken up again in the format of the Community Server project. Recently, another fork has been created in the form of the SubText project.

From what I can tell, the software looks to be fairly functional and has the installer that the original .Text lacked. So far, it looks great and the guys who are working on it seem to have a decent handle on what they want it to do in the future. There are a few things that need some work, but I think overall that it’s a good direction for me to go in.

I stumbled across SubText while I was searching for a dedicated blog engine. I had decided that my old blog just wasn’t cutting it. Why not? Well, it was all hand coded. I could have done a much better job if I put the time into it, but it just wasn’t worth the investment. Especially when there are so many decent blogging engines out there.

Like Eric Sink, I have abandoned City Desk as my main blogging management software. Unlike Eric, I didn’t want to write my own blogging engine. While there are certainly some good features that he put into his blogging engine that I think are worthwhile, it’s not worth the time investment for me to do it myself. The fact is, that the source code for SubText is available, so if I want to code up any of those features myself, then I can. Then, I just contribute back to the main SubText branch.

Thus, the beauty of Open Source software.

Twitter Delicious Facebook Digg Stumbleupon Favorites More