Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been interviewing candidates lately for a developer position requiring 10+ years experience and have come across a couple of CVs that I am not sure how to understand: I have interviewed a few of these people and so far have had no luck.

What are people's experience with developers with about 10 years experience, but who from day one have been working as mostly project-based freelancers? Are there potential benefits or drawbacks to a software development firm in having that type of experience?

share|improve this question
4  
How is this helpful? You can't get any meaningful information by generalizing all freelance developers with ~10 years of experience, nor will anyone's experience with different individuals help you. You're interviewing them, so you (and perhaps other members of your team) have interacted with them. Are they qualified? Are they a good personality fit for the team? What exactly else are you looking for? – Thomas Owens Sep 24 '11 at 19:40
@ThomasOwens - I believe he is asking how do programmers who mostly worked as freelancers (as opposed to those who have spend most of their time working for a company) differ? Personally, this is an ok question and it stands. It is undoubtable that for example, freelancers will understand the concept of project management and management in general a little better than those who haven't done it. – Rook Sep 24 '11 at 19:59
@Rook - How does project management differ in an employee situation as oppose to a consulting situation? – JeffO Sep 24 '11 at 21:23
@Jeff O - Sorry, what consulting situation? Could you elaborate on your question a bit? – Rook Sep 24 '11 at 23:45
Assessing people is a complex process, that shouldn't be dumbed down to trivial criteria, such as having been a freelancer or not, having 10+ years of "experience" (whatever that actually means) or having written at least 1M LOC. – back2dos Sep 25 '11 at 0:07
show 2 more comments

7 Answers

The ten year freelancer is probably a better developer than the developer who spent ten years working on one product at one company.

The freelancer has ten one year periods of experience.

The ten year company developer who had the 'real job' very possibly has one year of experience ten times.

I say that as someone with 8 years in my present gig.

share|improve this answer

Some of the longest jobs I've had in my career have been as a contract programmer. I spent 4 years on a contract at one company, spent 4 years on 3 "full time" jobs, and then went back to the same company on another contract that lasted over 6 years. I cared as much about the success of the project and lost as much sleep over problems as anybody on those projects. I did design, coding, customer site visits and weekends on call. I dare say I'd be as invested in the success or failure as if I'd owned the company. I resent the implication that because I was a contract programmer that I didn't care or work as hard as anybody else. The only difference is that I didn't get a health care plan.

share|improve this answer

I've learned that the important thing is not to sell what you have done for other companies. Instead, sell what you're capable of doing for this company.

share|improve this answer
Its good idea, but, I have seen that many recruiters check for the most common previous experience – umlcat Sep 26 '11 at 15:07

I can only offer my personal experience. I've never worked as a freelancer, but I have worked with several folks who only worked as freelancers. They've all been very good. We would have been please to hire them as permanent employees, but they preferred to stick with freelancing.

Someone who has kept themselves employed as a freelancer for ten years and has been through at least one down business cycle will generally have good judgment, a lot of drive, and enough technical chops to keep most of his customers happy. You can't make a hiring decision based on this point alone: somebody with ten years of freelance web design isn't magically going to be a great low-level coder on a database server. However, if they'd been working in the right general arena, somebody with a ten year record of successful freelancing would go straight to the top of my resume pile.

They may not be inclined to put up with tedious busy work, or pointless bureaucracy. The folks I worked with did fine with bureaucracy in general, but they drew the line at pointless bureaucracy.

Obviously you have to call the previous employers and customers to verify their work history and quality.

share|improve this answer

Thomas Owens comment is pretty to the point. Having been been a freelancer doesn't say anything about someone as a person or as a developer.

Personally, I have been working in software development in a couple of distinct capacities:

  • As an employee of a (large) consultancy organisation. I would work on their clients' projects at their clients' place of business. An hour-invoice type of deal, this was at a time when the concept of fixed price project was still at its infancy.
  • As a freelancer / self-employed contractor. Essentially this was the same as being employed through a consultancy organisation but I had the power to say "no" and could go after projects I liked.
  • As an employee of an in-house development shop.
  • As an employee of an independent software vendor.
  • As a business owner, developing smaller software applications for clients.

What does that say about me as a developer? Nothing.

