Hacker News new | comments | show | ask | jobs | submit login
Technical job post tips for the desperate (hirelite.com)
170 points by nathanh on Jan 5, 2011 | hide | past | web | favorite | 117 comments

So basically, recognise that you are employing human beings rather than machines, and treat potential candidates with respect rather than going for obviously one-sided positions that good candidates are going to see right through? It's a little sad that this isn't just common sense, isn't it?

What I don't understand is how nearly universal bad employment conditions seem to be. I can understand businesses wanting to maximise the benefit from investing in hiring staff. However, all the evidence I have ever seen shows that sustaining long hours is counter-productive, supporting a good work-life balance keeps happier and ultimately more effective staff, etc. The big improvements in productivity I've seen have all been at companies that have dramatically improved their staff's working conditions, for example by experimenting with shorter working weeks, complete flexi-time, allowing off-site working by default, etc.

How is it that even large companies with dedicated HR departments, training for managers, etc. still seem to push in the opposite direction? I suppose good working conditions, particularly those based on flexibility, are always open to abuse, but surely staff who are going to take advantage regardless will just find other ways to do so if you judge them by bum-on-seat metrics. Meanwhile, I wonder how many people take advantage of employers in some way mainly because they consider the deal to be abusively one-sided otherwise, and how many good people never get hired in the first place because they wouldn't work under those conditions...

dramatically improved their staff's working conditions, for example by experimenting with shorter working weeks, complete flexi-time, allowing off-site working by default, etc.

I believe it is a case of known cost, hidden benefit. Basically each of those items has a fairly easy to measure cost(shorter work weeks for salaried individuals basically means you are paying more for less.) Where as improvements in productivity are not so easily measured before implementing them.

> I believe it is a case of known cost, hidden benefit.

Sure, that much I understand. What I can't figure out is why such ignorant and short-sighted policies are still tolerated, given that they directly impact the effectiveness, the reputation, and ultimately the bottom line of each business that adopts them.

