While starting a software company is hyper-competitive and often very challenging, right now is one of the best times to start.

Low over head costs, niche opportunities, open source code, outsourcing and monthly recurring revenue are all reasons why we are seeing more and more software companies building solutions that deliver value to their customer base.

Thanks to our friends at Jixee, the task and communication app that simplifies your development team’s workflow, what follows are 20 tips and great resources you can use to help a build a rockstar software company.

If your team is involved with code/development in anyway (or plan to!), do make sure you check out our friends at Jixee.

1. Keep your corporate job for now.

Yes, this is probably the exact opposite of what you wanted to hear. But lets face it: building a software company is not only extremely difficult but risky as well. Your stable 9-5 can be a key asset while you’re still getting off the ground.

Further reading:

2. Do market research.

Do you have adequate resources to make a competitive product? How strong is the competition? Is the market big enough? Talking to potential customers is always enlightening.

Further reading:

3. Consider bootstrapping:

Venture capital is alluring. But a growing number of companies are opting to bootstrap. For some entrepreneurs, it’s all about control.

Further reading:

4. Build a minimum viable product (MVP).

Ideas are worthless until they are validated by the market. Your big idea might actually have a serious flaw. So don’t sink a year into developing your product. Create a small version of your idea and see if it can get traction.

Further reading:

5. Release early, release often.

A tight feedback loop between your company and customers results in software that more closely matches what customers actually want.

Further reading:

6. Focus on your heavy users.

What features do they find most useful? What are their suggestions for improvement? Your most devoted users can be an excellent source of feedback.

Further reading:

7. Adapt a freemium business model.

Freemium is a strategy in which the product or service is free and money is charged for a premium version. This is how products like Angry Birds and Evernote became ubiquitous.

Further reading:

8. Focus on customer service.

Your market probably has established competition which have more resources than you. A way a newcomer can distinguish itself is by offering superior customer service. And if you’re more in tune with your customers’ needs you’ll be able to build a better product.

Further reading:

9. Take an inventory of your strengths/weaknesses.

Further reading:

As an entrepreneur, you’re going to have to wear many hats and some of these hats will be less comfortable than others. Take a few personality tests and get feedback from friends and family. Focus on areas where you have an advantage in. For the rest, delegate to someone else.

10. Get a co-founder.

Consider bringing on a co-founder to give each other moral support.

Further reading:

11. Lawyer up.

Don’t be sloppy with legal work as it can come back to bite you.

12. Go Niche

The software industry is maturing and most markets are already occupied. You increase your chances of success by targeting in on a niche.

Further reading:

13. Software-as-a-service (SAAS) model.

With the SaaS (software as a service) model, the software is hosted your own servers and is sold as a service. Customers like it because they do not need to deal with installation or maintenance. So not only are the economics better for your company with recurring revenue, but there are advantages for your customers as well.

Further reading:

15. Be conservative in your estimates.

This is especially true when starting out. Software development is notorious for time overruns. You do not want to run out of cash 3 weeks before your first version is ready.

Further reading:

16. Start a company blog.

Further reading:

Fogcreek, Buffer and 37signals are successful largely because of the popularity of their blogs. Even if you’re not the next Joel Spolsky, it can help build a connection with your potential customer base.

17. Work/life balance.

It’s a marathon, not a race. As an entrepreneur, your job is very stressful. Don’t shoot yourself in the foot by overworking yourself.

Further reading:

18. Take culture seriously

Company culutre is more about ping pong tables, bean bags and free soda… it’s the essence of the company and sets the way the company will grow from day one.

Further reading:

19. Consider stock options.

Offering stock options when you are just starting out is a great way to lure talent to your new software company.

Further reading:

20. Use smart software

Do some serious home-work on the software tools you will be using to manage your software company – from your team, to hosting, to managing customers, and so much more.