amuck-landowner

Hiring Senior Software Engineer/Designer

Nick_A

Provider of the year (2014)
We're in the process of looking for, evaluating, and hiring a senior software engineer/designer. I'm not so much posting the job offer here as I am asking for advice on how to go about finding the right talent for this position. What would you guys recommend? I myself am not a programmer, so I'm trying to figure out how to really be able to evaluate a potential hire.

Edit: I do mean hire, not one-time contract work.
 
Last edited by a moderator:

Supicioso

New Member
You don't have to be a programmer. You look at previous work they've done and possibly contact past clients they've had if possible. It's not all that different from finding someone for any other job someone may offer. If they seem sketchy, you could always give them a small task to complete to evaluate how fast they get it done and the amount of issues it has afterwards. Obviously you should pass by anyone who isn't willing to prove their skill.
 
Last edited by a moderator:

Abydon

New Member
0) Have a programmer friend that you trust at the interview. If you cannot do 1, hire a consultant to be that friend. You can give them tests but, ultimately, you need someone who can tell if the potential employee is trying to bullshit you. If this is not viable, reconsider your plan. I've been hired by someone in your position before and they had no clue how to judge the quality of the potential employee. 

1) Contract to hire [clear time limit of 90 days or less, pay according to starting salary, benefits start as soon as they are hired, etc.]. There is no way you can be confident that step 0 is enough. Alternatively, if they are already employed, contract them to do a small project they can do on weekends/nights [paid accordingly] and have the person from step 0 check it.

2) The rest is like hiring anyone else really. Check references, check for cultural fit, etc.

Edit:

3) Since you said it goes well beyond a control panel...umm...do realize that none of the above will protect you against poor architectural decisions they might make. I'd strongly suggest you pick someone who understands MySQL/Galera or another highly available cluster that is relatively easy to deploy and use. If they do not know that sort of thing...I wouldn't bet your business on their competence which is what you appear to be doing if they are taking over your CP, backend automation, etc.
 
Last edited by a moderator:

Steven F

New Member
Verified Provider
Another problem you're going to have is quality control. You'll want to have every piece of code they write audited externally. It may make more sense for you to outsource (not necessarily to an Indian company, you can outsource the programming to an American company). You'll probably pay something similar, but you'll be getting an entire team. Plus, you don't need to worry about managing them. If you still want to hire someone, you can always hire a consultant to interview and pass on to you the ones that are competent and capable.
 
Last edited by a moderator:

Hxxx

Active Member
No @Nick_A never outsource software development, that's the main reason of why stuff gets leaked into the internet. Plus I believe what you want to do is mission critical so that option is not to be considered.

In regards to your main question:

1- Make sure is a US resident, in this way you can run a background check. 

2- Ask for certificate of good conduct

3- Ask for drug tests.

4- Ask for Bachelor Degree or +++, completed education, in computer science or related area. Even though sometimes is not the most important thing. Explained below.

5- Ask for a portfolio of past works or projects, also ask for references with previous companies where he has worked, but related to the position you are looking to fill in.

6- Is very important to pay attention to details of the sample of code and projects. If the person do sloppy shit, that's exactly what you are going to get. Make sure this person is very attentive to details.

7- Test each candidate in person, face to face, no bullshit skype no remote interviews, that never work. If possible prepare a test or hire an online service (i'm pretty sure this exist) and test the candidate through online tests, to verify his knowledge. Obviously the candidate must have knowledge in the company main services.

8- Make sure this person is security conscious, and that is capable of properly securing his development environment.

9- Before hiring this person, ask him to do a mini project, this without payment. Examine how fast, how good is the code in terms of quality. I'm paranoid , but I do development I can examine the code myself, but If I were you I would get that sample of code and get it examined by company like Rack911 or something like that, to make sure is quality and not shit.

If you hire an inexperienced person, you will lose money. You need somebody to start quickly with the job and adapt to the environment.

In this world you will find:

1- Everybody claim to be a professional, even though some people know shit, and should be banned from this area.

2- You will see candidates that have studies, but don't have the knowledge. (Discard)

3- You will see candidates that have studies and know a lot , heck a hell more that what they should know. (Consider)

4- You will see candidates that haven't completed studies (ask for reasons), but know a lot more, even more than the one with studies and knowledge. (Consider)

5- You will see candidates that don't have studies and know shit. (Highly discard). Even though they are great actors and can fool people.

Overall the best candidate should be motivated, skillful in code and in overall knowledge, self maintained, low supervision needed, can be trusted, a mature person - must have overall sense of life (family, responsibilities, want success), should be able to express an idea, should be able to document, must be organized, need to have a big passion for computer systems, and most important : must know how to follow instructions.
 

willie

Active Member
Mini project without payment?  Do you think senior developers are running charities?  See ya later ;-).  

It's pretty common around here to bring candidates on for brief consulting stints to check them out and do mini projects before deciding to make a long term offer, but they get paid for it.

Resume, phone screen, look at past work, interview, consulting tryout is a fairly standard path around here.  I've been hired or recruited a few times that way, it works pretty well.  You don't get more than a few hours (interview) for free though.

Why are you trying to develop a panel?  Aren't there already lots of those?  Do you think it's likely to provide a significant competitive advantage?  I find it hard to see how.  Maybe it's better to join in with some other hosts to jointly fund or develop or improve a FLOSS panel if the existing ones aren't adequate.
 
Last edited by a moderator:

