Hacker News new | ask | show | jobs
by chuck32 3290 days ago
Having been a contractor for a short while (~1 year) and having worked with many different contractors over the years I've never seen a situation where management has been like "this part of the codebase is too much of a mess for us to handle, we need to hire a contractor to sort it out". Does that ever happen? Surely a contractor would be even less prepared than a permie to handle such a situation because they won't be familiar with the codebase?

In my experience contractors are mainly hired for development of new projects or features when they'd like to get some more hands on deck to speed up development. Or because the company would like to hire a permie but can't for whatever reason (not sure they will have enough work in the long run, can't find the right person etc.).

Also I've never seen a contractor that who's day-to-day functions were any different from that of a permanent employee. Where are these companies that let permies play ping pong for hours but have the contractors chained to their desk churning out features and reducing technical debt?

3 comments

In my 6 years experience I've never seen this either. Here in Germany maybe it's a little different - contractors are very common at large companies, because it can be very hard to fire people once they've passed their trial period (3-6 months). So companies can be more reluctant to make permanent hires. Another reason is that a department might have a strict limit on their head-count (of internals), but not their budget, so they can still increase their workforce by hiring contractors (don't ask me why, just big company politics).

At the two large companies I worked for, around half the team members were external. In both cases there were 3 types of worker:

1. Internal

2. External contractor & a permanent employee of a contracting ("body-leasing") company

3. External contractor & a freelancer / self-employed

In terms of the tasks and technical responsibilities you have in these roles, I didn't notice much difference. The main difference in case 3 is that you get significantly more money (like 1.5-2x more), in exchange for worse job security. Given how easy jobs are to find in the current climate, I don't understand why more people don't opt for this. In case 2 in particular, the contracting company is taking up to a 50% cut of the hourly-rate, it's kinda crazy.

Doing 2 in Germany.

Because when one gets sick for long periods, needs to take care of kids or close family, only gets offers in the other side of Germany for a given tech, life is way easier with 2 than 3.

I totally agree. I'm a 3. Whilst no job is safe, we are always "first to go", so the 1.5-2x rate is not for nothing.
When I was freelancing, I was specialized in fixing businesses/projects that got stuck due to tech debt and non-communicating teams, using a bottom-up approach.

The hardest part is changing the mentality of the team, but within a month or 3 you usually ignite the spark that gets everything back on track. Getting to the first tiny win that changes the status quo requires a lot of hard work, but once that's rolling, it's only a matter of making yourself redundant.

One caveat: the bottom-up approach works best when people introduce you as the helping-hand dev. Some people had a hard time understanding the exorbitant paycheck, when all you do is sit with the developers, not even being a PM? (TBH I've been an ad-interim PM in most of these projects for a few weeks, and it usually helps - lead by example etc).

TL;DR: businesses/teams do get stuck, and a consultant who knows what he's doing and doesn't care for titles can turn around things.

EDIT: The one thing that's lacking in this article, is the social aspect. If you are only fixing code, you are just fixing the symptoms, not the causes.

This use of the word "permie" is toxic and annoying.
Annoying? Perhaps. But toxic? I don't see how..
It's all about portraying some colleagues as inferior by calling them a childish nickname.

I've known several permanent staff members who left their roles due of this kind of behaviour (contractors boasting about rates vs. salary for the same work, refusing to merge code, etc). Calling colleagues cutesy childish nicknames is definitely a start on a downward spiral