Web developer will work for you for free
hirefreecoder.heroku.com
hirefreecoder.heroku.com
But he should totally charge an hourly rate instead of free. I know people would pay for it.
I generally agree with your parent that he ought to spend that time doing something that can showcase his skills and increase his chance to get hired. He can gain more exposure working on something in the open (a personal project, an OSS project) than doing some work for a single company.
I would say the exceptions would be: a) it's a charity or a cause that you like, or b) you really need to improve a particular skill and it's more of an internship you're looking for.
Either way though, I give you mad props for initiative.
That's why you shouldn't work on Sinatra and other open source tools meant for developers.
Instead, build an app for a much wider audience. Do what an entrepreneur trying to sell his app would do, but with open-source - i.e. the end goal being to have real users that appreciate your work.
Here's the perfect example: https://github.com/michaeldv/fat_free_crm
I would certainly change the wording a little to weed out the people who will just try to take advantage, but the overall strategy seems quite appropriate.
This will work very well for a person who's confident in their skills, but maybe having a hard time finding income from traditional sources. Get in, kick butt, make a statement and earn income.
I swear, every time someone (with a known/useful open-source contribution) came to an interview for any company I worked for, everybody was drooling uncontrollably and thinking "how the hell could we please this guy to stay, after all, he's Google material".
It's also a negotiation uphill battle to go from $0 to $50,000/year. Any looming economic crisis multiplies the battle, and in turn, valuable enthusiasm for the industry.
His work is probably better than most, but his self-esteem regarding his abilities is apparent - especially to an employer.
I don't recall which company, but in the last two weeks, one of the big name startups put out a competition to solve a problem regarding log file parsing. It was an opportunity, basically, to get a job with them. Now, with this approach, the OP might be competing with thousands of others - and his chances of standing out are reduced. He's taken the inverse approach, and HE can pick the challenges he wishes to solve, with same end goal: income.
It's not unique - it's what a lot of driven people have done in the past to get in the door somewhere.
Not trying to be a Debbie Downer at all, by the way. I moved from the valley to the Midwest (I know, I know...) so I know that there are tons of jobs for people like me (and Vlad, probably). However in my opinion "Don't work for free for a for-profit company!" isn't advice everyone is in a position to follow. I wish I could.
(Disclaimer: I am a junior dev with Django/js experience in both personal and open-source projects, without a degree. So take my whining for what it's worth.)
http://www.jacquesmattheij.com/Idea+Dump+March+2011+Edition
http://www.jacquesmattheij.com/Idea+dump+February+2011+editi...
http://www.jacquesmattheij.com/Idea+dump+January+2011+editio...
http://jacquesmattheij.com/My+list+of+ideas+for+when+you+are...
intitle:"Idea Dump" OR inurl:"idea+dump" site:jacquesmattheij.com
Respect.
If you're a contributor to a well known open source project there are lots of doors that are opened by being plugged into a network of other good developers that are often being pinged by people looking for work to be done. Prior to starting a startup virtually every job that I'd gotten had been either a result of or significantly influence by having done significant open source stuff and to this day, despite having been mostly inactive in open source stuff for about 4 years, I still regularly have people contact me asking if I'm available for contract work.
(edit: I should say I left a career in another industry to pursue programming full-time, so I'm not complaining about having to do other things. I knew it was a gamble, but it was and still is worth it.)
It is in my experience that in large open source projects that anyone is impressed with, the people with commit privileges don't want more contributors.
It is like Wikipedia where if you make an edit to their code or a replacement, they take personal offense to it and will fight you tooth and nail to get it ignored. Or in one case, just ignore me for over a year saying they will merge it and never do it. Or if they merge it, they don't give me credit.
The suggestion to contribute to an open-source project is, by far, the best advice. Open-source projects tend to be (but not all) meritocracies; you will learn far more by contributing to an open-source project because of the big-team culture...
However I originally did think the market looked like you describe until I realized this amazingly valuable insight: My resume was almost instantly rejected by any company where an HR person/recruiter got my application; Any company where an engineer was the first to read my resume I was eagerly contacted in less than a week. A related insight: I don't want to work for companies where engineers aren't doing the hiring.
I also had no interest in moving and found, much to my surprise, that there are a lot great telecommuting options out there these days.
edit: I just want to clarify the tone/message here a bit, I'm not saying "your doing it wrong" but that it's easy to be discourage by being rejected by companies that aren't worth your talent. There was definitely a point in my search where I felt completely doomed, but then I realized that I actually wasn't aiming high enough and was underselling myself.
Occasionally I'm turned down for something like not remembering some syntax triviality, something that could easily be looked up; that's a sure sign that I wouldn't want to be working there.
I've been a hiring programmers for almost 10 years. It's so rare to get a resume with something like a link to a github page. You're pretty much guaranteed a phone screen with me if I see this. I know it's hard for people just starting out to understand this, but demand far exceeds the talent pool. You will always run into the managers that want to see "oracle blah blah blah" experience. When you get rejected by them because you couldn't answer how to solve some oracle specific problem in an interview you just ignore it, and keep applying.
Yes, yes, a billion times yes!!!!!
Even if it's some tiny little project that went nowhere, the fact that you actually have some code that is yours and that you can discuss intelligently puts you well ahead of 99% of the people I see.
It didn't seem to be helping, however it turned out that most recruiters were scrubbing it from the version they passed on to prospective clients.
So after my break, I honestly listed that as 'funemployment' on the resume, with a brief human understandable explanation. (I actually was working on some of my own non-programming related projects, and explained as much.) In the email cover letter, I basically said "Here's my resume, but I think my website does a better job of explaining my real strengths as a developer."
An interesting thing happened. Without exception, any company with an HR department totally blew me off. And without exception, any company where the owner screened the resumes, I got a phone screen and a real interview.
I also think that's something where having a custom domain for your email really helps. If any tech-savvy person gets a resume from blah@not-gmail-or-yahoo.com, they're pretty much going to instantly open up a browser and type http://not-gmail-or-yahoo.com.
That's the important thing. Sometimes the initial excitement of seeing that github account wanes when you realize 8 projects are forks of existing projects with one change, and the other two are a stock rails project with only three or four minor commits on top of that.
I'd generalised it from another webapp I was buildingfor someone else (that didn't pay) summer last year.
https://github.com/dublinclontarf/SchoolOut
This is pretty much some of the only code I've made available in public. Should I put up the entire webapp that I built during the summer? It's not doing anything.
I'm hoping to finally launch the private beta this weekend, there are still some invites left. You can sign up for one if you like at:
It has some other cool stuff like auto PDF generation and private cover letters/videos.
That it's populated with tiny little projects that only work exactly for what they were intended, didn't seem to be much of a deterrent to anybody.
One of the things that held me back though was that I wanted the projects to be "ready." To get them to a point where I can show them off instead of having several abandoned and "poorly written" projects. (Quoted because you really are your own worst critic.)
I now think it's much better to show you can ship on your ideas. To build, publish, and move on to your next idea. It's a much stronger indication of your passion for programming than words alone. Saying "I like to hack in my spare time" without further evidence just doesn't have much impact.
Does anybody disagree? Are there cases where publishing imperfect code and abandoned projects alongside your best was a disadvantage to you?
I'm surprised more people don't have it on there.
My recommendation is find something in open source you use and see if they communicate in IRC or some other open medium. Probably not great universal advice but it has worked for me.
There are no undone open source projects!
They're all undone.
There are always features to add and bugs to fix. Except maybe for TeX.
(For the record, I wasn't giving advice :P )
Smarter move is to say "Hey, I bill out at $80/hr but to work at your startup I'll only bill $20/hr for 2 months", then make sure to send an invoice every 2 weeks with the bill at $80/hr with a line item showing the discount ... that way they are reminded of how lucky they are to have you.
PS: All this is moot if you aren't actually awesome at coding.
Never do work for free, ever. That diminishes your value and moral, and as collateral damage the coding market suffers as more and more people start working for peanuts.
EDIT: grammar
Idea HN: Create a page for 'Hackers in need' where people can offer their services for $10/hr until they get out of the trouble zone. Lots of people can benefit from some quick and inexpensive coding while helping a fellow coder.
When you work for free, you never feel obligated to deliever or perform at your best because nobody is paying you, so if you get fed up you can just leave -- why put up with the bad environment? Sure it might be fun for a week or two, but people get bored, and it is usually monetary of personal incentives that keep us going. Working for free provides neither of these. It isn't my project, nor am I getting anything in exchange.
Now I'm not saying that he will be like this, but this flipside of mentality is definitely something to consider when you hire "free" labor.
The Department of Labor has a smell test for them: http://www.dol.gov/whd/regs/compliance/whdfs71.htm
1. The internship, even though it includes actual operation of the facilities of the employer, is similar to
training which would be given in an educational environment;
2. The internship experience is for the benefit of the intern;
3. The intern does not displace regular employees, but works under close supervision of existing staff;
4. The employer that provides the training derives no immediate advantage from the activities of the intern;
and on occasion its operations may actually be impeded;
5. The intern is not necessarily entitled to a job at the conclusion of the internship; and
6. The employer and the intern understand that the intern is not entitled to wages for the time spent in the internship."
Source: [pdf] http://www.google.com/url?sa=t&source=web&cd=1&v...
The guy was talking about working at a rail yard. At the end of the day, train cars were driven back into the yard for maintenance and/or storage. Interns were not allowed to do that, since it benefited the company. So the cars had to be moved back into the yard, then one or two were taking back out so interns could drive them back.
Kind of odd, I know.
According to those regulations posted we see that a business can't legally have an unpaid intern to keep costs down. The pros for an unpaid intern would be; 'Intern gets experience,' and 'business has potential future employee.' Whereas the pros for a paid intern would be; 'Intern gets experience plus compensation,' and 'business gets profitable labor, and has potential future employee.'
I am just looking at this whole situation from employer's perspective, and the ability to test a developer for few weeks (and not needing to pay if he does not work out) is a really attractive proposition. On the other hand I would not consider dealing with a dev who's ready to work completely for free. Based on my past experience such devs are either seriously underqualified (and through that unreliable and require lots of mentoring and hand-holding) or they would gear down and slack if the project is not truly interesting for them. The money factor serves as a retainer and the conditional payment works as an incentive.
Think about it ;)
I see what you did there. Testing to see if people are reading it all, are we? :D
Also, it lets the employee validate the quality of the work.
I think it;s okay if done for a couple weeks (short project/assignment). If the employer likes him, he/she can pay him for the work done - out of goodwill.
Everyone wins (only in a perfect world).
Your 1st assignment: As my office work is worse than yours like ftping files sending reports etc. you can create some apps for teaching me Ruby, Javascript etc. and then add my details too in you website.
No thanks, dude!
I didn't wind up having to do that, but I absolutely think it's not a bad idea.
Although of course you do leave yourself open to abuse if you don't have a good line in the sand visible to all.
If you are interested in building something of worth and like the idea of open social networks and producing opensource software, there's always small modules that need building to make buddycloud feature complete. Pick a part of the architecture that looks interesting to you (http://m.buddycloud.com/tmp/proofs/buddycloud%20architecture...) and chat to the rest of the team in our chatroom. More dev details on http://open.buddycloud.com
We also have some cash coming in... not a huge amount but enough to provide some support if you turn out to be good.
And unless you're rich and don't need money, do not work for free.