It's not as if the empirical data is particularly hard to find, or as if there aren't small businesses (and probably the occasional larger one, but it's rare) benefitting from more enlightened relations between employer and employees. So what are we missing? What overriding factor drives larger companies, for all their more formalised policies and training investments, to such poor people management?

> What I can't figure out is why such ignorant and short-sighted policies are still tolerated, given that they directly impact the effectiveness, the reputation, and ultimately the bottom line of each business that adopts them.

Where are the numbers?

> It's not as if the empirical data is particularly hard to find,

google "programmer productivity working conditions" doesn't find anything quantitative on the first two pages.

Try looking for more general terms using Google Scholar.

For example, here's a UK government report from the mid-2000s, featuring several relevant industrial case studies:


"shorter work weeks for salaried individuals basically means you are paying more for less" -- not necessarily. Ass in seat time is not equal to production, especially concerning developers.

I think most HR departments are afraid to add those types of benefits that can be blatantly abused when they can go with the default "no-frills" and with default "abuses" for which we all know you can be measured. Didn't show up to the office? Easy one. Didn't give your 100% when at the home office? Who will ever know?

While the work output may be better, but HR usually is a little lower level in their analysis, at least in my limited experience.

I skim the job postings once in a while just to remind myself of why I started by own gig.

Also, just like bad candidates will always be supply, bad posting will always be in supply. Just like the best candidates never blast out resumes, the best companies don't have to post postings.

Everyone already wants to work for them because their employees tell their friends how awesome it is to work for. I suspect that there are a lot of great employers sitting quietly hiring the best talent and are making a killing doing it.

Why would they want to tell their competition that all those draconian conditions attract are the worst of the talent pool willing to work under those conditions. It's good employees finding good employers and bad employees finding bad employers.

>How is it that even large companies with dedicated HR departments, training for managers, etc. still seem to push in the opposite direction?

For one thing, managers probably care more (on some level) about asserting their status over the regular employees than they do about making the company more profitable (especially at larger companies).

Ooh can I play too?!

* Don't require 10 years experience with a language or technology that less than 10 years old * Don't list hundreds of unrelated skills required because you're hoping this position will do the work of 5 employees and 2 consultants. * Don't mention "self-motivator". Who would describe themselves otherwise? * Don't call the position a "Director of" when it has no direct reports, no hiring budget, and itself reports to an intern in marketing. * Don't ask how many ping pong balls would fit in a school bus unless your business is directly related to filling buses with ping pong balls.

> Don't ask how many ping pong balls would fit in a school bus unless your business is directly related to filling buses with ping pong balls.

In job postings? Do you have the following in mind?

    Send applications to X@ballbussers.com where X 
    is the number of ping pong balls that it takes 
    to fill a standard yellow school bus.

Hint: you can fit more if you melt them.

But then they are no longer ping pong balls... Just plastic goop.

They never said the ping pong balls had to stay as ping pong balls.

I'd be thinking about filling the tires with liquid ping pong balls too, but maybe I'd be missing the spirit of the question...

That's definitely a bit on the crazy side, but I've seen job ads that are along those lines.

Another thing I like to see is when the posting talks about what sort of projects you'll be working on.

The latest example of this was GazeHawk's job posting:

"Eye tracking gives you a ton of data with a lot of dimensions. We want to show that data to our users in a way that's easy to parse. That means interactivity: HTML5, Canvas, JS."

Just a single sentence, but it engaged me, got me thinking, and gave me a good idea of the sort of projects they're working on.

Another thing I like to see is when the posting talks about what sort of projects you'll be working on.

Yes, for me this is critical. If there's nothing to convince me that it's not just another job working on the same CRUD I could be working on at any other place, I won't give the posting any further attention.

Don't look like a recruitment agency - Absolutely. Even when my job search was in its most desperate throes, I was reluctant to apply for any job that wasn't straight-forward about who they were or what they did.

Guarantee a response - I don't think a guarantee is all that necessary, but a timetable for the process is always nice. Along those same lines, I always greatly preferred postings that had an email address, even better if it's a person's. But really, just something that indicates an active, rather than passive process. Filling out a form and hitting submit just has a hopeless, waiting-at-the-dmv feel to it.

I usually avoid anything that has the word "rockstar" or similar wording. To me, it implies unrealistic expectations of knowledge and/or performance.

I will also avoid anything that has a long list of prerequisites. If there's more than maybe five or so disparate technologies requiring multiple platform knowledge, then the job you're offering should probably pay double what you're offering.

When I was most recently looking for a job here in Connecticut, it seemed like every job posting had "PHP", "Python", or even ".NET" in the title, and then required 4+ years or so of Java as well. With no explanation.

I just assumed the poster had no idea what they are talking about, and moved on.

(Edited for grammar)

I get a lot of emails from recruiters who obviously have no idea that Java and Javascript are different languages. I wonder if many of those postings should have said "Javascript" instead.

Anyone who says I'm a "strong candidate" for a big-corp Java job requiring 6+ years of Java experience after looking at my resume is very confused and won't be getting a call.

Bingo. This was definitely the case for a recent local freelancing/consulting job post; an associate took up the position and tipped me off to the Java/JavaScript mixup (though I don't think the post asked for X years experience).

Something to consider though... if they can't even accurately name the language, can they really judge the experience required in said language?

If you are still looking, I am part of a startup in Connecticut who is hiring. We don't require 4+ years of Java experience, but we won't discriminate if you have it. We primarily work in Python but mobile app development requires us to branch out. We'd love to talk to you. Shoot me an email at jobs~at~raditaz~dot~com.

My interpretation is that spurious requirements for Java/C# experience are a Labor Law-friendly way (if applicable) of restricting the position to the overqualified. Getting a CS person to work in PHP implies an employee with low prospects and thus can be paid a lower salary.

How about listing requirements that are actually requirements? If you don't need 7+ years Mirah experience, don't ask for it. I never apply for jobs that I don't actually fit the 'requirements'.

Every time I see someone ask for more experience than is possible for a language, I wonder what other lies they're going to tell me or unreasonable things they are going to expect.

Listing any required years experience with a particular technology seems like a mistake.

A good engineer is a good engineer and shouldn't need N+ years experience with a language/framework/tool to make an impact on a good team that's willing to do a little training.

When I see something like "7+ years PHP experience", I wonder what it is they think they're using that as a proxy for and why they don't just mention it directly.

It's not like there's a standard progression in technologies where you learn certain things in years 5-7, etc.

I can see there's a difference between say 1 years and 3 years, but is there really a difference you can count on being true if someone used a tech for 5 years vs 3? 7 vs 3?

> I wonder what it is they think they're using that as a proxy for and why they don't just mention it directly.

A very smart developer who I respect once said something like: when you are young, you have lots of energy and want to learn/use the latest technology. As you get older and gain more experience, you start to see the patterns. It's not about the technology, there are repeated themes and solutions. But when you start realizing this and have accumulated 7 years of experience, you may be transitioning out and wanting to begin starting a family. So the people who might be most qualified might be wanting to leave the intensity of coding for the relative stability of management.

As someone once said - the entire premise of capitalism is based on overpaying the first few years and underpaying you for the next 20 or 30 years.

So perhaps 7 years of experience is a cludgy filter for the relative graybeards who understand that technology is just a tool, not an end.

>As someone once said - the entire premise of capitalism is based on overpaying the first few years and underpaying you for the next 20 or 30 years.

Someone with no understanding of the term "captialism", apparently.

That, though, would be simply stated as seven years in the field—not "seven years of X, five years of Y, eleven years of Z."

That's an interesting point, perhaps its a proxy for "older hacker, perhaps with kids, less likely to hop jobs".

I'm not convinced most job postings are that clever.

Very well could be, and in which case it'd be in their interest NOT to say that outright (discrimination and whatnot)

Karate expert wanted, 7 years experience (not 3).

More than 2 * more libraries used, 2 times more projects, seen the language evolve, worked with 2 * more people, etc. Domain knowledge is a massive help for people doing things. The 7 year person has likely used far more things than the 3 year person. However if the 3 year person knows how to use a gun, and the 7 year person only knows how to use a knife - then the 3 year person wins[1]. Of course, many times the gun turns out to be a water pistol - or the 7 year ninja can fart in their general direction[2], wait for a flinch... and then throw the knife!

1 - don't bring a knife to a gun fight.

2 - monty python reference.

Sure, but sometimes you may not have the time, inclination or ability to train someone on a technology.

Anyway, I view it more as "this is what experience we imagine the ideal candidate has" rather than "you literally need 4 full years of platform X experience to get hired"

Right, but you realize that the moment an outsourcing firm gets hold of that listing, those turn into requirements?

I almost didn't get called for a bog-standard programming contract because I lack a BS in Computer Science. You'd think 10 years as both front-end and back-end developer would trigger a light-bulb, but nope, not even a matchhead.

I totally agree, just make sure you list what technologies they will be using. Then indicate that the applicant must be really good at them or be willing to learn them fast.

The problem is that a lot of these suggestions are very superficial and don't consider the underlying reason companies are doing what they currently do.

For example if you specify a salary you end up anchoring the negotiations, if a candidate is not quite up to the level you're looking for but you want to hire them anyway, the candidate is much less likely to accept a job offer where you offer a salary below what you stated in the ads, even if they would have accepted it otherwise.

Furthermore you need to consider the impact disclosing salary levels has on current employees, if the market is tough you may have to offer a salary above what current employees are earning, which can be very damaging to morale and can make your staff feel hostile towards the new hire from the start.

I don't think the suggestions are superficial. A company does not need to follow every single one of these tips in order to increase their applicant signal/noise ratio. Many companies would achieve this goal if they simply refused to "look like a recruitment agency" and took the time to write job posting for humans, and not robots. I tend to be turned off by completely impersonal job postings, even when they list interesting technologies. Also, imo, a company has little to gain and much to lose by trying too hard to be cool: as stated in the article, you don't need ninjas, and you don't need to tell us that you only hire the top 1% (if you have to say it, it probably isn't true).

But you make a good point about the salary, and it is especially relevant for large companies.

Your point about the salary is valid - stating the salary does create some problems. However, not stating it creates much bigger problems.

It would be relatively rare that you advertise for a senior developer and end up hiring a junior one (when you had no intention of hiring a junior at first). It would be much more common that your job ad is ignored by the really good developers and instead you have your time wasted by those who are underqualified.

If your existing employees are paid below-market rates that is a latent problem in any case. Eventually they will figure out that they're underpaid. Even if you don't advertise salaries some of your competitors will.

the saying goes "in a negotiation, the first one to say a value, lose."

but having endured 2 LONG interview process just to learn that the openings were way bellow my interest, despite the absurd requirements, i must say that if one post mentions a value that is near what i'd like, I will probably apply just to that one. i would probably start to consider every single other post as a waste of time. ...now back to reality, too bad no one will ever do that and i will have to continue guessing.

IMHO that's messed up. A fun analogy would be people hiring being OK to receive a resume with only my desired pay. and AFTER days of phone negotiations and i've agreed to a figure, they would have some 2~15minutes to hear my qualifications and call me the next day if they are going to hire me or not.

When I post job ads now, I ask interns for their blog URL, websites they've done, URLs to open-source projects, and their Twitter account if any. I'm not looking to find out personal stuff, but I want examples of what they do, how they learn, and if they'll be a fit for us.

When I used to just ask for a cover letter and resume, 99% of the people who interviewed with me were just awful. Now I tend to get good dev interns who want to be here and have similar drive and ambitions.

I'm not saying that a person who doesn't have any OSS experience, a blog, or a Twitter account wouldn't be a good developer, but then if they're not interested in OSS, teaching, doing things on their own (outside of work/schoolwork) or sharing, then they may not be a good cultural fit.

What if they don't keep a blog? I'm pretty sure I have a decent amount of technical information in my head, I just don't bother to blog about it.

As for Twitter ... seriously?

None of those things guarantee a good hire or a good developer, and their absence doesn't indicate a bad hire or a bad developer. But ... it's something for companies to go off of that wasn't created just for the interview.

To flip it around to the companies, how useless would this job posting: "Internet company in North America looking for developers. We have fewer than 1 million employees and all employees get indoor working space." That accurately describes Groupon, Facebook, Dropbox, and Joe's Waffle and Website Sweatshop.

Things like blogs, twitter, etc are signals and they're useful for people that need to make decisions based on limited information.

> Things like blogs, twitter, etc are signals and they're useful for people that need to make decisions based on limited information.

And thus we need to expend resources on signaling, instead of on actually pursuing/growing within the field. Personally, I'd rather not hire the developers with the most beautiful tail-feathers.

Well somebody has to expend the resources, whether it's the job seeker signaling what kind of developer they are or the company looking harder and longer for each position.

I believe I already addressed that in my post - you could be an awesome programmer. But would we be able to get along with eachother? Would you be able to get along with the rest of the people who do use Twitter and who do blog about what they learned? It's likely not, and now we can both look for other opportunities.

That's so arbitrary. There are plenty of devs on Twitter that I could never ever get along with. Plenty not on twitter I could. There are plenty of people blogging about their profession that are good at it, and plenty that are good at it that are not blogging.

At my startup of the 8 devs, we had 2 on twitter and 3 with their own blogs, so the bulk of us didn't do either. But we got along great. Why wouldn't we? What does Twitter and blogging have to do with interpersonal relationships?

Well, I did say "and twitter account if any". Looking at someone's twitter stream who's poking at some new library or talking about some code they wrote tells me a lot more than "1 year of php development" on a resume.

It may be arbitrary, but github+blog+twitter has worked well here.

Twitter is tricky. I very rarely if ever tweet about technical topics for a couple reasons:

1. I don't think anything technically interesting can be accurately explained in the 140 characters provided by Twitter.

2. Simply announcing what I'm working on is self-congratulatory back-patting. No one cares what I'm working on that hour.

3. I have many non-technical friends (e.g., no one else in my frat is CS). I would not alienate them from a conversation by only talking about tech all the time.

The same could be said for non-technical topics:

1. I don't think anything interesting can be accurately explained in the 140 characters provided by Twitter.

2. Simply announcing what I'm working on is self-congratulatory back-patting. No one cares what I'm working on that hour.

3. I have many friends with different interests. I would not alienate them from a conversation by only talking about X all the time.

How does Twitter usage create dischord among the team? Your comment reminds me of the time I interviewed for a sysadmin position at SixApart and they kept harping on whether I kept a blog. "What does content creation have to do with keeping machines running?" I asked myself.

You can't figure out why SixApart, a company whose primary business is blog hosting, might want to know if a potential sysadmin had kept a blog ?

I understand why, but that's not my point. My point is that blogging and sysadminning are orthogonal, if not skew.

Look, I'm on board with filtering out bad candidates by looking at their public output (or lack thereof) but this comment is absurd. You think that because I don't Twitter and I don't have a blog, I won't be able to get along with people who do? That literally makes no sense.

You are not understanding him. He is not saying "If you don't use Twitter, I cannot determine how we will interact." He is saying, "I would like to determine how we will interact. If you use Twitter, that could be one data point I could use to inform me."

This reads like you think that Twitter users and non-Twitter users cannot find a way to communicate or that they occupy two distinct segments of the population. This is crazy.

I have long left the intern market, but I had a phone interview yesterday to scope out potential iphone app dev work. I sent a list of websites that I created and apps I have in the store, but the "interviewer" insisted that he quiz me on how I would detect a circular linked list and if I could describe the diamond problem. I took me a mere 20 seconds to recognize that the potential employer was just a programmer sweatshop. But, I was still struck by how out of touch with reality those kinds of technical tests have become in the past few years.

edit: formatting fix

Independent from whether or not this particular opportunity was a "sweatshop": you mention that you sent a list of web sites you've created and applications you have in Apple's App Store, but I didn't see anything in there about "code." Absent any actual code (not counting HTML, and assuming the web sites you mentioned weren't primarily JS) I'd certainly ask you coding questions as well.