There are many prejudices about freelancers, for example that they don't have any staying power, are easily bored, can only be trusted with the simplest of assignments. They probably are true for some, because if you do get that itch or your quality isn't up to scratch it may be easier to jump from project to project than to stay with one organisation for a longer period of time.

Freelancers are willing to take their skills and put them on the line. They get the boot quicker than any other employee, often simply because the money ran out or company politics killed the project they were hired to do. If someone has 10+ years experience as a freelancer, he or she has been able to pay the bills for all that time without the comfort of job-security. To me that is a positive. Even spells of many short contracts (3 months) are not necessarily a warning sign, while that would most certainly set alarm bells ringing for someone who was an employee all that time.

And what about someone who was employed all that time by a couple of consultancy organisations? They could easily hide the fact that they were booted from every project they worked on, simply by not mentioning specific/any projects or being vague about their duration.

Or someone who was employed by let's say three big organisations with large in-house development shops? Are they any better? More stable? Again it would be easy for someone with an employment history like that to hide less attractive facts in a general description of their employment. Never mind they were spat out by every team they were assigned to.

TLDR

The type of contract someone had when working on a project means tiddly squat. Having been a freelancer your entire career doesn't say anything about your worth as a developer. Nor does having been an employed person all your career say anything about your worth as a developer.

Your projects do. Your skills do. Your colleagues do. Your references do.

share|improve this answer

Short Quick answer

  • Can you check with previous employers / customers, performance ?
  • Can the candidates give you a good reason why to work as a "freelancer" instead of a "company job" ?
  • There are several situations currently on the I.T. industry that pushes people to go "freelancer" instead of a "payroll job"

Long extended boring answer

This is a trickly situation.

Many "old fashion payroll HeadHunters", take "freelancers" as "inestable" or "untrustable" or "cannot keep a job" candidates. And some cases may be.

But, these days, Many companies that require Software Developers have change from been a "payroll" or "long term work within customer office contract" jobs to "short term within customer office contract" or "freelance work at home contract" .

There also some situations where developers may choose to go "freelance", and still be responsible, and perform well (I personally think these are good reasons, but, its subjective):

  • Lack of jobs on living area, but unavailable to change location
  • Age discrimination, you're over 35, and the company decides you to replace you, even if you have a good performance, and other companies do the same
  • Has a disability, that doesn't allow to have a job at a company, but, can work at home
  • Have some independence, like parents with children, that can adjust or move its work time (have to get the kids at school at 9 AM)
  • No job promotion, companies decide to hire "Ivy League Business Project Managers", and keep 5 to 10 year employees as "junior developers" for the rest of their productive life
  • Have tattoes, piercing, weird hairstyle of clothing, have a rock band, and still be very responsible at work

"Freelance" is a half way to "Own Software Developer Company"...

What are your reasons to accept a "freelancer" ?

What are your reasons to reject a "freelancer" ?

Does the "freelancer" paradigm works well in some projects, and bad in others ?

share|improve this answer
Can the candidates give you a good reason why to work as a "freelancer" instead of a "company job"? It's generally not "trickly" at all -- you choose to freelance when you're willing to trade stability and benefits for flexibility and a substantially higher hourly rate. – Caleb Sep 25 '11 at 4:25

This depends a lot on the developer. And the job you're interviewing for. And what exactly you mean by freelancing.

There may be a concern over their ability to work as part of a team (they may not be keen on code-reviews, for example). But then freelancing might involve going to a company and working as part of a team, or even working as part of a team of freelancers.

There may be a concern over their lack of experience maintaining a product, assuming you work for a company who has a legacy product to maintain, but it could be that the nature of their work has given them that experience.

There may be a concern over their ability to stay in one place. Or that may be exactly why they're trying to get out of freelancing (plus, I've had salaried staff leave after a year).

And it might be that all those things are a problem but it doesn't matter in your workplace.

On the other hand, there is a good chance they'll be better at other parts of the development lifecycle (such as project management, gathering requirements, testing) but it's possible that they've had someone else doing that for them, or that the companies they've worked for have taken on that part of the job.

So, in the end, it's just like interviewing anyone else. Identify your concerns before the interview, make sure you ask the right questions and don't waste time on stuff like "what do you think is your biggest weakness?"

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.