Here's how to cut your corporate ties and transform your programming chops into a thriving business

For software developers, the main advantages of corporate employment -- job security, a clear path for career advancement, retirement benefits, health insurance -- are rapidly disappearing. Yet the demand for programming skills and services has never been greater. It might just be prime time to pack up that cubicle and go independent.

Being an independent software developer can be a dream life. But dreams include nightmares, so it’s best to be prepared.

Being your own boss, setting your own hours, working only on projects that interest you -- all while earning a lot more money -- are possible when you strike out on your own as an independent software developer.

Before you write that letter of resignation, think about why you want to become an independent software developer. Do you want to work from home? Do you want to travel? Do you want more money, or fewer hours, or both? What are your main motivations for making this change? Write them down somewhere, because chances are all of your goals will not be met immediately. When things get tough, that list will remind you of why you are doing this, and that can make the difference between giving up and success.

Above all, understand and accept that “going independent” means “starting a business,” and a business is very different from a job.

Going independent can give you greater say in the kind of work you do. And in the world of software, there are many possibilities; you don’t have to do exactly what you do at your current job. Consulting, development, products, training, and other services are all viable paths to independence. Make a list of everything that you can do, everything that you’d like to do, and everything you might be interested in learning how to do. Having that list will help prepare you to recognize opportunities when they arise.

Similarly, make a list of all the ways you can find and attract clients. When you make the leap, you’ll want to be in a position where you have more offers than you can accept.

The first contract can be the hardest, or the easiest. It is not uncommon for someone to resign as an employee then turn right around and contract with their former employer, doing exactly the same job as before, just with a different financial arrangement -- but it is not guaranteed. Another option is to contact a recruiting firm and have them find you a position that you like; just make the terms of engagement corp-to-corp. This is how I started: I lost my “secure” job, and frankly, it was the best thing that ever happened to me. I called a friendly recruiter when I got home and had my first independent gig two days later -- at almost twice the pay.

Your job responsibilities will include everything, not just coding. Going it alone means going it alone. You will have to do all of the work that your current team and organization do for you. This applies to both technical skills and “soft” skills -- either you learn how to do it yourself, or you hire someone to do it for you. If you hire others to help you, you’ll have to learn how to manage people at the very least, but ideally how to lead them. Communication skills may mean more to your bottom line than sheer coding talent.

This may seem like an obvious platitude, but consider that the average office worker is productive only three to six hours per day, according to recent surveys. The rest of the time is sucked away in meetings, emails, social media, and various other non-productive distractions.

When you are the business, you can eat Twinkies, drink Mountain Dew, and surf the Web all day if you want to. But chances are you only get paid when things get done -- so getting things done consistently, efficiently, and well will become paramount to the survival of your business. This makes Reddit a lot less interesting than a paycheck. Happy clients are key, and consistently delivering extraordinary results makes them happy.

Many tasks don’t pay directly, but can lead to business failure (not to mention legal/tax trouble) if omitted. Accounting, cash flow, collections, contracts, liability insurance, and so on are easy to forget or postpone; don’t!

Some other small things may suddenly matter, like being awake during business hours, answering your phone promptly, and having suitable clothes to wear to meetings with prospects and clients. The hip slacker image that works so well in your laid-back office job may not fly when you and only you represent the entire business. People will perceive you according to their inherent expectations, and you cannot control or change that -- but you can be aware of it, and prepare accordingly.

Focusing only on the paying work in front of you and letting everything else slide is a good way to code yourself out of a job. Pay attention to additional opportunities with current clients, ask for referrals, continually prospect, and keep your pipeline full. Marketing and sales are not evil; they are necessary. Even if all you have is a résumé on a job site, that is still marketing -- and the product is you. Even the best of clients can have sudden downturns; you do not want to be at the mercy of one client. To paraphrase Naomi Dunford of ittybiz.com, “If the vast majority of your income depends on one client, you don’t have a business, you have a job.”

Since you are responsible for everything, you must be organized. I recommend David Allen’s Getting Things Done system, but any system used consistently will do. Whatever you choose, get things out of your head and into the system, and review it consistently. It is far too easy to think that you can remember everything you need to be doing, and perhaps you can, for a while, but the effort is draining and wasteful. An organizational system is not supposed to be a straightjacket or a dictator; it is a tool. Apply your organizational system consistently to all of your areas of responsibility -- not just technical ones -- to ensure that you are always on top of everything that needs to be done.

There is a huge difference between going independent and getting promoted to management. If you get promoted to management, you become responsible primarily for the work of others, along with a load of administrative issues that you may not enjoy. If you go independent, you get managerial responsibilities and keep all your technical responsibilities as well. Many good programmers have been ruined when turned into managers; many excellent technical people are simply not happy in management roles. If this is you, that is fine, just be aware of it and plan accordingly -- perhaps by hiring an assistant or designating one day a week as “admin day.” As an independent developer, you are both management and worker, and you must do both well to succeed.

Don’t be your own barrier to business growth. At some point you will hit a limit of how much work you can do personally and still keep up with the business, maintain your health and family/social ties, and generally keep from burning out. You can raise your rates, but only up to a point. Learn how to delegate, sooner rather than later. Many businesses that are otherwise doing well reach a tipping point where they fail because the person in charge cannot delegate, and that bottleneck strangles the business. If things are falling behind because everyone is waiting on you to do something, take this as a warning sign.

When you hit your limit, you can contract or expand. To do less, consider firing “bad” clients, raising your rates, and making better use of your time. To expand, consider hiring help, delegating or eliminating tasks, and diversifying your products and services.

In The 4-Hour Work Week, Tim Ferris recommends several tactics to reduce the work you must do to a bare minimum, while maintaining the same income level. Some of these tactics will work for software developers, such as outsourcing administrative tasks to trusted assistants (virtual or otherwise), while other tactics are appropriate only for product-based businesses. The point is not to blindly follow anyone’s advice -- especially strangers on the Internet -- but to know what your options are and choose wisely.

Products have a distinct advantage over services: Products scale. You can only sell an hour of your time once, and it’s gone, but you can sell a product over and over, even while you sleep. Of course, products have their own overhead: First you have to write it; then you have to sell it. But once it is selling well, the only drain on your time is support, and counting your money. Consider building products (that people actually want) while supporting yourself by selling your services. If you can transform some of your services into products, so much the better.

People need to know about you. Whether you call it promotion or marketing or branding, the requirement is the same: Get the word out, with a consistent image and message about the kind of services and quality you provide. You can start a blog, join the local Chamber of Commerce, answer questions in LinkedIn groups, post instructive videos to YouTube, and so on. Choose a few ways that you are comfortable with, and start. Be creative, use your imagination, find ways to stand out that represent you well, but above all make sure the channels you choose are populated with likely prospects. Try several approaches, track where your leads come from, and then concentrate on the avenues that prove fruitful.

Eventually you may decide that you’ve had enough of being responsible for every aspect of your business; that’s the time to replace yourself. You can replace yourself with one person, if it’s the right person. More likely, your responsibilities will be divided among multiple people. This can be good, especially if the people you find share your philosophy and work ethic and are better at their jobs than you are. Finding the right people can take a lot of effort, and you may have to go through a few to find the right one. It’s best to test, and fire early rather than invest too much time in trying to train or educate someone who is not up to your standards.