EDIT to add reasoning: I've seen people that can release applications and put up web sites, the code for which is unreadable, unmaintainable garbage. I'm really happy to see that you can ship, because that is important, but if we're going to be coding together I also need to see that your code is passable.

That is a good argument to ask candidates to complete a written code test or to share their github page. That's still a bit different from quizzing on textbook concepts, but I will yield in the argument that a well-rounded engineer would probably be able to spout out answers to random CS trivia questions as well.

I mostly agree with you however quizzes are fun IMO. I hear "detect circular linked list" and I'm like "OHHHHHH ME ME ME I KNOW THAT ONE" lol...

Maybe some of the better places that ask these questions are hoping to see your attitude and if you genuinely like this stuff.

I would welcome any candidate who could show me examples of past work, but I would still ask the normal tech questions in addition to reviewing and talking about that work.

Why? I have to be fair, both morally and legally. If I decide that there's a set of questions that an applicant must answer correctly before I'll consider him suitable, then everyone has to answer them. If you get that right, and you have some impressive work to show me, you'd be way ahead of the pack.

That is a great point. I forgot about the Equal Employment Opportunity laws since I mostly work on a contract basis. The interviewer was certainly setting me up for a full-time position.

So now going to school and getting good grades isn't good enough? You have to also learn how to develop software at a level where you can contribute to OSS projects and blog/tweet about it? Glad I graduated a few years ago, I would never have gotten an internship or a job.

