I agree. When I first meet someone over the phone or in person I'm in a social mood and prefer to talk rather than do a code dance for them.
Once I'm alone at my desk though it's easy to get down to business.
Think it would be cool if companies just said show up to work, and you work for free for the first week. After that both parties can decide if they want to continue.
I would actually enjoy a one week type engagement to get a good fit for a company.
It works both ways. You are selling your time. They are selling their environment.
The problem is that the employer is accepting a lot more risk than the employee. Do you like paying for something you can't return and you can't get your money back for if it is crap? This is the situation a lot of companies are in. They hire someone, they pay them to write the code or build the project and it turns out it's all a lot of garbage and the company is out the money.
This problem is really tainting our industry. I think a lot of people who call themselves programmers are really just some kids off the street who grabbed an open source package and started hacking away. They can build a website with some graphics and stuff, but they have no vision, no experience with large systems that are actually going to be used for any significant period of time.
Set aside the whether or not you get paid for the week's trial period for a minute.
How the hell does someone with a job arrange to take a week off to do this trial period for another company? Maybe it works for entry-level or the unemployed, but I don't think you'll find a lot of good senior developers who would be able to make this arrangement work. I've taken jobs entirely based on their interview process. "If I made it through that, and everyone else I'll be working with also did, I'm pumped to work with these people!" Same benefit would apply to the week long trial, but making it work logistically is difficult.
Hmm... I see your point. Perhaps we disagree on the word "work." When I think of "work" I think of moving a company in a desired direction.
A lot of people think of work as "sitting in a cube."
The question is, "How do we determine if the candidate's definition of work matches the employer's definition of work?"
Maybe what you think you are doing when you are working is actually causing more problems and moving the company backwards because they are going to have to undo all the crappy code you wrote. I'm not meaning to attack you, I'm just trying to illustrate a point. Know what I mean?
Maybe such an engagement could work out where, "If we hire you, we pay you for the week. If we fire you, we keep the money and you are out."
This reduces the risk for the employer while also giving the employee a chance to examine the company and be paid if the work is satisfactory.
Or perhaps better: the week's pay is given to the new employee if hired, or to a mutually-agreed charity if not hired. Then there's no financial incentive for the company to cycle through candidates for a free week's consulting.
Makes no difference: they hired me, they pay me. Doesn't matter if I create $1M in profit that first week or I sit there with my thumb up my ass. If I'm there I expect to be paid for it.
Furthermore, I have no interest in reducing the risk for the employer: I expect them to do that. I reduce my own risks. If I'm the employer, then of course my perspective will shift 180deg.
I think pj's suggestion is a means of reducing the risk to the employer. The way they reduce their hiring risk is to make sure you can do the job before hiring.
> This reduces the risk for the employer while also giving the employee a chance to examine the company and be paid if the work is satisfactory.
How about a one week stipend. You're view point is too company-centric, I MUCH prefer to work for people-centered companies. Either way you need something a little more symmetric if you don't want to become standard laughing stock among developers. (Or maybe you and your-co are so badass you can't do wrong and developers intrinsically trust you so it doesn't matter.)
What are you going to do in one week at a place? It could easily take that long and much longer to ramp up and even understand a part of the existing code base.
I've gone into a company with software systems that were a complete rat's nest, learned the enviroment, accessed files and utilities needed to make changes, and implemented a significant change in 2 days. A lasting and flexible change that will enable the company to operate more cheaply and be more agile in the future.
Many information systems can be implemented in a week. You could set up email, an e-commerce site, a CRM, SCM, or even substantial portions, if not an entire ERP system depending on the size of the company.
A week is a long time if you know what you are doing.
Ah, the area where we disagree is on the size of the company in question. I was thinking medium to large, while it looks like you are thinking more start-up. I agree that a week is much more viable to assess someone in a startup. In a large corporation, they'll be lucky to have a computer by then!
Agreed. I don't respect a company that won't give a person two weeks to get the feet wet... i.e. set up dev station, learn the network topology, and bone up on the development stack.
By not letting someone acclimate to your tech environment, your potentially shoving them off on the wrong foot (not to mention stressing them the fuck out,,,which WILL kill their productivity). A mistake that could cost you months of 50% productivity because you didn't (as a company) empower your developers to do their best work.
When I see managers pulling some "whip them harder" management styles, I can't help but be left with the want to remind them about the french revolution. Pointy-haired bosses will soon figure these things when "their" work force becomes a bit too empowered.
The question is, "How do we determine if the candidate's definition of work matches the employer's definition of work?"
Well, the candidate would be giving away a week of his time, which can be a bit problematic. How would you arrange this if the candiate was already employed?
He'd take a week of unpaid vacation from his current workplace, and give it away on a chance he might want to switch jobs and be accepted? Besides, 1/4 of your monthly salary is definitely a noticeable loss.
What if this was a common practise? "Oh well, this didn't work out. I'll take another week of unpaid vacation to try out for that other company then"..
A lot of people think of work as "sitting in a cube."
Working for some place means exchanging your time for money. Whether that time is spent coding with a burning passion, moving a company in a desired direction, or looking at lolcats is another matter.
I think show up and work for a week - with your old pay + 20%, then we'll talk about further negotiations - (perhaps another 10% or so) ... or we can both walk away.
I've also seen a lot of "contract for hire" jobs at larger companies that are short (3-6 month) contracts, with an understanding that they are evaluating whether to hire you full-time at the end of the contract. If not, you still got some contract work and can move on.
I thought it was very common practice to have a [paid] probation period, where the company is free to keep someone or let them go. Usually the period is less than 6 months. That seems a sensible approach to making sure your hiring decision was good or not.
Under US law (in most states), the company is free to let someone go at any time barring a specific contract to the contrary. I guess if you tell someone the first n months are a probationary period, they'll have their feelings less hurt if they're fired during that period.
Once I'm alone at my desk though it's easy to get down to business.
Think it would be cool if companies just said show up to work, and you work for free for the first week. After that both parties can decide if they want to continue.