This isn't just happening in Nigeria. Sydney Opera House ran something almost as vile as this too[0]. The eventually relented and relaxed the IP clause, but this sort of scumbaggy behaviour is becoming common now that everyone is jumping onto the hackathon bandwagon
Once, during an interview, the interviewer started asking me solutions to very real-world problems which I could immediately understand they must have been facing at that time. A high level discussion was fine to judge my ability, but he started getting deep into the implementation details. I got the sense that he is trying to get a solution to his problem in the pretext of interview. I gave him the solutions as I would have anyway done so had anybody asked for help. I have since then thought many times but could not decide if it was unethical or just a harmless stroke of creativity.
OPs case certainly seems to have cross the limit of ethics though.
I think those sorts of questions are highly ethical, and should in fact be encouraged.
By asking deep questions about actual problems the company is facing, you get a much better sense of a candidate's relevant abilities than with generic algorithm questions.
I don't this is unnecessarily unethical or unwarranted.
If several members of a team have been struggling with a problem, it's interesting to see a person's first take on it.
Are you coming up with creative new solutions that haven't been brought up in the team's conversations?
Are you coming up with solutions to the problem that the rest of the team immediately crossed off, or even are obviously wrong?
Also, I wouldn't mind getting a taste for the real-world problems I'd be facing at the company. I find it far more shady when I get interviewed, sign a work contract, and find out I'll be working with several other technologies that weren't anywhere in the job description or interview.
Consider it a very short work sample test? I don't think it's particularly unethical; if anything it's better for you to be demonstrating your expertise for real rather than figuring out how to get chickens and foxes over a river.
What costs more - hiring a consultant for a few hours, or putting out a proper job advert, organising the logistics for handling submitted applications, sorting through the candidates, choosing several, receiving them at interview, booking a suitable room, and possibly covering their travel costs?
I would imagine that in quite a few situations, the consultant would be cheaper.
My first job interview went like this. They had a specific problem that they wanted to solve, and asked me how I would do it. I gave my answer (solving the problem for them), and they offered me the job, so I got to spend the next six months implementing my suggestion.
I had a rather lengthy interview process for a one time contract doing some technical documentation. I explained what docs I would provide, how they would be organized and an example of the main docs being used. They ate it all up, and decided to use my stuff as templates using current staff after offering and then rescinding the job.
At the time I decided against pursuing any action against them because I wanted to look ahead to the next opportunity. In retrospect, I should have billed them for my work which they were using.
If you think you can bring a dozen experts in a field you marginally know about under the pretext of a "job interview", talk to them a couple of hours each about your problems, and then go and implement everything they said by yourself without any extra help... what kind of so-called-solution do you think you'll end up with?
If on the other hand you are the victim of one of these "interview scams"... do you think you'd want to establish a long term relationship with someone who's both a scoundrel and a moron? How long do you expect such relationship to last?
I don't think that's so bad- it's what was on the interviewer's mind, probably; and it's useful to know how a potential co-worker thinks. Better than writing fizz-buzz for the thousandth time.
I wouldn't go as far as unethical but I will say it's a bit shady because it really does rob you of the chance to interview properly. Yes, if it is a hard real-world problem you're solving then it will look better on you, but at the same time, those types of hard problems are typically tackled by teams while an interview is more or less focused on YOU, and YOUR ability to work with a team. Or if you'd like I have a friend Frank who would love to come to an interview with me.
I did this once in an interview, but it was a high level "how would you tackle this problem" question. We already had a solution implemented though, so whatever the candidate said wouldn't have mattered much. I think real world problems are far better than the algorithm implementation problems that plague interviewing.
Sigh, I suppose we're supposed to feel outraged. Believe it or not, other industries have faced their share of exploitation too.
Software development, at its lowest level, is a new form of labor. It's only natural for the economy of the world to search for the next big source of labor which can be exploited for cheap development. The market is also experimenting with different schemes and mechanisms by which to exploit. Let's not act surprised- what we do is not incomprehensible magic; the labour situation is fundamentally the same as every other industry. Software is new though, so it will take a while for the global economy to figure out just who and how to squeeze, in order to harvest that sweet sweet software juice. Lets just say globalization has its consequences.
If you're living in the third world and you can code for work, you're probably doing better than most people in your area, who are likely being exploited for their physical labour or worse. We should feel outraged for those living in slave-like working conditions. Lets talk about ending that. What we're seeing here is just a tiny side-effect of economic development; lets try to address the worst.
Are you arguing that, because other industries also face exploitation, we should not be concerned about it in software development? Just because there are others who have it even worse doesn't mean that we should ignore exploitation in our field. That argument makes it very difficult to take any action, because you can almost always find someone else worse off.
I'm suggesting that, as hackers, we ought to try and "cure" this disease that the economy tends to have on the world, rather than complaining about the symptoms that pertain to us. If we're gonna talk symptoms, there are more serious examples of human labor exploitation.
And I'm all for action against any type of exploitation, but I haven't heard any ideas suggested here. If you have an idea on how to specifically address exploitation of software developers, I'm all ears. Maybe those ideas could later be transferred to help protect workers in other industries.
Lets figure out how to fix this. One of the most basic ideas is a union. It would be easy to unionize in a basic form, but I wonder if a developer union could hold any power.
What if some hip new language/framework had a unique license with some higher-level ethical clauses, backed by a tight-knit developer community? Such that developers are at least theoretically protected when they write code in that ecosystem.
Yep, graphic and industrial designers get worked over by stuff like this all the time. A big company puts out a "design competition" and hundreds of students, amateurs, and people early in their careers submit work. Often, by submitting you're giving away any intellectual property. A $5,000-$50,000 competition will net the winner a little cash, the company a new logo or product idea or large amount of material to brainstorm with, some advertising and some goodwill with designers... and the non-winning designers get nothing.
Anyone who's been in the industry for a bit will stay clear. There are tons of people in the industry calling for the end of this practice as it devalues the industry (quality of work and the compensation).
I'm curious on the exact legalese (not so much to go look it up though). "The year-in, year-out maintenance and support of the app shall be the sole responsibilities of the winner." - Okay. And if I don't do it, then what? This stipulates they're solely my responsibilities, but that means I get to decide what maintenance and support is necessary, too.
The rest of it is terrible though. Upon winning you have to complete the app according to unspecified additional requirements? Without any guarantee of additional pay or anything else? Ha ha ha ha ha. No. I don't care if you need the money, don't even try such a thing; you're selling your life for $3k.
While this is absolutely appalling from our standpoint, other countries dont play by the same rules. Nigeria has a lot of poverty and while i've no idea what the cost of living is over there, i bet $3k goes a lot further there, than in the US.
So while that IS exploitative, it should be better and i dont condone it at all, its perhaps the first step in a road to a better tech industry. Sometimes an industry doesnt just start at the end goal, it has to have a few shitty iterations before things improve.
Perhaps the next competition will be fairer after learning some lessons by running this one?
I think the most troubling part of it is essentially becoming a full-time employee of the business running the competition. It wouldn't be so bad if they just took the app, handed over the money and parted ways but now they're responsible for maintenance with no extra compensation. Seems quite dangerous to me.
And as I commented elsewhere, you're also agreeing to complete the app according to unspecified, additional requirements. It's not just maintenance; you're agreeing to do unlimited dev work up front for no additional pay, too.
You would think that but business and people don't work like that they try to get away with some outlandish shit and if a lot of Nigerians bite that's it folks a industry is born.
Don't expect it to get better since if you don't accept the shitty deal their offering someone else will.
In fairness (perhaps) to them "A Service Contract Agreement, Service Level Agreement and Source Code Escrow Agreement shall be signed between the organisers and the winner to guarantee the operations of the app year-in, year-out" implies to me that they will agree to pay something in return. I doubt they'd expect the developer to service the thing for ever and ever for nothing?
[0] http://www.theregister.co.uk/2013/11/18/sydney_opera_house_t...