A couple of months ago, I started a series on how to start a successful software business. Well, I'm finally back with the second installment of that series!
I hope you are ready for a fun ride here. Today, I'm going to take you through some of the most difficult times in my business, Long Tail Pro. I'm sharing parts of my story that I haven't shared before, and I think there are some valuable lessons to learn.
As a reminder, these blog posts are specifically targeted for those individuals looking to bootstrap a software business. I really want to point out the word “bootstrap”; meaning you are not going out borrowing or raising money to get your product off the ground.
Raising money or borrowing a bunch of money from friends and family is a whole other ball game. I don't think it's necessary to use other people's money to get your business off the ground.
If you are not a developer (I'm not), you will need some money…but there are TONS of great software companies launched for less than $5k to $20k. I believe this is an amount within the reach of lots of people that are smart with their money and know how to save.
So, today I want to tackle the subject that is going to eat up most of your start up costs if you are not a coder: hiring a great developer.
What Happens When You Hire a Cheap Developer
One of the mistakes I made early on when creating Long Tail Pro, was that I first attempted to hire someone really cheap. I basically went over to Freelancer.com, posted a job for what I wanted, and started getting responses.
I was SUPER excited to see that people were promising to deliver exactly what I was looking for, for less than $2,000! I had posted the job as a single payment job, rather than an hourly rate. So, I figured, “well, I don't have to pay anything until they complete the entire job to my satisfaction…what do I have to lose!”
I researched the bidders and found someone that had built a tool very similar to what I was looking for already. I took a deep breath, and pulled the trigger and hired someone for $2,500!
Now you have to realize that at the time, I was still working a full time job and I wasn't exactly rolling in the dough. So, $2,500 wasn't just a small drop in the bucket for me.
Here's a screenshot of my hire on Freelancer:
I also love the fact that he quoted that the project would be complete in 10 days!
So, what happened?
Well, you wouldn't believe it, but mr. “jay2success” did indeed deliver a working software product for just $2,500 in a couple of weeks! I kid you not, the first version of Long Tail Pro was completed in only a couple of weeks and cost me just $2,500.
The software LOOKED terrible, but it did everything I had asked for.
I immediately went out and started selling Long Tail Pro after some short beta testing with real users. I'll share in a future post how I initially sold the software and other details; however, I was indeed able to sell it and make my money back…barely.
After just a couple of weeks of selling the software 2 things happened:
- People started pirating the software because there was no licensing or security system in place.
- The software stopped working.
All that was needed to access the software was the download file. There was absolutely no purchase verification required once the software was installed.
I actually knew this was this case, but I was going the CHEAP route! I wanted to get the software out the door as quickly as possible and see if it would sell…and sure enough it did!
However, I think it was within 24 hours of when I started selling it, that a thread on one of the Black Hat Forums popped up with a download link. Oops!
As a result, I knew the security issue needed to be fixed…eventually.
However, the bigger issue that I was faced with after just 2 weeks was the fact that the software stopped working properly. The software relied on alot of data from Google, and Google changes how they display data…a lot! As a result, Google made one small tweak and suddenly my new piece of software was rendered useless.
I immediately went back to my developer and asked him to fix it. He actually was able to fix the issue relatively quickly and I was able to release the next version of the software…phew!!
However, less than a week later, Google changed something AGAIN! This began a constant game of whack-a-mole, where we would fix one little issue only to be faced with another issue a short time later.
In addition to the constant update issues, I started to realize how difficult it can be to work with someone that doesn't natively speak the same language and sleeps while you are awake.
Because of the time and communication differences, the fixes needed started taking longer and longer to fix. I was also getting more and more emails from customers screaming, “When is this going to work!!”
It finally dawned on me, that perhaps I didn't have the right programmer for the job. He had moved onto other projects, and I just knew I needed to do more if Long Tail Pro was going to be a success. As a result, I made the decision that I needed to hire a new programmer.
And not just any programmer…I needed to find the best programmer I could find!
Give Me the Source Code, Bro!
What happened next is a story that I haven't told very often…and it's a painful one. Luckily, it has a happy ending.
When I posted my job to have the software created, it was obviously implied that I would be the owner of the source code. That's pretty much the underlying purpose of most freelance websites. You hire a developer and they give you the product and code for the job you hired them for. In exchange, the contractor gets paid.
I asked my developer for the source code (so I could hire someone else to revamp everything). He said, “No”.
Well, he actually didn't say, No. He said, “Sure, you can have it…but it will cost you an ADDITIONAL $15,000.”
What the heck is this guy talking about?!
I basically said, “Give me the source code, bro”. Now, I remind you that all of this is taking place through skype chat and emails…and in broken English.
My heart hurt. How the crap am I supposed to come up with $15,000 just to get the source code to some software that currently isn't working. And I shouldn't have to pay more in the first place, I had already paid for that when I hired the contractor!
My business was being held hostage by someone I had never met, in a country I barely knew where it was on the map…with a few pages of code.
I was about to open a dispute with Freelancer to get someone involved. However, I decided to take a deep breath and think through how each scenario might play out.
- I could pony up $15k and get my source code. However, I would still be left with “broken” code…and I'd have to hire someone else to fix it. And I'd be out 15 grand…ouch.
- I could dispute with freelancer and possibly get my code back for free. However, I'd still be left with the broken code and be required to hire someone else. Hiring the right kind of developer could be expensive.
- I could just walk away from everything and let the business fold.
- I could walk away from this developer AND the source code, and just start the business from scratch. I could probably hire someone for $15k to build a much better version of Long Tail Pro than I already had…and I'd have the source code of a superior product and be working with a better developer.
I don't want to just brush over what a difficult and painful decision this was for me. I spent many days and possibly weeks trying to figure out what I should do (I was releasing little fixes in the meantime to keep customers happy).
To exacerbate the issue, I was also just about ready to quit my job. My niche sites business was doing really well, and I figured if I could make a couple thousand dollars extra per month with this Long Tail Pro thing…that would really give me the security I need.
Now, I was faced with possibly folding the software business…and perhaps quitting my job wasn't such a good idea.
I talked with my wife. I discussed it with my Dad. I ran through scenarios with my brother.
I finally came to what I felt like was the best option given my scenario. I chose option 4. I walked away from my original developer and source code, and went out to find someone better.
I had no idea how this would all turn out when I made that critical decision.
However, it's now been almost 5 years since that decision, and I can tell you that is was the BEST decision I've made in my software business. I was able to find a developer that exceeded my expectations, and Long Tail Pro has now become a product that is used by many thousands of people.
Oh, and I was able to quit my job a few months later (March 11th, 2011) because I was now confident in the future of my business.
How to Hire a Great Developer
So, I was faced with the task of finding a new developer. This would be my second time at hiring a programmer, and I felt like I had learned a couple of things with my first experience.
- It's easier to work with someone that speaks your language and lives in the same time zone. I decided that I would only hire a native English speaker that lived in the US.
- I needed to do a better job of describing what was expected out of the job. I wanted ownership of the source code. I needed software security/licensing system. And an ongoing agreement for fixes/updates to the software.
- I learned that hiring cheap might get something workable (for a short time), but the best developers charge more for a reason. I decided to focus more on hiring the best developer I could find, rather than price shopping.
These 3 lessons may seem quit simple…and they are I suppose. But they can make or break your business if you don't think about these things before hiring someone.
When I hired my first programmer, I did nothing more than exchange a couple of messages and look at some samples of work. I really didn't do any due diligence. I was looking at the sticker price.
For the next developer, I decided I needed to be as thorough as possible before making a decision. This started with the job posting.
My first job posting was short; this new job posting was quite lengthy and very detailed. It also included several attachments of what was expected out of the job; including deliverables. I also had the advantage of the fact that I did have a piece of software I could point to and say, “I want it to do exactly this…see this software…but I want these changes.”
And for the record, I found my great developer on Elance.com. I think there are LOTS of great developers on freelance websites, you just might have to do some digging.
I posted my job on Elance and started getting responses almost immediately. I don't recall how long I left the job open, but at least for a couple of weeks.
Most of the applicants were not native English speakers and were obviously “cheap”. I eliminated these right away.
I was left with several good applicants based in the US, and I started a dialogue with them via private messages. By exchanging a few private messages with them, I was doing a few things:
- Made sure they fully understood the scope of the job.
- Made sure they responded quickly. (Some never responded at all).
- Asked for their opinions on the project. This again was to test their understanding of the job, but more-so to let them show that they can think of big picture ideas.
I think I had 3 developers that did some back and forth with me via private messages. I ended up doing phone calls/skype calls with 2 of them.
One of them clearly rose to the top and had a really good grasp on the job.
I ended up hiring this amazing developer, and he is STILL the lead developer for Long Tail Pro almost 5 years later.
Yes, he was expensive. But he's also an amazing developer. He can often do things in half the time compared to a less experienced developer. As a result, I get better work, faster…and the overall price is sometimes less because he does it so quick…and it doesn't break.
Software development is notorious for “slip”. Basically product slip is when it takes longer to develop certain features than expected, or when the set of features starts expanding after development begins.
Sometimes you get in the middle of a project and think, “Man, it would be awesome if we add this bell or this whistle”. And so you do.
The only problem is that adding these bells and whistles makes projects take longer and get more expensive. I wish I had a sure fire way of preventing this from happening; but I don't.
I will simply say that getting a beta or first version out the door is not the last time you will have to pay a developer. Software development is ongoing.
With Long Tail Pro, I was able to get the first version (well, second version if you count the cheap developer), for about $15,000. That is a lot of money to spend right away!
However, I actually had already been selling the “cheaper” version, which had brought in some money, and I knew for sure there was a market. So, even though $15k seemed like a lot of money, I had proof that people would buy the product. So, the risk was significantly less.
Unfortunately, that $15k is a very small drop in the bucket compared to what I've spent expanding, maintaining, and updating Long Tail Pro over the years. However, I've never once after that initial investment had to spend money that the business didn't have in the bank.
I highly recommend you do the same if possible.
I had customers buying the product, and I've always been able to take a small portion of those profits and re-invest in making the software even better.
This is the way to bootstrap:
- Build a basic version.
- Sell it and validate the market.
- Take the profits from the business and reinvest in the business (this could be improving the software OR simply improving your marketing).
- Avoid debt and investors if possible.
Overall, if you have a grand vision of your software, just realize that it is likely going to cost more to develop that grand vision than the first quote you get from a developer. Especially if you allow “product slip” to occur and the scope of the project continually expands into something even bigger than you initially anticipated.
Tech Partner? Depends…
You don't need a tech partner to own a successful software business. I've run my business for years without a “tech partner”.
However, depending on your situation, there could be some advantages to having someone more code saavy as an owner. The obvious bonus is that you don't have to pay for development costs up front, your tech partner can contribute his time and skills to creating a great product.
This gives you the ability to focus your time on sales and marketing which is so critical to any business.
The downside is that you may have to give up a large chunk of equity in your business. In addition, when profits are split 2 ways, it takes longer to build up a nice nest egg for you or the business.
In a lot of ways, I wish I didn't have to see a bunch of money going out of my business to pay developers (if I had a tech partner). On the other hand, I would be paying out WAY more money if I had a 50% tech partner.
For my business, it's been MUCH more profitable for me and the business to contract out all the development and labor when compared to giving up an ownership percentage.
However, I'll leave the decision for you in your own business. A tech partner is likely to be more responsive, thorough, and thoughtful about software updates and really producing an amazing product. However, it could cost much more in the long run.
Both ways can work great. But whether you hire someone or partner with someone, it's SO critical that you find that RIGHT someone.
Hopefully, some of what I've shared today will help you find that right person.
Overall, I hope you found some value in what I've shared regarding hiring a great developer. I believe there are plenty of lessons to be learned from my own story with Long Tail Pro.
My journey certainly hasn't been the most direct one to finding a great developer, but I have found a great developer…and that's the key. I hope that your path can be a bit more direct to finding that great person to work with as you bootstrap your own software business.
As always, I would love to hear your thoughts on the subject. Let's continue the discussion below in the comments.