How to Find, Hire, and Retain Developers – Interview with Cal Evans
blog.fogcreek.com
blog.fogcreek.com
The Venn diagram of "best developer talent" and "developers within commuting distance" have a very small overlap for most locations.
Edit: Typos.
Ouch. I guess I never should have dropped PHP for client side MVC apps.
It really was not my intent to imply that only back-end developers are serious developers. I'm going to chalk that one up to the fact that this was a live interview and sometimes things just fall out of my mouth before I can shut it. I do apologize and ask that any front end developer, designer, or any developer proficient with photoshop to please accept my apology. :)
I was trying to say that if a company is advertising for a developer, seeing photoshop on the ad is a red-flag. I have known a few developers who can also design but only a few.
In my experience, when you start seeing disconnects like this is it because the company hasn't put a lot of thought into exactly what they want the developer to do. That is bad for them, it is worse for whomever they hire.
I am married to a wonderful designer and would never ever disparage designers. :)
That's great for him but it's not workable for a pool of 22-year old college graduates with no work experience, or 40-something developers who never had a chance to write open source for github. That's one of the reasons why companies actively recruiting from colleges use fizzbuzz and whiteboard coding tests.
What's the % of compsci college grads that have github activity of any significance? Less than 10%?
>Free lunches, that’s crap. [...] I understand the mentality of free lunches and dry cleaning and all of this. Those exist so the company can keep the developer’s butt in their seat longer, and they exist for no other reason.
I disagree about employer provided lunches. The other stuff like foosball tables and onsite volleyball court I don't have a strong opinion on but employer provided lunch is a very nice thing to have.
So many days I'm hungry and I really don't want to get into a hot 120 degree car or fight the rain and snow just to get something to quick to eat.
The employer catered lunch is very convenient especially if the vendor brings in healthy food (veggie sandwiches, etc). It is very hard in some locations to get a healthy lunch when the closest restaurants are junk food places like McDonalds and Taco Bell.
Every place I worked at that had employer provided lunch never had any social pressure that forced you to eat your lunch while being chained to your desk. Maybe he only sees companies forcing programmers to multitask the lunch hour by eating a sandwich with one hand and banging out code with the other. He doesn't realize there are companies out there that provide lunch simply as a progressive benefit instead of some kind of abusive weapon.
If you owned a restaurant, would you object to your cooks going home and making themselves a nice meal?
Note: This is more of an idle curiosity thing that popped into my head reading your comment. This is not a "Boom, roasted!" type of comment.
You ask, when the chef comes in for the day, what he or she did over the weekend. "Well", comes the response. "My in-laws were visiting, so I made them a proper Italian supper, with fresh pasta and homemade meatballs."
Your restaurant isn't Italian. Are you annoyed? The point is that it's wrong to control people when they're not at work. If you're happy with a programmer's output at work, it's ridiculous to tell them that they shouldn't program when they go home. If you're unhappy with their work, then the point is not "you're doing too much at home", but "you're not doing enough at work. Do what you need to do to produce as we agreed your job requires."
I take issue with the author trying to judge this chef based on the meal he made for his in-laws. That seems to be the same as judging a candidate's merit based upon their side projects.
My example and question might have been a bit off, but I still think it is a bit flawed to make this judgement when trying to hire someone.
Software development is not a basic necessity of life.
My comment was not about cooks; that was just the first example that came to mind. The point is that sometimes people do things in their spare time that make use of the skills that their employer pays them for. Why is it inherently negative for an employee to use their job-skills for non-job purposes?
It's not. I guess my point to the original comment is that they might not put in as much passion on the after-hours stuff because they are tired from work; and that doing it because you're kind of obligated to do it (for family, friends) is different from being required to do it in order to keep your career moving forward.
>Personally, I would want my employees to give me 100% of their effort on coding. If they are going home and coding, how much effort are they actually putting in at work?
The discussion is over "what should coding at home mean about a candidate or employee?" While certainly I agree with you that coding at home should not be /required/, I don't agree with the argument presented in the quote that says "coding at home means you're not working hard at work".
As to your second point, some developers are not passionate about programming as a craft. I know developers and have worked with developers that programming is a job. Outside life, they have other interests and do not want to spend their evening turning a unit test green. I'm fine with that but when I am hiring, I am looking for passion.
> I do not negotiate salaries.
> I ask the person what do you need.
That is the most absurd thing I have ever heard. Did you honestly tell your employer "oh I only needed $X to pay my bills and eat ramen"?
> I’ve got a junior developer saying I need $100,000, that’s not reasonable
Actually according to glassdoor[1] - salaries for a "junior developer" range from $60k to over $100k.
[1] - http://www.glassdoor.com/Salaries/junior-developer-salary-SR...
I don't think he has to deal with remote workers - but automatically disqualifying someone based on how much they ask just rubs me the wrong way.
The thing about not negotiating simply means that he asks you your number, and then makes a binary decision based on that number. As opposed to trying to get you to agree to a lower figure, your number is either acceptable to him or not. If so, hired; if not, not.
That still does not change how I handle salaries. However, I left out a critical part.
Yes, I like hiring remote developers. Yes, I like paying each developer what they feel they are worth so that they are comfortable with the job and not always looking for the next thing.
HOWEVER, before I start looking for a developer to hire I have to assess what the position is worth to the company. Regardless of geographic norms for the developer, if the position of Jr. is not worth $100k to the company, then I will dismiss the candidate because others will provide similar value and within my range.
I want everyone to be comfortable with the salary being paid. That includes the developer I am hiring, the company I am hiring them for, and myself. The person who will be held responsible for the decision.
"I advise developers, anytime they’re looking at job ads, serious developer positions, not front end developers..."
How can he retain great front end engineers if he doesn't even think it's a "serious" position? I've done machine learning, kernel hacking, back end, mobile, and front end, and it takes just as long to learn to be amazing at front end as it does to learn any of the other categories.
As an accountant trying to turn programmer lots of nuggets there.
A couple of days ago I was solicited to work as an assembler.