Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Seeing that so many of my friends are unemployed, some of my frinds and I are planning to create a small software company.

What are the basic things we should know and do? Are there things specific to running a software company that we'd need to be aware of?

share|improve this question
1  
My answer to an older but related question. I hope you find it useful : programmers.stackexchange.com/questions/57782/… – Imran Omar Bukhsh May 2 '11 at 11:11
The book answer many of your questions :) 37signals.com/rework It changed the way I think about creating software and building companies. – Nerian May 2 '11 at 11:34

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer: please explain why you're recommending it as a solution. Answers that don't explain anything will be deleted. See Good Subjective, Bad Subjective for more information.

closed as off topic by MichaelT, Martijn Pieters, Bart van Ingen Schenau, Robert Harvey, Jimmy Hoffa May 14 at 20:39

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined in the FAQ. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about closed questions here.

4 Answers

up vote 58 down vote accepted

As an owner of a company in France, I'll try to list a few things to think about before creating a new company. Note that this list can be different for other countries, and some points which are very important in France may not be so important in other countries and vice versa.

  • Be aware of the local laws. When you have a small company and you're sued by your customer for thousands of dollars just because you forgot to mention a mandatory sentence in your invoice, it's not funny at all. It's also not funny when a customer doesn't pay you, and when you go to a lawyer you learn that the contract you drafted yourself says that nobody has to pay you at all. I spent four years in law college; I'm always surprised by the poor quality of contracts which people with no knowledge in law draft. Most of the contracts I've seen clearly say that the developer may never be payed, or that the customer can request any change at no cost, etc.

  • Be sure that the taxes will not be higher than your income. In France, for example, when you start you can easily be in the situation where multiple organizations will claim thousands of dollars per year, yet your income is several hundreds of dollars per year. It's nonsense, but nobody cares because it's a way for those organizations to make a lot of money. Even when you don't have any income, you still have to pay.

  • What makes you better than all the freelance developers? What makes you better than all the larger software development companies? How do you explain to the customers that you're better?

  • How do you calculate the price the customer has to pay? If you're paid per hour of work, how can the customer be sure that you don't ask to be payed for 213 hours when in fact you worked 186 hours?

  • Are you sure you're ready to deal with customers? What will happen when a customer is not polite? What if a customer says that your product sucks or does not conform to the requirements when in fact it follows them exactly? What if a customer, after two months of development of a three months project tells you that you must rewrite your ASP.NET project in PHP? What if the customer doesn't even know what her project is about?

  • How you will find your customers? Marketing/advertisement can cost a lot, and you must be sure that it will bring you new customers.

  • A question generally asked by customers is "can you show me some of your websites/software you've already done". Can you answer it? ("Eeeh... not at all" is not an answer)

share|improve this answer
Just to build on some of these points, anyone looking to start a company should make sure they're ready to handle a scenario like that described here. Given the nature of the site, it's likely that story is exaggerated some, but it's still plausible, and demonstrates a number of the points that @MainMa raised. – Bobson May 14 at 14:03

To start a business, we should have a basic idea about what we gonna do. Laws and other things are secondary which we can hire proper lawyers and resources.

In India, there are two type of business running.

Services & Products

but the products seems not getting wide popularity and attention as the startups in U.S. Also the angel investors are not so plenty as you can see abroad. But the platforms like iOS and Android helps you to market your products without much hassles.

If you're going for service business, it's tough market where you should be able to get projects by demonstrating/gaining trust from the customer. One of my friends are running a software company.The growth in terms of project and resources was exponential but it's yet to find a good name and financial stability. It can be slow pace depends on how aggressive and serious you're about your company and how you pitch it.

There are several other domains other than what we're seeing day to day. It's really strong. Like platform services, enterprise solutions, large softwares like SCADA systems etc. It depends on your taste and bandwidth for you to find the right industry.

It's better to start something than being idle. At least you can try to create some products yourself in your free time and try to market it. Slowly you can turn it be a company. Wishing you all the best. One more thing, don't be reluctant to "reinvent" something. People may hesitate to take a step if some bigshots are already having services similar to yours. Without infringement, you can make things in your own view. Sometimes it will be a great hit!!!

share|improve this answer

One very important point that many software startups seem to miss is this:

Find a problem, and solve it. Don't build a solution and find problems that could fit, and don't solve problems that are solved already.

This seems obvious, but there are many examples of companies whose products failed (or who went under entirely) because they couldn't convince people that they actually needed the thing.

For example, don't make a to-do list app. Don't build a social networking anything; if I had a penny for every "I'm going to make the next Facebook" claim from projects that failed completely, I'd have enough cash to buy Facebook. I'd probably avoid music-discovery apps as well; Grooveshark, Pandora, Spotify, Last.fm and the rest have that market covered. As a general rule, when you get an idea, Google about a bit and see what already exists. Consider testing out whatever solutions you find. If you can't see anything wrong or lacking with them, then you probably won't be able to break into that market unless you've found some shiny new way of doing things that makes it better (or you can match their functionality for greatly reduced prices, perhaps).

I once heard someone say that you should be able to tell a stranger what your product is for without saying "it's like [other product]", and I think that's pretty good advice. If it's like some other product, that might be ok, but don't focus on that. For example, you're not building "something like Mint", you're building "an app to track and manage your finances by doing X, Y and Z". The difference is that you're focusing on the features that you want, and not the features that your competitors have. Of course, you'll want to look at your competitors to work out what features the market wants, but you don't want to fall into the trap of being a copy of an existing product. If you're the same as an older product, then people who use that product might as well stay there, and people who don't might as well choose that product over yours because it's more mature and has all the advantages that brings - they've had longer to fix it, to build up a support base, etc.

share|improve this answer

Put the advice you get from various sources based on their relationship with their market/customers. Unless you're going to sell to other programmers, you can't do it the way Fog Creek and Balsamiq does it. There's a reason 37signals avoids the Fortune 500. The less your market is 'like you' the more you're going to need to get outside help.

It sounds crazy, but at times you'll have to decide if you want to make money or own a software company. Decide how you're going to stick with it. Having too little or too much money can make it tougher to keep going. You're going to be tempted with job openings and undesirable projects, because you need the money now (Or you're rich and don't care.). This could get in the way of actually owning a software company. You have to have that ultimate goal so you're more likely to persevere.

share|improve this answer

protected by maple_shaft May 14 at 9:18

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.

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