Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I've been teaching and doing freelance work for years. I make great money and I love what i do. However, recently I that I have more personal project ideas than I can work on. I have tons of software ideas that I would love to give attention to.

I've made up my mind, I'm going to stop freelancing at the end of the summer and put all my energy into starting a small software company.

I was wondering if anyone else has gone down this same path and if so, if you have any advice for me regarding this career change?

share|improve this question

closed as not constructive by gnat, GlenH7, Glenn Nelson, MichaelT, Walter Feb 19 '13 at 15:30

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 15 down vote accepted

I was wondering if anyone else has gone down this same path... and if so, if you have any advice for me regarding this career change?

Yes, I went down that path. My advice is to consider very carefully whether you want to move away from doing something where you can say, "I make great money and I love what i do," and into something you've never done before: run a company.

Being an early-stage entrepreneur is different from running a going business, and both of those are really different from teaching and programming. The talents, skills, knowledge, and wisdom required for success at each of those is really different, and you can be good at any of those and be a dismal failure at the others.

Here are a few questions to ponder:

  • Do you have a business plan? If not, why not? If so, what does your analysis tell you about your prospects? Have you had it reviewed by competent outsiders, and if so, what did they say?
  • Who is going to do your books? If it will be you, do you know what you're doing, and how much of your time will it take away from things you enjoy more? If it will be somebody else, will you have an accountant audit them?
  • Who is going to do your marketing? Your sales? Do you know the difference? Again, if it will be you, do you know what you're doing, and how much of your time will it take away from things you enjoy more?
  • If you have too much work to do, will you bring on programmers or non-programmers? Will they be temps, contractors, or employees? What will you do when (not if) they screw up? How tolerant are you of people not doing things the way you'd prefer?
  • Do you know how to determine how much value an individual you bring into the company adds to it? Can you determine how much they cost you, in terms of pay, overhead, management time, etc.? What will you do if someone isn't breaking even, and how long will you give them to become profitable? Can you bring yourself to terminate someone even if you like them? Even if they have family members they're supporting? Do you know the criteria and effects on your business for firing versus layoffs?
  • How will you handle things when running the business takes up so much of your time, you don't get to program?
  • If you bring on other programmers, will they be as senior as you? If they will, how will you afford them? If they're more junior, will you be happy to take a lot of your time to mentor them, and spend a lot of your other time doing the really nasty code they're not capable of doing right?
  • If there's a downturn in your business, what will you do? If it's a choice between your business failing and putting people out of work who you like and are doing a perfectly good job, what will you do, and how will you feel about yourself?

I would really suggest that before you make the leap, find some successful businesses in the same general area (not direct competitors) and size range you expect to be at in a few years, and either go talk to the owners about what their lives are like, or ideally go work there for a few months and see how things are done. Then think really, really hard about whether, and how, you want to have a company.

When I made that same move from freelancing to a business back in the early '90s, I didn't consider any of these questions, and just went blindly ahead. It was one of the worst decisions I ever made. Despite what I wanted to think, just because I was smart didn't mean I had what it took to run a successful business. I have neither talent, nor skills, nor drive to manage people well or run a company effectively - it's just not my personality type - and the more I tried to force myself to do it, the more I resented what I was doing. When the company collapsed several years later during the depths of the dot-com crash, I had to throw a lot of fine people out of work, and felt like a piece of s--t.

Afterward, I went back to freelancing, and have made way more money than I ever did with the company and been way happier. You couldn't offer me enough to run another company. My wife and I might wind up selling some software through something like the Apple or iOS App Stores, but I regard anything that could involve being responsible for managing other people or making payroll with unmitigated horror.

