Looking for a software engineering role and have noticed a difference in the job listings? Learn the difference between a freelancer, contractor, and salaried position in the software engineering world.
You are looking for a software engineering role and have noticed a difference in the job listings. Some job listings are for contractors, some for salaried full-time positions, and some are advertising for freelancers. What's the difference? Freelancer, contractor, or salaried position; are ways that employers indicate how much responsibility and longevity they want to provide in the role. Each one might be the right choice depending on the nature of your job search.
Today, we're diving into the difference between a freelancer, contractor, and salaried position in the software engineering world - and what employers mean when these terms are mentioned in a job listing.
You take individual jobs and are paid by the project. Freelancers often select projects from a marketplace one at a time and try to hustle as many jobs as they can. A freelance writer takes any writing job that needs doing. A freelance software engineer may program or repair one app at a time for individual clients.
You take medium to long-term jobs, usually a few months to indefinite contracts. You are a part of the team and provide specific expertise, but you are not a permanent employee. Contractors are typically paid by the hour, which is more income assurance for your time, but you are also given limited access and limited to no employment benefits.
If you are taking in a salary that pays weekly (or a fully employed hourly position) then you are a legal employee with all the benefits, rights, and responsibilities that go along with that. You are fully subject to the employer, as usual, but you get protection.
There are several reasons why tech and software companies have chosen this interesting three-tiered hiring approach. The first, of course, is to save on benefits. However, there is also a practical element to hiring by the project, especially in software development. Many teams keep their core staff lean while hiring contractors for the project and freelancers for the task.
This actually grants software engineers and other tech professionals more freedom to build their own schedules, workload, and client base. But also requires more caution when job-searching so that you find an employment opportunity that fits your plans and needs.
Let's take a closer look at each employment type and what it means to seek this kind of software engineering job.
Freelancers take and complete as many jobs as they can handle.
Many work through a marketplace or several marketplaces where they source jobs listed by clients. Many software engineers freelance on the side of a day job, making small apps and websites in their free time to make extra money. Those who enjoy the rapid-fire environment can support themselves very well with freelancing - but your success really depends on your project completion rate and your client building strategy.
Freelance job marketplaces sometimes advertise on job boards in order to bring in more freelancers to serve the demand of their job-listing clients. Some companies have also built an internal marketplace and may collect a few favorite "internal" freelancers to pull from that pool.
Being a software engineer contractor is a popular choice because it provides the most freedom and employers prefer it in a project-driven work environment. When you are a software contractor, your work is measured in hours per week. Each client will expect a certain number of hours and progress on their projects, but you can actually take on as many clients as you can produce in any given month.
Some contractors have a single employer and earn a comfortable living from that. Some have a schedule of overlapping contracts, carefully distributing their weekly hours among several interesting projects. Be careful, however. Some (only a few) clients will ask for exclusivity which can limit your ability to take other contracts.
Some clients offer benefits or send equipment, but most do not. Contractors can be extremely well-paid, especially since the only limit to your income is your hourly and the hours you choose to contract each month. You also sometimes have the potential to turn your best contracting jobs into permanent positions - either an indefinite contract or a salaried hire.
Check out what kind of jobs you are going to apply 👉 here
If you are hired as an onboard software engineer, you are an official employee with all the perks, safety, and limitations that come with that. For a non-exempt employee, your time is paid hourly, but you likely have an assured number of hours each week - and you get overtime beyond 40 hours a week. If you are a salaried exempt employee, you get paid 40 hours a week whether you work two hours or seventy.
Permanent employees get a few guaranteed benefits required by the federal and state governments like healthcare and family leave time, plus the full package of incentives your employer has to offer. In trade, you will likely need to conform to the hours, behavior, dress code, and other expectations for an on-staff employee of the company.
If you take a permanent software engineer position, you may or may not be allowed to take on additional freelance and contract work. While exclusivity clauses are rare in contracting, they are common in salaried positions.
Finally, on-staff software engineers are more likely to work on longer projects, oversee multiple teams, or be tasked to maintain company software as opposed to the multi-project experience of both freelancing and contracting.
Let's take one final look at when freelancing, contracting, or a salaried position might be the best choice for your next role.
Freelancing is a great way to dip your toe into the waters. You can take one or two small projects and get a feel for the marketplace and what it's like to handle your own clients directly. Freelancing is great for a side hustle and to stretch your skills with a diversity of project options. However, it can also be exhausting unless the freelance hustle itself energizes you.
Contracting offers a combination of freedom, hourly pay, and a buildable schedule. Many software engineers spend a few years contracting to build their skills or during a transition between permanent jobs. A contract or two can also give you time to find your next dream job without committing to a non-ideal permanent position too early. Contracting has many benefits like freedom, multiple clients, and diverse work, but lacks the permanence and benefits of a salaried position.
A salaried position provides benefits, assurance, and the ability to plan years into the future instead of one contract at a time. With benefits and permanence, many software engineers can focus on work-life balance or start freelancing on the side.
Freelance, contracting, or salaried software engineering position, which is right for you?