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?
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).
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.
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.