Fog Creek Software
Discussion Board




interview questions versus usable work

In my quest to find employment, I recently applied to a small software development company numbering 2 employees and one managing director. One employee seems to have just left. One of the employees is a recent graduate 6 months out of university and the other is a mathematican.

I was given a pre-interview software development problem to do before the decision was taken to interview me. I thought about the problem while doing other things one morning. In the afternoon I wrote the C++ and Standard Template Library code for the problem. It only took me 3 - 4 hours all-in-all (if that). When I finished it, I emailed them the source code. Soon afterwards I got invited to an interview.

When I got to the interview, they told me that I was the only candidate that managed to solve the problem correctly.

It seems that it wasn't a generic interview question but the code they actually needed for one of their next projects. Of course the code I wrote would have to be adapted a bit, but all the harder 'thinking' work has been done.

I don't really mind much. It was only a few hours work. But it seems whether I get offered the job or not, they have C++ code that is actually useful to them - and given to them for free.

Savage Planet
Monday, June 23, 2003

check copyright laws and see if you actually own the code.

Tom Vu
Monday, June 23, 2003

I'm not a lawyer, but I'm pretty sure that by default (unless you signed an agreement with them), if you wrote the code, you own the copyright, if not employeed by them at the time you wrote it.

S. Tanna
Monday, June 23, 2003

Sweet.  I have my next business plan.

Post for a marketing / sales position - with a pre-interview questions: How would you identify market needs for new software development? Cite examples. How would you proceed to market the software?

Gather the results and write a spec for an application. 

Post for a software development position - with the spec parsed out and sent to different applicants.

Amass the replies and post the job on rent-a-coder for a developer to compile, test, and debug for $1.00/hr.


Seriously, though, if you have an electronic record of the email transactions, I would think that you would have legal recourse if they used your code and didn't hire or compensate you.  Maybe you should've commented your code submission with a copyright statement.

Nick
Monday, June 23, 2003

good one Nick:-)

Prakash S
Monday, June 23, 2003

It could be construed as exploitative.  However, if you're going to interview a candidate, what better way to test them than to give them a real-world problem that you're facing and see how they would handle it?

joe
Monday, June 23, 2003

Legally, putting a copyright comment in is no better than just writing the code without the comment and sending it in.  In either case, you do own the copyright to the code unless you explicitly grant it to the company you sent the code to by signing some agreement.

Having said that, it is much easier to go after misuse if you've registered your copyright beforehand, but that is both unworkable for the job search process (takes way too long) and is probably overkill for 4 hours of work. 

In any of the above cases, the company is being fairly shady and somewhat legally wreckless unless they let you know beforehand that they intended to use this code in their product(s). 

Given the current economy that fact may not matter too much in a practical sense -- unless you're sitting on a bunch of job offers you'd probably be best off at least interviewing and hearing what they had to say.  Sad, but true.

Mister Fancypants
Monday, June 23, 2003

Whoops, I meant you'd be better off waiting for their offer (if any), as you've already interviewed.

Mister Fancypants
Monday, June 23, 2003

Savage,

Putting myself in your shoes here, my feeling here is that what bugs you most is not the amount of time you spent, or even the fact that they got a few hours of free labor from you, but that they didn't state upfront "Oh, and if you solve this in a fashion we like, we're going to use it in our actual product".

In other words, they withheld information that you rightly ought to have been informed of.  It's difficult (without knowing more) to judge their motivation.  It may have been pure ignorance ("Gee, it didn't occur to us that you would want to know your code was going to be used"), unlikely as that may seem; or they might have planned it from the start.

Knowing only what you've said, I think my decision here is that I would keep quiet until I knew what their hire decision was.  And then, mention in a non-provocative fashion that I didn't mind giving them a few hours of free work but that I would have liked to have known that was the plan in advance.  In short, to my mind there's no point in making a big deal out of it, but it's worth mentioning.

-Thomas

Thomas
Monday, June 23, 2003

There is an assumption in some of these posts that because the problem presented to applicants was a real problem that they needed to solve that this company is going to use SP's source code without getting permission.

Unless they are completely clueless, they should have some idea that using this source would not be the most ethical or maybe even legal thing to do.  If you get a job offer you might ask about this to see what kind of outfit you'd be going to work for.

mackinac
Monday, June 23, 2003

You forget this is a corporation, albeit a small one.  Corporations don't care about the law unless breaking the law hurts their profits.  They look at what they stand to gain if they break it, vs. the probability and penalties of getting caught, and go from there.  That's why they evade taxes, put illegal clauses into contracts, misclassify employees as overtime exempt, hire illegal immigrants, and abuse employees in a number of ways.

This company is going to keep and use the code, and they ain't paying for it.  Take them to court, and they'll probably lose, but they have already evaluated that they aren't likely to be sued.