Back when I finished my undergrad in '06, the general perspective I ran into was, "oh, you didn't do open source. shame. don't call us back".

I spent my time trying to do well in school, not contribute unpaid work to open source.

Most of what you learn in school is abstract and you'll never need in practice. What you learn in (collaborative) open source development, in the other hand, is mighty useful actual programming experience. Doing well in school helps, but having a portfolio of side-projects to show makes (in my experience, at least) more of an impression on employers.

Some people enjoy programming enough to do it unpaid (and get some valuable lessons in how software is actually made at the same time, if lucky).

Are you seriously making people code for you for free?

I'm not sure I understand your question. I'll try to answer anyway.

An internship doesn't mean free labor. Although I guess there are some people who do try to get people to code for free and call it an "internship" or "portfolio building experience", that's not what I do.

Where I work, we hire college students as interns, where they learn how to do test-driven web development using Ruby and JavaScript. They get to work with student data and records and it's a really great program. The students land excellent paying jobs and have access to a network of former interns who from time to time offer advice and sometimes share code.

A lot of people take intern to mean "unpaid" intern. I was a paid intern for 4 years during college and made a lot of money doing it, but it was still an internship.

I hate unpaid internships. I wouldn't want to work for anyone for free. I also hate that companies that could pay for interns don't simply because they can get away with filling their intern slots with kids who will work for free. I hate that the disparity between what companies give unpaid interns and paid interns dillutes the value of gaining a paid internship.

