Starting a Software Business in Today's Economy?
Ryfar asks: "I'm a programmer with 3 years of experience in C, C++, and Java. With the current low economic trends in the software sector, the small software company I've been working for since I graduated is going out of business. Since it's so hard to get a job at another software company with so little experience, I'm considering the option of striking out on my own with a friend with similar development experience and creating a small software consulting company. Naturally, until we were profitable to the point that we could hire other people to work with us we would be both the programmers and the marketers/salesmen. The question is, Where should we start looking for business? How do we capture the hearts and confidence of potential customers when we don't have PhD's from MIT? Could those here with applicable experience on this subject share with the rest of us?"
I found myself in a similar pickle when I was laid off. I am 34 and have about 14 years of programming experience but no MIT type credentials. Anyaways to cut a long story short -- I did not need those credentials and I am doing pretty well -- better than when I was employed . My secret : Open Source. I buried myself in a few selected open source technologies and began to develop marketing collateral and sales pitches. After pitching a few dozen smaller local businesses, I got my lucky break. And now I am building a company around it.
Open source is your best bet if your are starting out. Companies will want you to do a few small projects on the side to validate their own ideas about open source.I learnt that small businesses are aware of the benefit of open source but Microsoft has done a phenomenal job of painting us -- the open source geeks-- as a bunch of untrustworthy slackers. You need to disprove that notion.
So pick a field , research the technology and learn to sell. So dont spend time thinking of cool new product ideas ; dip into the open source pool of products and learn to pitch them to businesses in their language. And contribute back to that knowledge pool.
Consulting is a different story than development, BUT..
.... similar to the mechanic, rather than the the maker of the product.
It depens on WHAT TYPE of software are you developing.
The current rage of the Open Source movement, caould in-fact kill you ability to sell anything that doesn't already have a decent project on Sourceforge, or have a competivly priced alternative.
I see software developers moving more into a service role within an orginization
The software developer's pay will dwindle (except for the elite) to that of a blue-collar worker, and will be thought of as such, as children whom are now growing up in this computer saturated environment, and whose idols are game developers, rather than the rock stars and comic book artists of the past.
My advice.... stick to CONSULTING.
It certainly is possible to get into the software biz in today's economy. In fact, if you enter from the proper perspective, the slow economy could be be a money maker itself.
.NET.
Rather than writing YASP (yet another software package), you should examine vertical markets.
For those that aren't business people, a "vertical market" is one in which your business has an extremely narrow focus. The premise of a vertical market is that a product offering is extremely specialized, in demand, and expensive. Since vertical markets aren't large, vertical market products sell for a lot of money.
I'm going to use a real life vertical market as an example for illustrating my approach. The healthcare medical practice management software market.
Every medical practice, hospital, HMO, etc. need to have highly specialized medical practice management software. This software is produced by hundreds of companies that charge BIG bucks for the pleasure of using it.
So, why NOT write medical practice management software and charge a lot of money for it? Two reasons... the market is flooded with overpriced software, and there's a better approach.
Its the better approach, that becomes really attractive to vertical market customers. In the instance of medical practice management software, practice managers think of the software as a "necessary evil". They don't want to spend big bucks, but they HAVE TO, because there are no realistic alternatives. This becomes even more important in a slow economy, because these people are going to be even less willing to spend big bucks on a new system, when their clunky old systems are still chugging along. After all, its a "necessary evil", and doctors would rather drive new jaguars than buy new billing software.
The better approach would be to develop a competetive software package for whatever vertical market you chose, and then GIVE IT AWAY FOR FREE. Not open source, not "freeware", but a commercially supported, industry standard, software package that they can use for FREE.
So now, I bet you're scratching your head wondering how giving away FREE software will make you money. Well...
The software you design will have built-in services that are of value to the customer. This is the KEY. You charge per use fees for these services!! In the medical practice management example, one valuable service would be statement billing. Imagine the customer's delight, when they could simply press a button in the new software you wrote, and it would communicate with your servers via the internet, resulting in their bills being sent to a printing/mailing clearing house. Bingo!! You just saved them time and money, because preparing bills themselves used to take 2 full days... now it takes 30 seconds, and you've made money because you charged $0.85 per bill you handled.
Not only does the end user get new high quality free software, they also save time, money, and enjoy optimized workflow, all courtesy of your software.
This is the next step in the software industry!! Microsoft is already aiming in this direction with
The trick to making this work is understanding your vertical market. Verticals are strange domains, and its not going to be simple to enter a vertical market. You'll need a few sales guys that believe in your concept, that are willing to 'pound the pavement' and "sell" your free software. You're also going to have to know what services you can integrate with your software that are of extreme value to end users.
By providing these services in bulk, across a few hundred clients, you should be able to provide these services for less $$ than it would cost for them to do it themselves.
Remember, vertical market software is a "necessary evil". In a slow economy, free (or low cost) software with integrated services is highly desired!! There you have it.
Skiers and Riders -- http://www.snowjournal.com
Rather than re-typing everything mitzman already wrote, I suppose "ditto" fits the bill.
In my case, it is software and services in the construction industry, which happens to be doing well in Arizona (the construction industry... I've just been at my venture for about 3 months now, fingers cross, and business is starting to pick up). In the general case, finding a need that is not being addressed WELL is probably the key.
It doesn't help to have friends... in my case, family ties have helped get a foot in the door. Anyone out there who needs help with computer ANYTHING is a potential client. To get the ball rolling, don't be afraid to take on something that seems simple to you... those easy ones that you do correctly set the tone and get your reputation rolling in the right direction.
I hesitate to suggest doing some work at deep discount or free rates, but it worked in my case and helped me get some demonstrations of my work out there... so I was paid in marketing value, which will hopefully turn into cash.
Finally, I will repeat something, regarding the outdated DOS stuff.... completely true. You would be amazed, and it is true in so many areas, from my state government (I speak from direct knowledge) to a furniture store that is about to open their second store-- that one couldn't generate a report of their inventory and dump it to a file, only to paper, because they didn't understand much about how it all worked (I didn't want to press them).
A few months ago, I was a bit uncertain about starting something, but I actually have far too diverse a resume (ie I worked in silicon valley and took advantage of the high mobility and salary potentials) to get a job in conservative Arizona, where everyone wants 5-10 years doing the same thing, usually doing something very specific and dated, and sometimes requiring either MCSE certification or a secret clearance.
That's my $0.02, hope that helps, and good luck!
The logic you're using, that you should go start your own business because you don't have the experience to get employed by somebody else seems faulty. Convincing an employer of your talents is infinitely simple than convincing a prospective client. The amount of risk to an employer is substantially lower if they make a bad hiring decision than for a company who chooses the wrong developer for their product.
:). Or actually more usefully, work on your MBA. PHD's are nice, but only if you are doing really out there reasearch. Most businesses would rather deal with somebody who has an appreciation of their business needs rather than some egghead theorist :).
Having said that, do either of you have sales experience? While you may both have ample development skills, without being able to land the business to work you'll be screwed. Where do you find that business? I'd suggest doing lots of networking. Getting business through friends of friends is your best bet. If that's not going to work for you, try to find small projects for smaller businesses. You'll likely have to take a lot of the risk of project failure on yourself (why should they trust you). So prepare to have little to no income for a while because until you can proove you can deliver, people aren't likely to cut checks.
Other things to consider. Find a good lawyer to help you in drafting contracts, etc. Find a good accountant to deal with the financial details of all of it. Do you have consulting experience or was your job more of a strict product development role? Consulting is a lot more demanding in the way of documentation, tracking of requirements, etc.
Good luck to you, but I'd recommend going back into the job market and trying to build your exeperience. Work on that PHD
This sig has been temporarily disconnected or is no longer in service
Because smaller companies are able to go after the business that larger ones won't even pay attention to. And smaller companies don't have the same expenses - they pay for what they actually need, not massive overhead for capabilities they *might* eventually have a need for.
Personally, I run a small business doing - gasp! - web development. I've got 3 developers and 2 designers working non-stop on projects that larger companies wouldn't touch - $5-10k in revenue on average. And, EVERYONE sells - we all work our asses off to bring in business, and thus we have it. Anyway, we're able to get ~5-7 of those projects done per month and the pipe-line is FULL - lots of middlin' businesses out there couldn't get the time of day from larger firms (and, much to my happy surprise, we actually have more revenue than many of those same firms
Simply put, I'm making a hell of a lot more money, having more fun, and am in much more control of my life than when I was grinding away for someone else.
THAT'S how a small business can do it.
Starting a well capitalized business in the best of times is difficult, but even in the worst of times it is possible to succeed in business. It will take more work than you think it will, but also probably the most rewarding work you can do. Before you start, I suggest that you read something similar to What Color is Your Parachute, it is an excellent review to help you make sure that you are ready to be in business for yourself. If you are ready and able to start a business, pick something that you really want to do, and focus in on it. You unlikely to succeed if you try to do everything for anyone. Currently anything related to integration or web services is en vogue, if that floats your boat. Another possible idea would be to get into something similar to what your old company did, especially if you can get some of the old customers, it might be large enough to susutain a smaller business.
Before you start the business, you or the other founder should take a class on accounting. Your local community college is very likely to have something that you can audit, take at a reduced rate for no grade. This will be quite helpful, especially if neither of you has experience with bookkeeping. Get something to keep your books, Staples has Peachtree for free after reabate, or GNUCash might be enough in the beginning. Related to accounting, the one thing every failed business has in common is that they all ran out of cash. Profits don't matter, its how much cash you pull in, your suppliers will not let you spend retained earnings. Keep a close eye on your cash position, and know whether you are making cash or spending it at least monthly. Finally, if you decide to go into business with another person, spend the few hundred and let a lawyer either create the articles of incorporation, or partnership agreement. They know many more potential problems than you or I can imagine, and should have some advice for how to structure the company to minimize them.
More frankly, it is extremely rare for a business to be profitable in the first year. If you and your partners do not have enough save to meet each of your personal expenses for at least 6 months stick out for anything you can find to come up with a little capital.
Some of the better ideas I have heard to drum up business are:
1. Help some folks with their PCs first, then eventually you might meet a small business owner who needs help with a bigger project.
2. Give a talk and be willing to answer questions about IT to your local chamber of commerce or businessperson's association.
3. Advertising. One of the places you might consider is talk radio, most of the audience is less techincal, usually wealthier, and more likely to own a business than the average American.
The advice about finding a salesperson is excellent, we geeks are not usually the best at selling things.
Do not try to get too big too quickly, you will kill your cash flow as you grow. But realize that the way businesses make money is through leverage, either charging more than it costs for your employees, or on the financial side, through the use of debt. I doubt you will find a bank willing to offer you a loan early in the life of your business, but be extreemly careful regarding debt. Non-debtors never go bankrupt, they may not succeed, but the lender never has to come after assets if you do not owe them anything.
Lastly, (Is this the third time I have tried to close, I am beginning to sound like a pastor)good luck especially if you decide to venture forth in the the exciting world of business.
Degaussing scares the bad magnetism out of the monitor and fills it with good karma.
I take comfort in knowing that there is somebody else out there who is having the exact same life experience as I am.... I just hope yours turns out better. Regardless, here is my story, I hope you can gain at least some wisdom from it.
I graduated with a BS in CS in May 1999. I started my career immediately out of school hacking C++ for a fortune 500. I left after a few months to join a start-up embedded systems company. At the time, I felt that this was my ticket to fortune and glory (after all, when I joined this start up in the middle of 2000, the Dow had just hit it's all time high. It seemed every 20 year old with a CS degree moving to Mountain View or San Jose was becoming a paper millionaire). When I interviewed with them, the Engineering VP reassured me that I was going to become financially secure after the IPO from all of the stock options they were waving in my face. So in my naive enthusiasm I jumped at it (wouldn't you?).
6 months pass, I show up to work one brisk Monday morning in November of 2000, only to be told that I had been laid-off along with all the other engineers and marketing people. They weren't able to secure any more venture capital, and the seed money had dried up. When I started, I was employee number 12, during that 6 month period they ballooned up to 40-something (I lost count) just before the lay-offs.
(I'm almost to the point of the story) So my roommate was also hacking code for them (he was writing Linux device drives and such, he had much cooler tasks than I did) and laid off that same morning. So we headed back to our apartment, played some Counter-Strike to cool off, and tried to figure out where we go from here... That's when we had the idea to start our own software consulting company. We had both worked with consultants, and we both felt that we were as competent and experienced as any consultant we had worked with. So we got out selves a lawyer and an accountant and started Treknetix Software out of our apartment. Our plan was to just write anything for money, then as we get settled in, we would find a specialty to focus on. Well, it turned out, finding clients is at least ten times more difficult than actually engineering a software system. We ended up getting a few contracts, mostly web work. We did a lot of LAMP (Linux Apache MySQL PHP) sites. It was during this time that I migrated completely away from Windows and to Linux %100 of the time. But we just weren't getting enough work to pay for rent and lunch meat each month. Slowly, I started to dig into my savings to support myself. I kept telling myself that I'd just borrow from saving now, and everything will be all right after things start really picking up. Well, of course they never did.
With only $14 to my name, I moved back home with mom and dad at the end of 2001. I created a resume, and started applying for jobs like mad. When that didn't work, I went to professional recruitment firms... my college's career office.... local networking events.... nothing worked. I tried all the "best practices" for finding work, namely, treat it like a full time job. Spend at least 8 hours a day looking into positions and sending out resumes. My roommate went off to graduate school... I think I'm going to follow, there is just no work to be had.
Do I regret starting Treknetix? No way! I learned so much about working with non-engineering managers. I've really broken out of that "anti-social" programmer mold from my experience working with clients. This is a good thing. Now only if I could apply this somewhere else.... (bitter anyone?)
My advice to you. Try it. But, if you can, move somewhere you don't have to pay rent, or get married to a rich girl first. DON'T TRY TO LIVE OFF YOUR SAVINGS! I can't stress this enough. That's the only regret I have since graduating college. I should have moved home immediately after the layoff.
This has gone on longer than I would have liked. So to make a long story short: SOMEBODY HIRE ME!!
http://resumes.dice.com/thomasmis
Check out my podcast: DreamStation.cc Video Game Show
It might seem annoying or below you, but there are a huge amount of small businesses that are not on the web and want to be. I can't tell you how many times people have approached me about creating/maintaining their business' website. These people have no idea what the internet is, but they want to be on it but can't afford the cost of "professional" web design. You could make a killing by marketing directly to these people.
It's not glamorous and it's not exactly programming (unless someone wants an online front-end), but it's an area of the market that has been virtually untouched because small businesses can't afford the high prices that silly corporations pay. The only drawback is that "webdesigner" doesn't look that good on a resume anymore.
Computers are everywhere these days, and we don't seem to run out of people who have problems with them. In many cases, simply having a policy that says that the owner must provide the software on original media can keep you out of any legal trouble, and in many cases, "fixing computer problems" can be reduced to simple software reinstallations.
Or you could perform hardware upgrades--many computer users won't remove the cover and install a part themselves. There's almost always money to be made here, because computers keep getting faster and better, and people simply aren't comfortable upgrading on their own.
These alternate courses are feasible, will turn profits fairly quickly and don't really require much in the way of education/certifications, and can be done even with a staff of one. Really, the biggest part of such a business is advertising.
Well said! The question of what you want is where it all starts, it seems from the post that it's "Computer something-or-other" which is so ill defined as to be useless. As far as starting a consultancy, instead of just having to make a sale at the job interview you have to make constant sales, and right now with your brief post I'd say that might be hard for you,you'd need to find someone who could sell your services unless you plan to take a crash course in sales. All I can recommend is find a job so you're set for living expenses, and then look around and see if other opportunities arise unless of course you have an idea that will create the next Netscape, if so then stock up on Mountain Dew and start coding...
Any sufficiently advanced man is indistinguishable from God
Just because someone has a few years of programming experience doesn't mean they know how to fix PCs and setup servers. Having a few years experience in programming doesn't automatically mean that somebody knows how to setup Windows and Linux servers. They are completely different. Most everybody can make their way through the initial setup of either OS, but solving wierd problems often requires experience with the OS. "Fixing" PCs also requires experience with both the software and hardware of PCs, both which require experience to be good at troubleshooting. I don't care how many classes you've taken and how many certifications you've received, but troubleshooting PC problems simply require a lot of experience so that you've had a chance to deal with a large amount of hardware and software in different environments. It's incredible the kind of bizarre problems that you encounter when troubleshooting PCs. Things you'd expect to never make any difference could be the differnce between working perfectly or not working at all.
I've done both IT work and programming for various operating systems, and I can tell you that it helps a great deal to do both of these. Mainly, programming for a certain OS can help you troubleshoot problems with that OS because you will likely have a greater understanding of how that OS performs certain tasks at a programming level. Going the other way I would think would also help, though not quite as much. With IT work you usually have to figure out the problem from trial and error, whereas with programming there are API references you can look at to gain the knowledge and then apply that to IT work.
In any case, I do not believe that having a few years of programming experience will necessarily allow you to successfully do IT consulting work. Though if you are very good with OS installation and configuration, you should be able to do well as an IT consultant. In fact, if you have both the skills of a programmer and an IT worker, then I'm pretty sure you will be very successful at IT consulting. For many companies with more than about 5 or so PCs, being able to script tasks is where your talent will show. Creating complex login scripts and computer startup scripts is essential to solving certain problems without having to perform tasks locally on every single computer, and this is where the programming knowledge comes into play. If you can fix a problem that would normally need to be done by logging into every single computer by simply modifying a single script in a short amount of time, I couldn't see how a client could not be impressed. Most computer consultants would need to log into each computer to solve the problem, but if you can script it, then you're way ahead.
(* I have always had good luck with doctors and lawyers. Both of these fields tend to overpay for very bad software, and would be thrilled to pay less for better software. Try asking your dentist. *)
Something generic like "dentist" tends to be saturated with software solutions already. There seems to be more opportunity in highly niche markets. I personally would look for markets where there are only one per small town and a few per large town.
Bigger companies tend to target bigger markets and filled them up. It is not worth it for them to go after a few side fish. That is where the little guy might have a better shot. The hard part is finding a way to eat, drink, and sleep their business in order to understand it.
Table-ized A.I.
So what do you need (or rather what was it that made me "succesfull")?
As a physician, I should be able to settle a few myths about medicine. I cant say much about the Legal field.
1. Doctors drive Jaguars. I drive a 93 Civic. I know hundreds of doctors and none of them drive Jags. The most common car is probably a Jeep. The financing in medicine has gotten tighter along with the rest of the economy, and medicine is no where as lucrative as its made out to be on TV.
2. Doctors will pay any "big bucks" for bad software. Yes and No. Yes there is a lot of bad software, and Medicine is way behind other industries in the use of computers for information management. Yes, much of medical software is rediculously priced. But if your going to sell something to me you've got to prove that your product will be better. We've learned from our mistakes, and unfortunately you'll need more than a few programming skills to be sucessful (evidence, the number of failed companies in this field). You need to know about HL7, standard vocabularies (SNOMED, ICD, UMLS, etc) and what makes them good and bad. You need to know about HIPAA and privacy issues with the EMR. You need to know about modelling complexity in medicine. How is your system going to handle it when the pharmacy adds a new medicines, or labratories change coding schemes How is your system going to access old labs and medicines. This is what makes current medical software bad. To do better, get a degree in informatics.
3. A startup with a good product will suceed. Unfortunately, one of the most important characteristics I would look for is a track record that demonstrates that your going to be around in a couple of years to support the software I buy from you, and that you are backward compatable with my existing software. Your best route in consulting is probably going to depend on learning and supporting other existing software.
I hate to be pessimistic, but you've got your work cut out for you.