Which Basket Should A Developer Put Their Eggs In?
The question is: as a developer, how do you know which of these products (I get about one tempting enquiry a month from what sounds like a real person who isn’t building a social network) is a good bet?
For my own products, that’s easy. I know what I want to build and while it’s tough to be customer, project manager and developer all on my own, I can at least give it a shot. I am self-employed and my products get time scheduled in just like all my other projects do – well, unless there’s more interesting paying work to be had, in which case they tend to slide!
But what about those other excellent business people, who understand their market, have a great idea for a product, and are confident they can bring in enough paying clients to make the whole thing balance within a couple of years? They should be able to launch their products too – but of course they need some technical skills on their team to do so.
For me, as a developer, I would love to get involved in some new ventures. I enjoy building things that other people need, and as a freelancer I’m flexible enough to take on some side projects that won’t pay me back directly. I’ve been approached by perfectly sane-sounding local people who already run viable businesses and are looking to offer software products alongside those. They know their market, their domain, and they know what they want. So far, I’ve got enough work of my own that I haven’t been sure enough to take the risk when it came past … but will I ever know when to jump in and get involved?
What are your thoughts? Have you joined in building something new with people you haven’t worked with before? On what kind of basis? Are these kind of projects ever worth picking up? Perhaps more interestingly, have you been burned and if so, what would you say were the warning signs now you have some hindsight?
This is a great question, and I think I’m going to give a longer answer in a blog post, but this would be my summary:
First off, understand that likely, however great of an idea this is, it will likely not pan out. I’ve been lucky to work with several “startups” that have been successful. But I’ve also worked with some that we did everything we could, but the project went no where. Finally, I’ve worked with a startup when the relationship soured and things turned out badly, and we all needed to part ways. So whatever time, effort, resources, etc. you put into the project, you have to be prepared to see it go nowhere, or worse.
You’ve already listed my first criteria, in that whomever is approaching you, they are real professionals in a field, and have more than “just an idea.” For me, they have to be exceptional professionals who know their market, domain, etc and have a well-thought-out plan for making a product and monetizing it.
Second, they have to have some monetary backing. I’m fine working at a very large discount in exchange for higher rewards when the projects starts bringing in money on it’s own. But I’ll rarely work for free. This isn’t because I can’t make it without the money, but more that it shows that my potential partners are serious and willing to sacrifice and risk too. The only time I’m willing to work for free up-front is when I already know the people very well, trust them, trust the idea, and have a much more significant part of the rewards if successful.
Third, everyone involved should be working as hard, if not more hard than you will be. I’ve seen a few startups where the “owners” put in a few hours a week, and expect the developers to sacrifice every waking hour. This can seem difficult to achieve, since many times you need a product before you can sell it. But there is plenty of product planning, research, and other things to be done before a version 1 product is ready to launch. Also, I’ve seen some where there are some “extra partners” who bring very little to the table in terms of talent or usefulness, but want to have a lot of say in decisions, and many times will have much higher rewards than you. This kind of “dead weight” can really drag a project down.
Fourth, there has to be something more than the potential rewards of success in it for me. Whether it is working with cool technology that interests me, or the project is in a field I really enjoy, or that the people I will work with are excellent. It doesn’t matter what, but you’ll want to have a positive experience even if the fiscal goals are never met. I’ve had projects that had mediocre success fiscally, but the experience working with it was well worth the time and effort I spent.
Finally, are you a good fit for the project? I once took on some discounted work on a project that ended up being successful, but we were a poor fit. I didn’t fit their timeline, so I thought I’d bring on some fellow developers to help make our deadlines. The problem was that the two devs I brought on both had unexpected things happen in their lives and couldn’t get the progress done, so then I had to try and scramble and make it up. In the end, the “client” and I parted ways, and a few months later I saw they were able to take the code I did have and launch the project with other developers.
You have to be brutally honest with yourself when taking on a project that involves risk. It is easy to gloss over why it won’t work, and focus on the parts of the deal that are appealing. But if you do find a project that is a good fit, then the best of luck to you! :) I’ve had some of my most reward work coming out of “startups” and they were great experiences for me.
Justin, thanks for taking the time to reply (that was almost a blog post in itself!). I am tempted by the startups for all the same reasons that you mention; mostly that I know it’ll be fast-paced and interesting work. Especially when I can see the point of the whole thing, it tempts me to get involved. I’ll let you know if I ever do it …
In almost all cases I would recommend charging money to do this work in addition to any shares you take in the company. If they pay for the software you write, it means they will value it in line with the cost. If you put the hours in and don’t charge, they don’t have anything to lose if they abandon the project and if you rely on their knowledge of the market and their contacts, you can’t do anything with the application you have written.
I have noticed that customers who pay a reasonable amount value your contribution, be it code or advice, more than customers who don’t pay or who pay a discounted rate.
For business customers, I agree. For so many of these projects though, they are bootstrapping and that makes it hard to justify being involved. I like your point about how they value your software/time if they don’t pay for it … that’s a pretty important issue I think.