Software Engineer Choices: Permanent Employee vs Contractor vs Micro-ISV, Part 2: Contractor
Suitable for competent software engineers who like new challenges.
A repost of my past article on Medium
The three work choices for a software engineer:
Contractor
Micro-ISV (Independent Software Vendor)
2. Contractor
Pros:
Flexibility
Higher pay, usually
Can pursue personal creative projects in own time while retaining intellectual property rights
This became really important for me. I turned down a couple of good permanent job offers (with a fancy title and a very high salary, even higher than my contract rate), for this reason.Suitable for competent engineers but with low EQ
Just “get stuff done” mindset.Quite often, easier to find as the first job, also with higher pay
Many people don’t know this. Stay tuned for my upcoming article on this.
Cons:
Less secure, especially when in a bad job market
Higher Pressure
Especially works in teams with permanent staff, who think you earn too much and should do a better job.Always need to start fresh.
This is probably one thing I dislike most about contracting, as I need to prove myself frequently.No Career Ladder, relatively speaking
However, there are chances that companies offer permanent positions (usually high ones) to good-performing contractors. I received this kind of offer once and declined it.
Personal Story:
My father was a Math teacher who only changed jobs (the same profession) twice in his 40-year career. He always told us repeatedly about the importance of job stability. Therefore, being a contractor never crossed my mind.
As I predicted, after ending my job (see above), I received two offers within one week, even though the job market was tough then.
The simple reason: I had 3.5 years of Java experience with a reputable research centre and successfully built a commercial product: HotMeta Metadata Search Engine.
One job offer was contracting a government for a duration of 6 months, but its pay doubled the other permanent offer. Although I wasn’t entirely sure about the nature of the contracting then, I took that for money.
Between 2000 and 2020 (when I chose to shift my focus towards my Micro-ISV), I engaged in numerous contract positions across different organizations/companies (public and private, large and small). Throughout these twenty years, I maintained a nearly full employment record, surpassing that of most of my past colleagues and friends who held permanent positions with relatively higher pay.
Thoughts/Tips for IT Contractors:
Besides the usual “talk less and work more, get stuff done” advice, here are specific ones from my experience:
I get most contract jobs via former colleagues’ referrals.
Always try to help others to find a job when possible. Sooner or later, they will return the favour.Be open-minded and learn new stuff.
The biggest advantage of being a contractor is getting to work on more projects, which increases the chances to broaden knowledge and meet great people (here, I mean not a polite ‘great’, truly great, and those are very rare). I grasped the opportunity to learn Test Automation, CI and Ruby from a world-class programmer, Wow! This changed me (for much better) forever.Start with a short-term contract, preferably 3-month
If you do well, renewals are almost certain in normal circumstances. Why? The company incurs quite a big recruitment cost to hire you, and software work is usually a long commitment (there is maintenance after production delivery).
A short contract will give flexibility. I really like the feeling when leaving a bad project.
A permanent employee might need to be stuck with a bad project or a bad manager/tech lead for a long time.Unless absolutely necessary, don’t break a contract
The contracting community (in a city) is relatively small. Keep a good reputation.
Zhimin’s Simple Hour Rate to Annual Salary Conversion Formula
Hourly Rate ✕ 2 ✕ 1000 = Annual Salary
Then multiple a discount factor, e.g. 70%
For example, an $80/hour contractor job, is equivalent to a $160,000 salary employee job at best. 80 x 2 x 1000 = 160,000
.
Assume you work 40 hours per week and 50 weeks (extremely hard working) a year. The total (maximum) money received: 40 x 80 x 50 = 160000
. Then assess the permanent job offer, then multiply a discount factor (more employee benefits, lower discount factor). 69%
is a good discount factor to start with. For example, for a 69%
discount factor, an $80/hour contractor job is equivalent to a $110K permanent job from a pure income perspective.
Of course, this is just a rough and quick calculation.
Practical Advice
Based on my observation, the wage disparity between a full-time and a contract software engineer has been diminishing in recent years.
Tech companies — including the likes of Amazon, Google, Atlassian and Canva — are paying between $147,000 and $350,000 for graduates, with some salaries including stock options and end-of-year bonuses, according to data obtained by The Australian.
In other words, now there are few incentives to go for contracting unless you have an ambitious goal: building your own start-up, Micro-ISV, or Solopreneur.
In the next article, I will talk about Micro-ISV.