Software Developer: Freelance Contractor vs In-House

Findings from when I tried to create both paths at the same time

Career

Contractor

Pros:

  • You are likely to make more money as a contractor if you do well, even after you factor in biz dev time.
  • You are likely to have more freedom about how and when you choose to do projects.
  • You are more likely to be seen as prestigious, a contractor's image is more typical of one that speaker's at conferences are chosen from, as a for instance.

Cons:

  • You likely are required to have more experience to be a contractor. This can take many forms:

    • Actual experience (time).
    • Certifications.
    • Interview-style question answering (including gotcha-style ones).
    • Portfolio / Testimonials.
    • Blog/Vlog/Demo - Something like LinkedIn ProFinder will not let you join without having several articles on their platform.
  • The experience you do have will likely need to reflect well publicly. An example would be 5 years at Google will be seen as many multitudes more valuable than a smaller, no-name company.
  • At least in my experience, contract jobs for Systems-side work (DevOps, IT) are more common than actual software development. It may also be possible that Software Development is more commonly a "firm" rather than a "freelancer".

Could be Either:

  • You will need to appreciate and enjoy Business Development / Networking. I mean this, as it will be a significant and likely most important part of the job.
  • You will need some familiarity with finance and tax law (not a lot but the more the better).

In-House

This one is more well-known, but I will list some items anyway.

Pros:

  • You are likely to work less.
  • Your payments will be more steady.

Cons:

  • You are likely going to be following someone else's lead nearly 100% of the time, to a small or large extent.