T. Norman
Monday, June 23, 2003

Wow. They have stolen your work, quite brazenly. You were the only person to solve the problem, so clearly it was not some simple thing for them to do. They themselves seem not to have been able to do it.

See them and work out an ongoing fee structure for the use of your code. If they tell you they've redesigned it, wait till they're profitable then sue them.

.
Monday, June 23, 2003

My feeling is that what they did was dishonest and that because of that I would not accept any offer they gave. Of coure you may not be surprised when they give you a low-ball offer and make you 'negotiate' just to get an average rate.

I'd say they obtained work from you under false pretenses. I think it actually rises to the level of fraud. Send them a bill for 4 hours work at your normal consulting rate of $150/hr. Send it on letterhead for your consulting business. When they refuse to pay, spend the $20 filing fee to take them to small claims court. I suspect you'll win, and you might get treble damages ($1800) because they were acting in bad faith.

Tony Chang
Monday, June 23, 2003

This is why those Absolut advertising guys refuse to look at any suggested submission that comes their way - they don't want it to seem as if they had the opportunity to steal someone's idea.

I forget what it is you have to prove in these cases, but it's something like opportunity and motive. Did they have a chance to steal your code, do they have a reason to steal your code, and the biggie - did they steal your code.

Once you've been hired by them you probably have no legal recourse, but if your work turns up in their product, it may be worth your while to pursue it... if you think they have any money to give and you're motivated by that kind of thing.

www.MarkTAW.com
Monday, June 23, 2003

I don't follow. How do you know they plan to use the code? It's not obvious from what you've told us.

And the horse you rode in on
Monday, June 23, 2003

Thanks for all your replies.

I don't know for a fact that my code will be used, but it would be silly just to throw away my code and then wriggle around thinking about how to do the same thing again.

I was helped in managing to write the code in a few hours because a few years ago I had to do vaguely similar data manipulation (in one part) for a different project.

They spoke of one project they wish to do and how it connected with the code I wrote for their interview problem. Essentially the code I wrote solved the first problem in this project.

The work I did was only 'thinking time' plus a few hours to write the code one afternoon/early evening. I'm not really bothered about such a small amount of work. I would consider getting money for this work as a bit over the top.

I've yet to find out whether they will make me a job offer or not.

Savage Planet
Monday, June 23, 2003

Savage,
No firm goes thru an pain in the ass interview process to save a few hours of salary.    You did a little free work.  BFD.  Every successful professional does some pro-bono work anyways.  You spent a few hours and you wowed them.  If they hire, you, THAT is your payback.  If they don't, maybe next time.  If they actually interviewed you to steal your code, then they're fucked anyways.  Not your problem.  People telling you to find a lawyer are idiots.  Many programmers have piss for career mgmt skills, so caveat emptor about who you take advice from (including me!)

Bella
Monday, June 23, 2003

Savage,
No firm goes thru an pain in the ass interview process to save a few hours of salary.    You did a little free work.  BFD.  Every successful professional does some pro-bono work anyways.  You spent a few hours and you wowed them.  If they hire, you, THAT is your payback.  If they don't, maybe next time.  If they actually interviewed you to steal your code, then they're fucked anyways.  Not your problem.  People telling you to find a lawyer are idiots.  Many programmers have piss for career mgmt skills, so caveat emptor about who you take advice from (including me!)

I Agree With Bella!
Monday, June 23, 2003

Wow, all the guys that bitch about interview questions not being "real-life" enough are now gonna sure you if they are!

xyz
Monday, June 23, 2003

I think your approach is the right one, for a slightly different reason: as a practical matter, what have you lost here? You did precisely the same amount of work you would have to solve a made-up problem,and turned in a good solution as well. You're likely to get the offer, but even if you don't, it just isn't worth it to make a big deal about it.

Zahid
Tuesday, June 24, 2003

I remember many years ago giving an interviewee our standard programming problem as a test.

His answer was garbage, went in the bin, and a rejection letter was sent.

Next thing, he arrives at our office demanding that we "return the work" he had done for us...

David Basil Wildgoose
Tuesday, June 24, 2003

The more I think about this, I doubt there's anything nefarious going on. I don't think companies are inherently evil, as some would suggest.  After all, companies are just people, and most people are pretty decent (the bad ones just stick out more).

Several years ago I needed an outside contractor to port an old application from Win3.1 to NT and implement a number of changes. I described the problem to each candidate and asked them how they'd go about it. I hired the one with the best answer.

Nick
Tuesday, June 24, 2003

The only problem is whether they were upfront about it in the first place and then only if they intended to use any usable code that came out of it.

On the other hand I wouldn't particularly expect to be able to use code that came from an interview.

As a consultant its normal for me to do something minor as I'm convincing them that I'm the right person to entrust whatever it is with.  It might be some small but annoying irritation that I can fix quickly without causing ructions elsewhere.  It wouldn't be any kind of deliverable though.