And most of all I hate that unpaid internships are only available to those with parents footing all of their bills so they can afford to not get paid for the whole summer.

But you mentioned below that your interns are getting paid so I think he is attacking you for something you aren't doing.

Software development internships can pay very well. You can check glassdoor.com and see that Microsoft, Apple, Google, Facebook, et. al pay at least $5k/month.

I believe giant Indian software engineering shops like Infosys, Wipro et al. pay that much (may be a little more now, like $6k) for an entry-level full-time employee.

(I worked in a similar place in a past life)

So, are they there for you? Or for themselves. Did you bring them on for their benefit, or yours?

Or, more importantly (as this is the legal razor): Do you derive profit/gains from the work they do?

Honestly from the sound of it you're deluding yourself, and are in fact, just another internships-mean-free-labor guy trying to make yourself feel better with talk of 'connections' and all.

Their benefit. I work at a public university and the interns are ineligible after their separation from the university. I'm not sure why any of this matters anyway, because they are getting paid to work for me and are gaining valuable experience working on things that are much larger than what they would be doing in class.

Not quite sure what you're getting at here. This is no different than a paid internship at Microsoft or Google, or many other companies in the midwest, just on a smaller scale.

I think the confusion was that others assumed you meant an unpaid internship. I'm not sure why. In our field, I assume an internship is paid unless explicitly told otherwise.

It seemed, at least to me, like he was going to great pains to avoid talk of monetary compensation, which implies not paid.

What he may be getting at is that your description of intern duties implies a violation of the US Federal labor law prohibition against interns doing work that provides immediate benefit to the company/institution.

Are you referring to http://www.dol.gov/whd/regs/compliance/whdfs71.htm by any chance? Because that applies to unpaid internships.

"Interns in the “for-profit” private sector who qualify as employees rather than trainees typically must be paid at least the minimum wage and overtime compensation for hours worked over forty in a workweek"

We do all of that.

Oh, I missed that part of course. My mistake, and my apologies for the aspersion.

It sounds very much like a consensual arrangement to me.

I would add as a couple of other tips:

1. Provide a contact email, esp. for larger companies, filling out a n page submission form is a killer.

2. Use LinkedIn and the other boards not headhunters, Dice and Monster feel like headhunter spam. At least with LinkedIn you can connect from a posting, to a company to an HR person.

Personally I would love it if Dice had a filter headhunter option, but it probably would kill their #1 revenue stream.

Awesome tips. Indeed actually has an "Exclude staffing agencies" option on their advanced search: http://www.indeed.com/advanced_search

That's the thing, we need employers to actually post for themselves with a contact address. Your site is a form of that, where you connect with 10-15 direct employers, which is great. We need more of that on the boards, via linkedin, maybe stack overflow, indeed, startuply. However I think this issue affects larger corporations even more so, and they use Monster/Dice, how do you improve that?

I just saw a job posting that said they were looking for a "young and energetic person". Isn't that illegal?

In the US, it is definitely illegal.

EEOC: It is illegal to publish a job advertisement that shows a preference for or discourages someone from applying for a job because of race, color, religion, sex, national origin, age, or disability. For example, a help-wanted ad that seeks "recent college graduates" may discourage people over 40 from applying and may violate the law.

One exception is BFOQ (bona fide occupational qualification). Some obvious examples are labor jobs, religious education and the performing arts. There are gray areas as well, such as a college-oriented start up hiring recent college grads, however the company would need to prove that the age requirement was necessary to perform the job in question. Personally, I think it's rather hard to make that case for programmers.

