Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You have to understand: there's more to hiring programmers than paying lots of money. If that were the case, we wouldn't have had a dot-com bust and software companies would be dominated by MBAs.

That's the hard part of hiring programmers. How do you incentivize the good ones to work for you? If you have a solution to that problem, I suspect you'll be a very much in-demand person.



> How do you incentivize the good ones to work for you? If you have a solution to that problem, I suspect you'll be a very much in-demand person.

Bonuses, perks, and congrats on jobs well-done. If I spend 40 hours between Dec 31 and Jan 2 writing up a new wireless barcoding system because the powers that be decided at the last minute to begin the new year with a different process for warehousing, I better get a damn bonus, at least 1.5 x 40 hours of my rate. You know what I got upon successful completion of my last-minute project? "chime, if you had originally developed a flexible enough system to accommodate changing of bin/zone locations, you wouldn't have had to work in the last minute." I resigned from that job.


Bonuses, perks, and congrats on jobs well-done.

Maybe... certainly respect is needed but...

What about a sane work environment??

What about a system which is actually aiming to produce good software??

What about not structuring your system for 80 hours weeks from the get-go???

I don't know how many vile, worthless hoops I've had to jump through in previous job searches.

Still, I've also interviewed for places that made a virtue of their good process to the point of expected people to work for less (I think SAS was their model). That won't fly either because it's not really respect either.


Bonuses, perks, and congrats on jobs well-done.

Speaking only for myself, non of those things would really swing it too much for me. Give me challenging projects in my preferred problem domain, sane working hours and environment, an opportunity to grow and improve my skills and surround me with brilliant colleagues to work with, and I'll happily forgo the perks and bonuses.


> Give me challenging projects in my preferred problem domain

The projects were challenging, that's why I stayed for so long. When you have tons of student loans, mortgage, and hospital bills, you can't forgo the perks and bonuses. I have a family to take care of so what I really want is everything. I want a good work environment, I want good money, and I want fun projects. Why? Because I give them back what they need: stable/reliable, problem-solver, productive etc.


As a programmer bonus and perks are definitely incentives, but a nice steady "I love your work" kind of vibe is a great way to keep me in my job.


> "I love your work"

Nothing says "I love your work" more truthfully than a bonus or a raise.


Where have you been working for the past few years? A bonus you get it twice a year, a boss respecting your work and saying thank you, you have it every single day. If you are paid correctly, you should not even need a bonus but you cannot go long without respect from your boss and peers.

By the way, it is proved by countless experience that once salary is good enough, it is disconnected from happiness at work.

Good pay and respect will bring you way further than good pay, bonus and "you are my slave".


> By the way, it is proved by countless experience that once salary is good enough, it is disconnected from happiness at work

That's not any different then what they OP is saying. The issue people have at finding good programmers is that they aren't paying enough.

Yes, other things matter, but if you start off by offering minimum wage, a "Good job!" doesn't really matter.


Personally, having my boss say thank you doesn't mean much to me. That's not because I don't want appreciation for my work, but because praise carries a more significant meaning when it comes from someone who you hold in high-enough regard.

For me, high-enough regard can mean someone whose work I know of and can appreciate on its merit, or it can mean someone who used my software by choice.

For example, if my boss' actions don't show that he's interested in my happiness at work and he thanks me for making his pet project happen, it means nothing to me. But, if a customer, or someone whose work I admire, tells me they like the software I created, they've just made my day.


I agree. Especially if the employee is actively asking for a bonus or a raise, and being denied.

If an employee says to the boss "Hey, I think I'm worth X more than you're paying me", and after extensive "due process" the answer comes back from management as "No, and you can't have more time off either", that's a clear sign that the decision makers have, at best, limited respect for that employee's work. Verbal claims of respect, at this point, are almost offensive.

That said, on the other hand, piles of cash but nary a kind word is also not very respectful.


That was retard management at its worst.