From the company's point of view they've painted themselves into a bit of a corner because they've accepted that your code solves some problem or is of use, so they really have to hire you or face the possibility that their development is poisoned and you could come after them some time in the future.

So, I'd expect an offer from them.

Simon Lucy
Tuesday, June 24, 2003

You're the only guy that's sent in code that works, so it doesn't sound like a very profitable way of writing an app, if they have to spend hours weeding out all the stuff that doesn't.  And if they know it works then obviously they have some idea. And if they don;t have any idea they're never going to make any money anyway so why bother suiung?

Stephen Jones
Tuesday, June 24, 2003

I suspect the company's rationale went along the lines of...

We need to hire.

We're a small company, can't afford to make a mistake. If we get candidates to write part of the code we need then we know we're not making a mistake.

Oh, only one person solved the problem. Let's interview him.

...if they hire you, you will just finish the job you already started. I doubt they even thought about stealing the code. It simply wouldn't make sense to hire someone who couldn't write the code instead of someone who could. It would be a bit like Ferrari hiring me to drive their car, because I've seen how Michael Shumacher does it.

Seriously, some of you guys are too cynical.

Pete J
Tuesday, June 24, 2003

I'm with Pete.

The rest of you do realise that the people behind you and going the same way on the street aren't actually following you, right?

Mr Jack
Tuesday, June 24, 2003

The fact that the work took only a few hours doesn't indicate it's not important or valuable. The conciseness of that solution might arise from the fact that the developer has important expertise.

Programmers really do need some basic business education.

.
Tuesday, June 24, 2003

This activity is actually quite common. If they are asking you for what is effectively free consulting, the standard advice is to give it to them by hand, or during a presentation (not really applicable here), mail it to them on paper with copyright in the source code, and terms and conditions on it like, cannot be used without permission, must be returned after the assessment, or you must receive payment for the consulting at industry standard rates (which would amount to n x $100 for 3-4 hours work). You could also offer to work for them on a contract basis to implement it correctly, and potentially with a view to continuing the relationship on a longer term basis.
You could wrap it up like an EULA, (by opening this you agree to the above conditions & billing rates for continued work).

Ultimately, if they want to assess your ability, you can do it with code in front of you that you brought in with you. Standardised tests couldn't be used in this way. If someone is asking you to fix a specific problem they want free consulting, they are not looking to assess you. Smaller companies are much more guilty of this practice.

Richard
Tuesday, June 24, 2003

Maybe the company already had ideas on how to solve the problem, they just wanted to see others' ideas.

Ideas are traded both ways during interviews. In a good interview, both candidate and interviewer will learn something, because they will both be smart but have different backgrounds.

In this scenario... well, it does sound like an expensive screening process, possibly in more ways than one, but small companies are always quirky.

mb
Tuesday, June 24, 2003

Gee, this is kind of like a new open source model.

With enough interviews, you can develop your product for free.....

Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
http://www.attcanada.net/~kallal.msn

Albert D. Kallal
Tuesday, June 24, 2003

Note that the development problem was given *pre-interview*, so it costs the company nothing more than evaluating it to see if it works -- which is negligible for the submissions that clearly don't work, and zero for those who don't submit anything.  So it's not as if they're investing time in interviewing lots of people in order to obtain the code.

It's a new pioneering business model.  Get job seekers to code your application for free.  They should patent it.

T. Norman
Tuesday, June 24, 2003

While I agree that the activity itself opens up the company to a legal can of worms, I suspect their intentions were honorable. In which case, it's no big deal.

In situations like this, the company stands more to lose (via lawsuit from the dozens of people who sent them code and got rejected) than the person who spent an afternoon writing code for them.

I agree with Bella and Pete here. Unless you plan on doing something about it, put it behind you and move on.

www.MarkTAW.com
Tuesday, June 24, 2003

I agree with the posters that came to the conclusion that the intention was to test candidates rather than get some source code written for free. I never really believed the sole intention was to rip me off.

At the interview the managing director said what was an offer was a 'work-trial'. By the way this is for a UK based job.

I looked this up and it seems for a work-trial, the government can actually pay the company 75 UK pounds a week for taking someone on for a work trial so long as they pay the employee the going rate for the job. Additionally a variation can be that the new employee continues to get unemployment benefit PLUS meals and travel expenses paid by the local government job centre.

Things seems to have changed. In all my previous UK software development jobs, the job has been a job, not a work trial.

Is this plain mean or are companies paranoid now about making the slightest financial commitment?

Gee, and to think I've written code used by millions of people for a world famous company. Now even the thought of offering me a real job is too much!

Savage Planet
Tuesday, June 24, 2003

*  Recent Topics

*  Fog Creek Home