Interestingly, a preference for minorities is not a BFOQ. It is illegal to specify race or gender even if end goal is workplace diversity.

Yes, in the United States, this violates the Age Discrimination in Employment Act (ADEA) of 1967. Source: http://www.eeoc.gov/laws/statutes/adea.cfm

Ads that say that are routinely flagged off of Craigslist for age discrimination.

"Hirelite is on a mission to put headhunters out of business. We host speed interviewing events using video chat where 20 job seekers talk to 20 companies for 5 minutes each..."

Hey, what an awesome idea!

Wow, this looks like the exact opposite type of person I'm looking for when I hire.

I'm willing to pay high wages and even stake in the company, but if I do, that person should be willing to work hard and be dedicated to the building quality projects, rather than clocking in and out.

Is this how all developers feel? Do they all expect remote work?

I understand the need for working from home, but as a business builder, I like being able to sit with a developer and plan and build together.

I'll go out on a limb and explain what developers 'feel'.

Say that you're comfortable with remote work - In the case of a local employee, I don't want to have to commute 5 days a week, 2 hours to an fro. Sometimes I just don't feel well enough to go to the office, but I'm not as bad as to not work at all. Sometimes I just need a change of scenery. In the case of a international employee, sometimes the best person for the job will not be a local hire. Sometimes it makes more business sense to hire cheaper for a quality employee that doesn't operate out of your immediate area. You can easily fly a developer over for a few days every month or two if you want to discuss things in person, but most of the time a Skype call is more than enough. Be flexible and you'll keep good developers happy enough to go all out and really want to make YOUR product better.

Drop the degree requirement - Not sure if you approve or disapprove here, but if you're willing to pay high wages and stake in the company make sure that you're not discriminating on formal education. The moment I find out that I'm being payed less because I don't have a title, instead of it being because of the quality of my work and my experience is the moment I start looking for a new job. In my case, I've never been discriminated based on a diploma, and more often than not I've been payed more than employees with degrees because of proven experience and productivity.

Guarantee the job only requires 40 hours per week - Hard work does not mean that I should work 12 hours a day, not even because you pay 'high wages'. You want quality projects? Keep your developers happy. Don't push them to put work over families, social life, or hobbies. Be flexible, specially regarding office hours. Do this and the day you tell them that you just got a retarded deadline pushed a month early, you'll find developers working 80 ~ 100 hours a week to get the project done. You reap what you sow so to speak. Of course, you'll have to be a team player and give them a few weeks off the next week though.

Offer to train people in a new language - Offering benefits to further your employees career makes almost any developer a happy camper. Buy them books and send them to conferences. It's an investment that's well worth it. I'm pretty sure you probably agree with this one, but it's important to point it out nonetheless.

My point is that if you want great developers to feel at home in your company and help you build a great product, you need to be as flexible and laid back as possible towards your developers without, of course, giving in to mediocrity. You might like employees that work 12 hours a day every day and are always in the office by nine am, but the people you need are the ones that will move your company forward, and more times than not this are the one's that want their employment conditions to be 'fair' and easygoing.

I'm fine with much of that, but only after someone proves that they deserve it. To me, these seem more like rewards or perks than initial offerings.

As an employer, if someone comes in to my office with those requirements, they need to show me that they can produce...otherwise, we're not starting off on the right foot.

Can you imagine someone in any other field asking for the same? They would be laughed out of the building. I'm not saying that makes it right or wrong...but it's certainly interesting.

I guess my point, and what's most important to me, is not the tally of hours worked, but someone's willingness to buy in to our product, and more importantly, their ability to recognize the difference between getting by and getting things done. Team goes both ways.

Ahh but those are perks indeed. The thing is, if a developer is mediocre with the perks in place, you take them away. If he's still mediocre, you let him go. He was a mediocre employee however you see it. Here's the catch. To make sure you have an employee that feels empowered, challenged, and engaged you need to offer this perks beforehand. If you don't they're just going to feel as a regular employee. Unimportant and replaceable.

Developers don't look at themselves as grunt workers after they've acquired significant experience (enough experience to expect these kind of perks), but as management/executive material who would rather program than do whatever management tasks he'd do if he was a manager. Managers and executives are the dudes that won't get a ton of flak for coming in later in the day or for taking an hour and a half of lunch instead of just one.

I'll be honest, I've worked as the general manager of an outsource development company and I found the job generally lackluster and not as challenging as coding, therefore I prefer to code. The fact that I find a general manager's job easier than coding make's me want to have similar perks, and I bet I'm not the only one out there that thinks like this.

That's interesting because I don't put in hard work until my employer proves they deserve it. Someone has to make the first move. Do you see the dilemma here?

So you're saying a good salary is not enough to merit good work in return?

