The other day I read a a blog post by Derek Sivers, original founder of CDBaby, on how to hire a programmer to make your ideas happen. It’s very good advice, as I have been going through these same steps in my latest venture, Hifidelics. I’ve developed a few web sites in the past several years and although Hifidelics is still in it’s beginning stages, for the first time I feel like I’m on the right path. I couldn’t tell you if Derek’s advice comes from first-hand experience, because I’m fairly certain he has programming skills himself, but I have been learning these methods the hard way. I wanted to elaborate on Derek’s advice with some of my own experiences so you can avoid some of the pitfalls I came across.
- Stay Away from “Out of the Box” Software – Yes, it’s MUCH easier on your bank account to go this route, but there is almost no originality. This is where you pay a software company a few hundred dollars, upload the software to your server and you’re more-or-less ready to go. You will end up with a web site that is exactly the same or very similar to hundreds of other web sites. Why would someone come to your site when there are a ton more just like it? It will be well worth it in the long run to have a custom application developed to your specifications. Personally, I see “out of the box” software more for hobbyists rather than someone serious about their concept or business.
- Try to Avoid Offshore Programmers – Really what I mean here is avoid working with programmers from India. I have nothing against the Indian people or their culture, but they have a very different work ethic than we do in the U.S. You may be tempted because the price is right and they DO do good work, but you have no idea what you’re getting yourself into. For one, there is a huge communication barrier. Most only speak conversational English and it’s very tough to explain certain things with them understanding completely. This also leads to many do-overs and it will eventually become more effort than it’s worth. Two, they will do EXACTLY what you ask of them. Yes, that’s a good thing, but there is no thinking outside the box. If you forgot to mention a simple, yet obvious task/feature you will not get it. It will be considered extra work. Three, they don’t check their work. The programming will get done, but it will be up to you to catch their mistakes. This also leads to a lot of back-and-forth. And four, they’re on an opposite side of the world, which means while you’re sleeping, they’re working. Unless you can stay up all night, every night to be available for questions, etc., the communication takes twice as long. If you have no problem with all those things, then feel free to go that route. Once again, I want to emphasis that I have nothing against the people of India. This is based off my personal experiences and others I have talked to.
- Keep Costs to an Absolute Minimum – I know this sounds like a no-brainer, but there are a lot of costs you never think about when laying out your plan – not to mention that you’re not yet even sure whether your idea will work or not. Once you get started, or after you see the first working version of your site, it’s very easy to get caught up making a lot of changes or cramming the site with cool, new features. Stick to your original game plan of your Minimum Viable Product. Write down any new ideas and save them for a later version unless it’s something you realized you absolutely need.
- Be Creative – If you don’t have enough money for all this, try to think of creative ways to work around that. Just keep in mind that most freelance programmers get many offers for stock options or partnerships. In other words, that type of deal is a dime a dozen for them and usually do not pan out in their favor. With my latest project, I’m on a very tight budget. The programmer(s) and I tried many ways to come to an agreement that worked out for both sides for the work I needed done, but to no avail. I felt that my only option was to find a less experienced programmer that hopefully would work cheaper, or dump the project all together. A few weeks later that same programmer contacted me and asked if I would like my site built during a weekend programming contest (RailsRumble). They (he and another programmer) would build as much of my site as they could within a 48 hour time period and work for half their normal price. Of course I jumped on that opportunity and although the site isn’t 100% complete, I have a solid foundation built by two very experienced programmers.
I don’t have the same success as Mr. Sivers, so I would follow his suggestions before mine. However, my advice is only elaborating on his, based on my experience with developing three web applications. If you’re serious about creating your own software, I recommend you read 37Signal’s book, “Getting Real” – a collection of easy-to-read essays on building successful web-based apps.