wlanboy

Content Contributer
Meet him/her in person.

He/she has to live to be on trial and afterwards be part of your team.

If both sides can live with that you will have a good employee.

Looking at the history of my team (at our company) all people with a Bachelor Degree (or more) are able to get into any topic (if they want to).

So check non-technical topics.
 

Abydon

New Member
Mini project without payment?  Do you think senior developers are running charities?  See ya later ;-).  

It's pretty common around here to bring candidates on for brief consulting stints to check them out and do mini projects before deciding to make a long term offer, but they get paid for it.
Ya, I'm glad I'm not the only one that had that reaction. :) Some people on IRC were saying it was "normal" and I'm like "Eh?, I have never been asked to do a mini project for free." for a job. Go 1099 for a bit? Sure.
 

Hxxx

Active Member
Well, to be fair... If the candidate is the right one, that mini project should be done in 1 day. Not much to sacrifice. Plus you can see the commitment of the possible new employee. 

Commitment is important, no other way to test it.
 

Abydon

New Member
Well, to be fair... If the candidate is the right one, that mini project should be done in 1 day. Not much to sacrifice. Plus you can see the commitment of the possible new employee. 

Commitment is important, no other way to test it.
Neither is paying $400 for 1 day's work to test the person. Or $2k to test the top 5 candidates.

http://www.glassdoor.com/Salaries/senior-software-engineer-salary-SRCH_KO0,24.htm

Personally, I'd laugh at you if you suggested you couldn't afford to spend 2% of the average salary of a position as part of the screening process. I'd assume you couldn't really afford what you were looking for. 

I would never commit more to an employer than an employer commits to me. In the case of someone looking for a new employer, which is an exchange of money for labor, that means they pay for my time if they are assigning me tasks to perform like a trained monkey. :p
 

tchen

New Member
Personally, I'd laugh at you if you suggested you couldn't afford to spend 2% of the average salary of a position as part of the screening process. I'd assume you couldn't really afford what you were looking for. 
+1  If you're serious about getting a qualified senior engineer, skip the request for spec work.  Sure it happens sometimes one will bite, but its exceedingly rare.  They're the ones in demand and have the power to pass you over.  

I'd also caution against doing trial piecework if you're planning on hiring full time.  The applicants that apply for contract vs full time are different so set your expectations correctly, early.
 

Hxxx

Active Member
Well, that can be fixed easily. Pay the person if the results are worth. Otherwise , why compensate a mediocre person who is applying for such high position and pay, when the results of the mini project is SHIT?

Money is hard to earn, at least legally. One can't afford to pay for nothing.

Plus, we are talking about RamNode, one of the most popular in the market, offering you a full position as a developer, I mean he made it clear, he wants to have a full time developer who is worth. 

If I were the applicant, I would not have any problem, specially for such rare opportunity.
 

willie

Active Member
Well, to be fair... If the candidate is the right one, that mini project should be done in 1 day. Not much to sacrifice. Plus you can see the commitment of the possible new employee. 

Commitment is important, no other way to test it.
LOL, the developer is supposed to show commitment while the client shows none?  I don't mind doing 1 day of development for a company but I'd expect to get paid for it (these tryout engagements have tended to be around 2 weeks, and billed at around 1.5x-2x the person's expected fulltime salary for that much time).  I'll generally offer a 1/2 hour phone consultation at no charge and sometimes that's enough to solve the client's problem on the spot.  If not, it will generally let them decide if they want to go further with me, or in some cases I've referred them to other programmers (if they wanted something outside my area).  Asking for a free day of consultation means screening out anyone good enough to not have to jump through such hoops.  If anything, you want to overpay for the tryout, not underpay or try to get it for free.
 
Last edited by a moderator:

Hxxx

Active Member
Is not a temporary job, not a professional service rendered as not employee. Is a full position of work.

What you said is ok for one job contracts, but not for full employment.
 

willie

Active Member
Is not a temporary job, not a professional service rendered as not employee. Is a full position of work.

What you said is ok for one job contracts, but not for full employment.
I don't think you get it.  Yes you want to screen developers, but they also want to screen employers.  What you are suggesting will get you screened out by any developer who has been in the field for any length of time.  If you don't do a paid tryout it's ok to expect the person to do 1/2 day or 1 day of in-person interviews before a formal offer, but in that case there's a 2-way tryout going on, and you're committing a day of your staff engineers'  and management's time to interview the person and that lets him/her take you seriously.  You want them to burn a day of their time on a remote mini-project so you can spend 2 minutes looking over the result?  I'll get back to you.  And yes I like Ramnode and Nick is great, but you only get developers beating down your doors if you're about to have a billion dollar IPO.
 
Last edited by a moderator:

Hxxx

Active Member
yes basically, that's how it works. :) 

You don't screen employers unless you are God like, let see maybe Zuckerberg? or Bill Gates? or Steve Jobs (RIP). But normal people, no, normal people don't do that :)

Plus that screening stuff you are talking about, thats ok for unknown companies. But for large known and successful companies... Are you out of your mind?

Yeah go ahead and screen IBM or Microsoft, lol... 
 

Abydon

New Member
Is not a temporary job, not a professional service rendered as not employee. Is a full position of work.

What you said is ok for one job contracts, but not for full employment.
I think I might have realized the issue here...are you from India?

I'm applying US standards and I think the other people are too. It could be a cultural thing.
 
Top
amuck-landowner