That's exactly the point. If you're willing to pay a dev 100k without the perks, what makes you think that a company that really wants great talent won't pay the 100k plus the perks. You make it seem like employees have to earn respect, but that's just a recipe for disgruntled employees. Employees want respect, and they should have it from the start. That being said, respect is something that can (and should) be lost when mediocrity creeps in.

That's exactly what I'm saying. Money only gets you so far, and first impressions are hard to break. To really make me give my all, I need to work some place where I'm valued and not some cog in a machine. If my first impression is that you view me as a machine that you put money in one end and code comes out the other, then you'll have to work twice as hard to get rid of that impression once I've proven myself to you (assuming I stick around long enough to prove myself to you).

So what's value?

Respect in communication and expectations or letting you run the show?

I didn't say anything that alluded to me (or any other employee) wanting to run the show. Are you really attempting to get the most out of the employee-employer relationship or are you trying to put down threats to your authority?

No, this isn't about authority at all, at least for me. I just got the impression that you were sort of drawing a line in the sand, and I was trying to ascertain why. I'd still love more insight.


I'm simply saying that if you agree to the job and the salary, then you chose it for a reason, and at that point I don't think it's unreasonable to expect a developer to work hard. Notice, I'm not saying 80 hour weeks, but come on...I have to make an offer, which you accept, and then go out of my way to suck up and wine/dine you further in order to get good work in return?

No no that's not what I'm saying at all. I did not meant to say that you should put up with a slacker, but that you should give enough flexibility and empowerment to the employee so that he feels at least a sense of loyalty to your company and a sense of importance within whatever project he's working on.

I'll work the hardest when I'm not treated as a mere employee like all the others in crappy jobs around the world. For most of us you don't need to wine and dine us, as the perks are part of the offer. For example, if you where hiring me I would ask for three things:

1) A decent/competitive salary (i might take a 100k offer over a 120k offer just because I feel that your company is a better fit though)

2) Good equipment and comfortable workplace. There's nothing worse than having to code in a miniature cubicle with an underpowered laptop (been there, xcode on a 3 year old standard macbook?) and no external monitor.

3) For you to treat me like an adult and an important part of your company. I don't need to be chastised for not working over 40 hours a week or arriving at 10 instead of 9. If you don't do so I might work an 80 hour week when it really is needed as a thank you for not being a pointy haired boss and I'll make sure I'm giving you the results you hired me for.

Listen, as an employer you can be one of two people. The boss everyone is afraid of and secretly hate, or the boss that eats at the same table as the rest of us. I'll give you better results and really care about your company if you're the later. If you're the former, I just want my paycheck until something better comes along.

These are generally really excellent points. I'll just quibble with a few:

* Say that you're comfortable with remote work

Uh, excuse me but don't say that unless you know how to make a remote situation work for someone. I would say instead, "be open to someone relocating but make clear whether you'll pay for that or not". Ads saying "local candidate only" are really obnoxious (what, does the person needs a California passport or something?)

Further, a lot of this advice is along the lines of "be an absolutely fabulous employer". And while I like the idea of employers becoming the absolute best, on the way to that ideal they'll still be hiring employees. So really, I want an ad that's going to reflect the real pluses and minuses of a less than perfect employer. For example, don't say 40 hours a week unless you mean it, etc.

