Software engineering: work for someone or become a freelance contractor?

Hack Reactor

Software engineering: work for someone or become a freelance contractor?'s Image

By Kevin Juhasz for Hack Reactor

The outlook for software engineers is excellent and getting better. The industry is looking at growth around 20%, triple the national average, over the next few years. Not all of that work goes to permanent jobs. Instead, a significant portion will be given to freelancers, also known as independent contractors or consultants.

With the increased demand, there’s plenty of work for people who prefer to be their own boss. Just like employment at a company, freelancing comes with its own ups and downs, as well as different requirements.

The Pros

The Land of the Free

The first positive side that many will point out is freedom. Freelancers are able to prioritize work based on what appeals to them and what helps their career. In addition, freelancers can take a break when it’s most convenient for them. They get to be in charge.

“Every bit of effort you put into your own business is somehow directly benefiting you,” said Dominic Holt, CTO of Valerian Technology.  “The attribution for being able to actually do the work and know that all of that is coming back to you, growing your own success, and being your own boss, all of those things are very positive. You have this feeling of limitlessness.”

Environmental Protection

Freelancing can also be a better work environment for many. Some people find themselves to be more productive when they’re out of the office environment. There’s no socializing or office politics to interfere with your tasks. You can design and create a workspace that helps you focus on getting things done, or alternatively opt for a coworking space.

Branching Out

If you’re the type that doesn’t want to be pigeon-holed or is just looking for growth, then being a contract employee will help you do that. Once you’ve learned a new language, being a contractor will give you a chance to try different work and add to your resume.

“Most contracts are less than a year, so you get to work on a large variety of projects which can improve your skills and keep work interesting,” said David Jackson, CEO of FullStack Labs, a consulting agency in Northern California.

You’ll also be free to handle the entire process sometimes, rather than just one section, further expanding your base of knowledge.

“When you’re a freelancer, you can follow the chain of development of the product,” said Antony Vitillo, an AR/VR consultant and developer in Italy. “You can find the customer, talk with them, design the product, develop it, test it, and ship it.”

The Softer Side

Going out on your own forces you to work on your soft skills. You’ll be pitching to other people, working with other people, and you’ll need to network to help find more work. Such factors put you in contact with a wide range of people and help you hone skills outside of software engineering that can boost your success.

“You have to talk with customers,” Vitillo said. “You have to talk with other freelancers. You have to find customers. You have to promote yourself. This part can be exciting and provide job diversity compared to just developing.”

Being a Better You

The benefits of being your own boss are not just limited to your career. Moving into consulting or freelancing can give you a way to invigorate yourself and help you be a better you.

“Doing consulting enabled me to be able to grow, get different skills, get more skills, and just be uncomfortable again,” Holt said. “I was able to learn new things and be presented with new challenges. It’s really helped me grow as a person, as well as my career.”

On the Side

Contract work will free you up to practice new things on the side and build your skills until you’re ready to introduce them to the work side of your life. You can educate yourself on the latest things, create a project, and then get new clients after. If you want, you can also just take this side work and make it a hobby.

The Cons

There’s No Corporate Help

Freelancing requires you to handle a lot of tasks that are otherwise handled by companies. Taxes, including 100% of your social security, are your responsibility, requiring discipline and the need to file quarterly, at least until you reach an income where you can hire someone to do it.

Freelancers are also on their own to find healthcare and retirement plans, covering all of the costs for those. The one upside to this is you can usually take tax deductions on some items that will help your business.

If you run into trouble, you don’t have the same protections that employees do. There is no legal department for you to go see. 

“Sometimes clients don't pay contractors, and your only option to collect is to hire a lawyer since you're not an employee,” said Jackson.

You Always Have to Sell Yourself

Freelancing, particularly at the beginning, means you always have to sell yourself. Networking is always your strongest asset. At the start, you’ll need an online presence and traditional marketing tools, such as business cards. You may also need to set up profiles and portfolios at organizations that can help connect you with potential clients. This means bids and proposals. After working for a while, you may build up a steady stream of work from various clients, but nothing is guaranteed, so the need for networking, marketing, and updating is constant.

Hit or Miss

Some months are going to be great and some months are going to be slower. Businesses experience this, and you’ll experience it as a contractor or consultant. While employees at a company may still have a job when it slows down a bit, the ups and downs of income can be difficult when you’re on your own. There is the added effect of making other aspects of life more difficult. Without showing a steady stream of income, you could find yourself being denied a loan.

The Whole Wide World

There are some jobs where your only competition is people who work in the city around you. In software engineering, that is not the case. This is an industry where you’re not just competing with people in your city or even your country. You’re up against everyone in the world that can code. With plenty of online classes available to learn new languages, your competition is able to stay current and competitive. 

“If you’re into writing software, it’s pretty easy to find jobs, but you’re also competing on a global scale,” Holt explained. “There may be a lot of other software engineers or software developers in countries where a few thousand dollars is a lot of money. You’re competing with that.”

You Must Be Disciplined

When you do consulting, contract, and freelance work, the one big key to success is discipline. This is necessary in all aspects of your work for clients and for yourself. If you aren’t disciplined, you’re not going to succeed. You have to realize that once you’re done for the day with a client, you may need to take time to find your next gig, even if you want to be doing something else.

Work May Be Just OK

An issue with those just getting started on their own will be working to achieve success. You’re probably not going to be offered work with larger companies, and that means you have to accept jobs with smaller companies, which presents unique problems.

“A lot of small companies hire contractors instead of employees, as they can't afford full time employees. Small companies can be difficult clients — high expectations but low budgets,” Jackson explained.


Whether you decide to move forward with a career as a freelancer or prefer to work for an established company, we’re here to help. Learn more about becoming a software engineer by checking out our advanced coding bootcamp!