Having been struggling to make this transition myself, i have decided to share what i’ve learnt with I.T pros who might want to start their own companies. I am not finding it easy to make this transition but being the C.E.O of Afrisoft has really given me some insights into why many people fail at this transition. You may learn a thing or two:
Your business is about sales and profit not just coding
Don’t get lost in coding or in exhausting your resources to implement features which show off latest technologies. While you have to write code to be in the software business, be sure to write high quality codes that isn’t filled with bugs or is insecure. However, the best code in the world is meaningless if nobody knows about your product. there’s more to business than endless coding. The keywords here are sales and income!
Think long term
Every programmer likes turning code around fast. The problem is that most non-programming related tasks in a small companies don’t happen quickly. Business systems are different from programming objects. There are no device emulators and you can only test your results with time. There’s no instant gratification like you get from writing code, so you must always force yourself to think long term. You’ll have to work on your marketing, customer service, accounts, legal and a whole lot of other interwoven systems that don’t give results im micro-seconds like codes.
Good looks matter
Your product has to be nicely designed. Standard programmer square boxes with gray backgrounds don’t cut it! Nice designs without functionality doesn’t make sense too. You need to balance design and functionality in your softwares. People DO judge books by their covers in this generation.
Its all about the user?
There’s a good chance that the software you are writing is in a domain you are not an expert in. That’s where the opportunities are and that’s great, but you have to realize that you need to do more than just research the market. You need to understand the actual customers. Talk with them. I know you don’t want to but it’s an absolute must. Without talking to the actual end users you’ll never know what features you’re wasting your time on and which ones you don’t have that are critical.
A big mistake people make here is implementing the feature set of the competition to get started. That’s a bad move. It’s like when you copy your friends homework. You both end up with the same mistakes. By talking to the customers you can avoid the mistakes your competition has already made.
Remember to design for ease of use. Even advanced users like easy. Your user interface is no place for fancy technology tricks. Keep is simple. Advanced users love simple just as much as newbie’s. If you make it hard for your users to figure out your interface you can bet they’ll be off looking for another solution in no time.
Remember to bounce your ideas off people who aren’t working on the project
Make sure to always take time to show off your latest builds to someone who’s not very involved with the project. Fresh eyes will often find big holes in your user interface. Even if the person doesn’t know much about your domain, you’ll be surprised at how many issues they’ll point out that you’ve never seen before!
Learn as if you’ll live forever
Read everything you can get your hands on about your target market, running a small business, marketing, general management, time management. Ideally you should read it before you even start coding. The mistakes you’ll be able to avoid by doing so are well worth the time commitment. An effective way to do this might be to listen to audio books. You can’t believe how much i learn from audio books while driving from home to office daily.
I look forward to your feedback. If you have made this transition yourself, please add your tips for others to learn from.
Some part of this article was taken from ian landsman’s website.