share|improve this answer
wow. I had thought of some of those but certainly not all. It seems to me like it might make sense to get a business partner to share some of the load. I have no problem being assertive with people under me and canning them if they don't get things done (wasn't always like that). I really appreciate your insights, this has given me a lot to think think about. – Zevan Jun 12 '11 at 1:33
@Zevan: That's just the tip of the iceberg - I could easily make the list three times as long. For instance: if your company's health insurance rates go up, do you ding your employees, or do you drive your old clunker another year? If your biggest customer is so slow-pay that you can't make payroll and you've already run up your credit cards, do you (a) factor that receivable and lose 10-20% of it, (b) pawn your car, (c) sell your car, or (d) get a second mortgage? – Bob Murphy Jun 12 '11 at 3:01
If you're determined to start a company, one or more partners with experience in the areas you're lacking would boost the chances of success. I would also encourage you to use temps and contractors and outsourcing suppliers for non-programming tasks, and do all the programming yourself as long as you can. But I especially encourage you to do a little soul-searching to evaluate whether you're sure you'll be happier running your company more than doing what you're doing now. Only you can answer that, but I was miserable doing it. – Bob Murphy Jun 12 '11 at 3:03
@Zevan: I'm glad you're thinking this through and seeking advice. Running a company well is a real talent which I admire precisely because I don't have it, nor do any but a couple of the great programmers I've known - it takes a lot of emotional balance and discipline, people skills, and a type of fuzzy logic and guesswork that's quite unlike the cut-and-dried world of bits and bytes. Perhaps you're talented at both programming and running a company, and that's a rare combination indeed. – Bob Murphy Jun 12 '11 at 18:38
Yeah, I'm not sure if I have the talent to pull it off... I guess I'll just have to find out - worst case it will be in interesting learning experience. thanks again for all your insight. I'm pretty sure I have that fuzzy logic thing you mention, even though it works against me sometimes... – Zevan Jun 13 '11 at 1:33

I was in the same boat - long time contractor and instructor. Got fed up. Got together with a friend and sat down and wrote some pretty good software for the financial asset management industry. After several years - total failure.

Now, this may have been for any number of reasons, but you have to face the fact that most software business fail. It took me a long time to come to terms with this.

I'm not trying to put you off - just saying...

share|improve this answer
"most software businesses fail" - you don't need the word "software" in there. – David Thornley Jun 10 '11 at 20:34
@David True enough. But I think it's also true that more software businesses fail (as a pecentage) than (say) window cleaners. – nbt Jun 10 '11 at 20:47
thanks, yeah I'm aware of the fact that most software fails miserably. One feature of the programs I'll be creating is that they are things that I wish existed, so even if they do fail, at least I have something that I can use. – Zevan Jun 10 '11 at 21:45

1 get customers first

ideally, let your customers pay for your development projects. the more the merrier

2 build products people actually want

this means do the market research before you start coding, so you don't waste time and money building something no one wants to buy

share|improve this answer
This is good, pragmatic advice. Unfortunately, it almost always ends up with your customers hating you and you losing all respect for yourself. I remember the time we shipped an empty tape to a customer, just so we could fulfil a contractual requirement. They weren't happy and we felt like sh*ts. – nbt Jun 10 '11 at 19:56
@Neil: Somehow I'm missing the connection between Steven's answer (which I agree with) and you fraudulently shipping an empty tape. – Peter Rowell Jun 10 '11 at 20:23
@Peter If you get the customers to pay for development upfront, you inevitably (or so it seems from my experience) end up ripping them off. I should point out I didn't ship the tape - the company I was working for (who used this development model) did. Still, I was to a certain extent complicit, and have felt ashamed about it ever since. – nbt Jun 10 '11 at 20:27
thanks that makes perfect sense – Zevan Jun 10 '11 at 21:48
@Neil: Building products that people want, to their specification, is the hallmark of craftsmanship and sound marketing. Your answers on this site seem to be all doom and gloom. Perhaps you're in the wrong profession. ;-) – Steven A. Lowe Jun 12 '11 at 15:28

the best way for you is look for more freelancers, create a team and continue freelancing for a small amount of time and discuss a potential good software with your team and do some market research on it. But DONT STOP FREELANCING in the beginning as it will keep money rolling in and hence your business wont fail.

This is what i do!

Once you have a perfect software idea, dedicate your time work and hard and make the software - non buggy and working

and send it out!

share|improve this answer
+1: Do not kill your cash cow (freelancing) before you have a new income stream. – Peter Rowell Jun 10 '11 at 20:25
I've been able to make pretty good money teaching both at the college level and by recently doing some one on one teaching. Just doing 15-20 hours a week, is more than enough to pay the bills and have plenty left over. I also usually stop working for at least two months every year and I've never had trouble getting clients again, partially because I teach and partially because there is just so much demand for good programmers in NY (where I live). Thanks for the advice. – Zevan Jun 10 '11 at 21:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.