So do companies prefer it when candidates apply to them directly, or does that just irritate them (ie. If they've used agencies/headhunters to advertise their vacancies)?

Honestly, If I were recruiting developers/creative/technical people the least thing I'd be doing is write a job post.

I think this list doesn't go far enough.

Minimum salary should be $300k per year. Guaranteed zero overtime, and you get to spend 25 of your 30 work hours per week on side projects or learning new languages (from home, of course.)

Anything else is just oppressive and restricts creativity. If you say otherwise you're probably just a lame business guy who hates hackers.

I understand your comment. The list is very developer friendly. But it's just meant to help companies that want to appeal a bit more to developers and get more applications.

There are great companies with great people out there who just don't know what developers are looking for. They don't have to implement all of these tips, but maybe they'll be able to mix and match them with what already works at their company.

I have to say that sometimes the sense of entitlement among developers here gets to pretty absurd levels. There's an attitude that developers are the only ones that matter, and anything that adds any kind of accountability is oppressive.

$90k+ salary, guaranteed max of 40 hours per week and a few % equity at a startup? if a sales rep or manager asked for something like that in an interview they'd be called pompous. For example, if a startup has raised $500k in funding, this would mean not only would they be spending 20% of their funding on a single developer in the first year, but they'd give up a big chunk of equity and get someone who has 3 other projects on the side they're working on. That's seems fair? that doesn't smack of an entitlement complex?

p.s. I'm a developer and run a startup.

I think if there's any sense of entitlement it comes from the people doing the hiring lamenting that they can't find qualified people.

Well, if qualified people are in short supply, you've got to give them what they want if you want one of them to work for you.

You can't on the one hand complain that developers ask for too much and then on the other complain that you can't find developers. The problem in that equation is then the person looking for developers.

I didn't complain about that. The developers I work with are amazing :)

(oh and of course they have a ton of equity)

The 90k is an example of "list the salary" and not "pay at least this much to have attention".

Salaried developer employees are different from founders or executives. I can measure a founder's performance in terms of number of users or amount of revenue. I've yet to see a meaningful numerical measure of developer output. It is possible to meaningfully grade developer output only in qualitative terms, not quantitative ones. Quantitative measures are oppressive. If you want to rate me, I want someone to pay attention to what I'm actually doing, and I want someone who is capable of understanding what's going on. That's not asking too much. But that kind of investment means one manager is capable of managing fewer people, and you have to have really talented managers, and so people don't like it.

I have no problem with accountability. Very simply, if you need to keep tabs on me (already a step down in the relationship), then I expect you to do it in a qualitative fashion, with a person capable of evaluating progress. Closed tickets and hour estimates and burndown charts and all the rest of that stuff is a fiction, and it makes an incompetent manager look real busy when he is actually doing nothing. And it wastes my time when I'm trying to do important work.

They call these metrics time saving devices, but if you don't have time to go around and peer at what's actually happening in the shop, then you aren't actually evaluating anything.

You don't need a person to track metrics. If these fictions worked you could set up a machine to track progress and send reminder emails, and even to fire people who were consistently too far behind.

To put it in a not nice way, the managers at startups I've met were experienced people who weren't skilled enough to cash out during the first bubble, or who never made it to an executive position or to starting their own company. They were untalented, and their advice was bad. If they had been genuinely capable of showing me how to perform 10% better, I would have received them as saints, or as angels from on high, and would probably have spent as much time around them as possible. That was not the case.

The other reason people like metrics is because of the squeeze. You're already operating under the assumption that I might not be working at full potential, that's why you want the additional accountability. If I am working at full potential, and you assume you can squeeze 5% more out of me, and start to press down, then maybe you do get 5% more in the short run, but in the long run you've caused a problem.

In their less guarded moments I've heard people in these positions claim their job is to improve performance by just a few percentage points, and that will justify their position. Multiplied over a department, these are huge gains. Unfortunately, that's an exceedingly difficult proposition for someone without special insight, and the only way it's going to happen is if they are in control of the results metrics. Which they are.

Maybe you can recover a few percentage points in a clunky, inefficient company. In a hot startup one overseer is not going to squeeze that much out. They're just annoying.

I doubt you can get rid of middle managers. They're there for a reason. Someone has to digest what's going on for the higher ups. But there's probably a better way for them to do their jobs than inserting themselves where they don't belong.

I guess you'll have to take my word for it that I'm not talking about the obviously silly ways of making developers accountable (like LOC or tickets closed.) I'm a developer, so I know that typically managers who don't know how to code shouldn't be managing coders.

What I'm talking about is developers who demand above market wages, and shorter hours (than lawyers, or doctors, or automotive engineers etc.) and less commitment, and more equity. There are a lot of these guys out there, and a lot of people on here who think like that. I'm saying that's a childish, entitled attitude that ignores the reality of starting and building a company. Sometimes you can't have it all.

Unless you're hiring someone fresh out of school, they've likely had some experience in the job market and base their expectations of salary and conditions on that.

It's not really a sense of entitlement if I can point to similar positions x, y, and z and ask why you're not offering the same, is it?

Expectations, whether or not you find them realistic, are not created in a vacuum. I can't pay my mortgage or feed my kids on a "pre-money equity-only" job. Taking a deep pay cut for a stake in NewCo? Been there before - at the end of the day, 5% of nothing is still nothing.

If you're looking for someone who is willing to take a big risk for very little (immediate) reward, you aren't looking for an employee, you're looking for another co-founder.

I totally agree with you. That's exactly my goal in hiring early employees - they are de facto co-founders that should get a ton of equity and a livable salary.

If someone wants 90k and 40 hour work weeks they should go work at Microsoft or IBM. That's not how successful startups are built. You need to be ultra frugal, extremely dedicated (to the point of obsession) and have lots of exposure to the up side.

This comment perfectly underscores what's wrong with a certain section of the startup community. It underlines the complete and utter lack of respect towards developers as human beings. People like axiom and the Jason Calacanises of the world have created a toxic environment where employees are being totally dehumanized and treated as resource which must be exploited to their fullest extent rather treated as fellow human. And developers are mocked and called "entitled" for having perfectly reasonable demands as pointed out in this article. 90k was an example of a salary, if you have limited resources sure something like 50-60k a year with no overtime is a reasonable, but then as an employer don't demand or expect they work 60(or even more!) hrs a week for a meagre 40-50k.

It's funny you say this, because I know many people that would work that and more for much less.

Maybe it's that developers are out of touch with economy trends, or maybe they are just in so much demand that they feel they can ask for this sort of thing...but I'm concerned that you correlate hours with salary in that way.

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