You have to understand: there's more to hiring programmers than paying lots of money. If that were the case, we wouldn't have had a dot-com bust and software companies would be dominated by MBAs.

That's probably half-true: you're right that there's more to hiring programmers (and many other kinds of professionals) than paying lots of money, but there's also probably a minimum barrier to entry. I doubt you're going to find high-quality programmers to work for $30K per year, even if you buy them an Embody (http://www.hermanmiller.com/Products/Embody-Chairs), give them a window, offer to let them rewrite everything in Scheme, and do whatever else Joel Spolsky has mentioned.

I'm not sure what the minimum really good programmers will go for in most of the country, but I'd be surprised if the answer is less than about $50K, and even that's probably way too low. Until you hit the minimum threshold, the rest of your comment doesn't take effect.


I think there is a large factor of "specific incentives spoil the game for me" in programming. What I'm trying to say is, the moment you put a price on something you diminish its value and decrease motivation. Just pay the folks enough to get the money factor out of their minds and give them great challenging work. The last thing that a passionate and competent programmer actually wants to think about is money. Carrot/stick technology is outdated.


Part of the problem is most managers are totally clueless as to how to identify a good programmer. Many of the worst programmers have the most impressive looking CVs and the best programmers don't have the time to futz over their CV. Besides, they probably never need to look for work - they get poached.

As for incentives, there are lots of posts on HN about incentives that work, like time out for pet projects, like telecommuting, like 2-3 month holidays, like no drone work, like excellent tools, LCDs, chairs, perks.

And ... the best of them all .... NO PHB's !!!


You first have to explain how programmers are different from any other profession, and how the law of supply/demand strangely fails here. Personally, I consider income, working conditions and project type. I'll apply if you offer a Wall St. salary, or let me work remotely, or are working on something I think is super cool. Offering $10K more than my current salary for the same job is not worth my time. What are you offering?

My friend is trying to hire some devs for her big bank. They offer ~$50K more, but the work environment is HELL and the projects are mind-numbingly boring (back office). They can't find any competent devs. He said they hired an ex-MSFT and ex-GOOG once, but both quit within a week.


You make them respect you by understanding what they do and treating them like what they are: the people who create value for your business. You show actual respect for the work they do and give them interesting things to work on.

I think Fog Creek gets it right. You don't treat programmers like second-class drones who make things for you; you treat them like the primary creators of value for you company, and yourself as their support staff (abstracting away the mechanics of running a software company so all they have to think about is coding and typing commit.)


> you treat them like the primary creators of value for you company, and yourself as their support staff

Bingo! The best managers I have had over the years spent far more time getting me what I needed in order to do my job than they did telling me what to do. They also got the most value out of me, and ended up looking the best in front of their bosses.


> How do you incentivize the good ones to work for you?

A good start is not to use words like "incentivize" around reasonably intelligent people :)


Incentive == Money. Incentive !== Money.


Huh?


It makes sense in PHP. (Thinking in PHP is a terrible thing to do to your mind.)

I believe OP is trying to say: Money is an incentive. But it isn't the only incentive.

(== in php isn't the equality operator insomuch as the 'kinda like' operator.)


May be he was thinking in the good parts of JavaScript

http://www.jslint.com/lint.html#equal


Yes, good link.


Money is a representation for incentive but not an exact representation. The gap between the two, between the model and the real world, is the interesting part.


> How do you incentivize the good ones to work for you?

Easy. Instead of giving the programmers managers, put the programmers in charge of their own projects and give them administrative assistants to handle all of the non-programming and non-decision-making parts of the job.


t


Assuming you get everything else right, you have to offer more money. It has been suggested that this will cause your inbox to fill up too fast.

How about an online test? A web server that runs sandboxed C? Or maybe a character in Lambda MOO that requires you to complete a "quest" in a time frame that would require a programmed response? (telnet://lambda.moo.mug.org:8888)


Spotify recently ran an online programming competition to find suitable candidates.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: