How Employers Measure Passion in Software Engineering Candidates (and how to express your passion in resumes and interviews)

Over the past few months I have had some exchanges with small company executives and hiring managers which have opened my eyes to what I consider a relatively new wrinkle in the software development hiring world.  I have been recruiting software engineers for 14 years, and I don’t recall another time where I’ve observed this at the same level.  Here are two examples.

The first incident was related to a candidate (‘A’) resume that I submitted to a local start-up.  A was well-qualified for the position based on the technical specifications the client gave me, and I anticipated that at worst a phone screen for A would be automatic.  I even went as far as to share A’s interview availability.  A day after hitting ‘send’, I received feedback that the hiring manager was not interested in an interview.  A large part of the manager’s reasoning was related to the fact that A had taken a two year sabbatical to pursue a degree in a non-technical discipline and subsequently took a job in that field for a brief stint, before returning to the software world a few years ago.  I clarified information about A to be sure that the manager had full understanding of the situation, and the verdict was upheld – no interview.
My second anecdote involves another candidate (‘B’) that I presented for a position with a different client company.  B was someone I would classify as a junior level candidate overall and probably ‘borderline qualified’ for the role.  B had roughly the minimum amount of required experience with a few gaps, and I was not 100% confident that B would be invited in.  B was brought in for an interview, performed about average on the technical portions, and shined interpersonally.

As this company does not make a habit of hiring average engineers, I was at least a bit surprised when an offer was made.  I was told that a contributing factor for making the offer was that B’s ‘extracurricular activities’ were, according to my client, indicative of someone that was going to be a great engineer (though B’s current skills were average).  B’s potential wasn’t being assessed as if B were an entry level engineer with a solid academic background, but rather the potential was assessed based on B’s interest in software.

There are obviously many other stories like these, and the link between them seems obvious.  Software firms that are hiring engineers (smaller shops in particular) appear to be qualifying and quantifying a candidate’s passion with the same level of scrutiny that they use in trying to measure technical skills and culture fit.  Historically, companies have reviewed resumes and conducted interviews to answer the question, ‘Can this candidate perform the task at hand?‘.  For my purposes as a recruiter of engineers, the question can be oversimplified as ‘Can he/she code?’.  It seems the trend is to follow that question with ‘Does he/she CARE about the job, the company, and the craft?’.

If you lack passion for the industry, be advised that in future job interviews you may be judged on this quality.  Whether you love coding or not, reading further will give you some insight.  Engineer A is a cautionary tale, while B is someone the passionate will want to emulate.  Let’s start with A.

I don’t want to be like A.  How can I avoid appearing dispassionate on my resume?

Candidate A never had a chance, and I’ll shoulder partial responsibility for that.  A was rejected based solely on a resume and my accompanying notes, so theoretically A could be extremely passionate about software engineering without appearing to be so on paper.  Applicants do take some potential risks by choosing to include irrelevant experience, education, or even hobbies on a resume, and I will often warn my candidates of items that could cause alarm.  In this case, A’s inclusion of both job details and advanced degrees in another discipline were judged as a red flag that A might decide to again leave the software industry.  A similar conclusion could have been reached if A had listed hobbies that evidenced a deep-rooted drive toward something other than engineering (say, studying for a certification in a trade).

Another related mistake on resumes is an Objective section that does not reflect the job for which you are applying.  I have witnessed candidates being rejected for interviews based on an objective, and the most common example is when a candidate seeking a dev job lists  ‘technical lead’ or ‘manager’ in the objective.  Typical feedback might sound like this:  ‘Our job is a basic development position, and if she only wants to be in a leadership slot she would not be happy with the role’.  Listing the type of  job that you are passionate about is essential if you are going to include an objective.  I prefer that candidates avoid an objective section to avoid this specific danger, as most job seekers are open to more than one possible hiring scenario.

I want to be like B.  What can I do to highlight my passion during my search?

Since the search starts out with the resume, be sure to list all of the details about you that demonstrate your enthusiasm.  This should include relevant education, professional experience, and hobbies or activities that pertain to engineering.  When listing your professional experience, emphasize the elements of your job that were the most relevant to what you want to do.  If you want to strictly do development, downplay the details of your sys admin or QA tasks (a mention could be helpful, just don’t dwell).  When listing your academic credentials, recent grads should be sure to provide specifics on classes relevant to your job goals, and it may be in your best interest to remove degrees or advanced courses unrelated to engineering.

In my experience, the most commonly overlooked resume details that would indicate passion are:

  • participation in open source projects
  • membership in user groups or meetups
  • conference attendance
  • public-speaking appearances
  • engineering-related hobbies (e.g. Arduino, personal/organizational websites you built or maintain, tech blogging)
  • technical volunteer/non-profit experience

If any of the above are not on your resume, be sure to include them before your next job search.

Assuming that you get the opportunity to interview, try to gracefully and tactfully include some details from the bulleted list above.  Your reading habits and technologies you self-study are best mentioned in interviews, as they may seem less appropriate as resume material.

Conclusion:  Most candidates should feel free to at least mention interests that are not engineering related if the opportunity presents itself, as companies tend to like hiring employees that are not strictly one-dimensional.  Just be sure not to overemphasize interests or activities that could be misinterpreted as future career goals.  Passion alone won’t get you a job, but it can certainly make a difference in a manager’s decision on who to hire (candidate B) and who not to even interview (candidate A).  Make sure you use your resume and interview time to show your passion.

If you found this post useful, you may find my ebook Job Tips For GEEKS: The Job Search very helpful.  You can also follow Job Tips For Geeks on FacebookTwitter, and Google +.

Why Recruiters Suck, And What You Can Do About It

Question:  When is the last time you read a tweet like this?

Tweet

Answer:  Never, because it’s never happened.

I’m a tech recruiter.  Please, hold your applause.  In the past few weeks I’ve read quite a bit of chatter (tweets, blogs, etc.) from technologists being hounded by recruiters, and the mention of these incidents is never framed in a positive way.  It would seem that most in the tech community view almost all recruiters as a collective nuisance more than anything else.  Knowing what I know about some others in my profession, and after hearing hundreds of anecdotes (read: horror stories)  from my candidates over my 14 year career in recruiting software engineers, I can’t help but agree.

The good news is that when recruiters are calling, it is the one definitive sign that the job market is hot.  So you can all be thankful for that silver lining.  The bad news is that when the job market heats up, recruiting companies start hiring more recruiters, and let’s just say that the standards for hiring new recruiters are not terribly high for most companies.  I was lucky to be hired for my first recruiting job by a firm that screened new hires thoroughly and invested heavily on training new employees, but it seems that these days the ability to dial a phone and send an email are enough to get you hired (ethics are a nice to have, and a pulse is considered a big plus).  Training may consist of a couple three word phrases.

“Smile and dial!”

“ABC – Always Be Closing”

I’ll admit, it sucks for those of us recruiters who are truly good at what we do.  To be in a profession that is viewed with such disdain from our customers (candidates and companies alike) can be quite depressing.  Politicians, injury lawyers, and used car salesmen have nothing on us, except they are known to a wider audience.  I rarely hear “I don’t work with recruiters”, but when it happens it always seems a bit odd, especially if you think about what a recruiter’s goals should be.  If I do my job properly and successfully, it is a ‘win-win-win situation’.

Win 1 – You get a new job that you want (or you wouldn’t accept the offer).
Win 2 – A company gets a new employee that fills their need.
Win 3 – I get a few bucks, as well as the satisfaction of helping further your career and assisting a company to achieve growth goals. (Please don’t overlook or dismiss this satisfaction element)

The problem with many recruiters, it seems, is that they simply don’t pay any attention to the desires of candidates.  This results in lost time for all involved – candidates waste time reading about jobs that don’t apply, hiring managers read résumés and interview candidates that are not qualified or interested, and the recruiter is wasting time with activity on both sides.  Many of the complaints I hear about techies getting bombarded with emails from recruiters would be easily avoided if the recruiter would simply do a little reading, or (God forbid) thinking.

If a resume says that a candidate is only looking for work in Philadelphia, recruiters should not email you about positions elsewhere.  This is probably the biggest complaint I’ve seen, and it is seemingly the easiest to avoid.  I’m stunned how often I hear this one.  NOTE: If you are one of those that possess a very rare technical skill, you should probably expect that you will hear from some recruiters trying to draw you to a new geography.

If a resume says that a candidate is only looking for work as a Ruby programmer, recruiters should not email you about their Sys Admin job.  Recruiters, is it really that difficult a concept?

The last issue seems to be ethics.  Recruiters are infamous for lying to candidates about their clients, salary ranges, job responsibilities, etc.  They just want to get you (first your CV, then your body) in front of the manager.  The ethics issue is not as easy to solve, but as someone who has survived two economic downturns, I can attest that being ethical and honest as a recruiter is your only chance of having any long term success.

One major influence in a recruiter’s behavior can be traced to how some recruiters are judged.  Many recruiting firms apply simple metrics to evaluate a recruiter’s performance.  The more candidates a recruiter submits and the more interviews a recruiter generates, the more favorably that recruiter will be viewed by managers, often regardless of the outcome of said interviews.  This is the ‘numbers game’ you hear about, and the attitude that if you ‘throw enough spaghetti against the wall, some of it will stick’.  Recruiting firms that still use these types of metrics are doing it the wrong way.  Clients (hiring companies) are using recruiters to save time, so a much better metric for those that manage recruiters AND hiring managers at client firms is submissions per hire.

As much as I dislike economic slowdowns that result in lower hiring rates, I have learned to appreciate the fact that I know many of the worst recruiters do not survive these periods.  Only the best in the business can stay afloat when companies are laying off workers.  Ironically, times of economic downturn are also when technologists truly learn to appreciate a good recruiter.

So what can the tech community do about bad recruiters?

  1. If you don’t want recruiters to waste your time contacting you about every job order that comes across their desk, politely let recruiters know what type of job would interest you.  No matter how happy you are at your job, I would guess that there would be some rare opportunity that you would at least want to hear about.  Keep a little blurb handy (call it ‘dream job’) to cut/paste into a response that lays out the type of job that would interest you, locations, perhaps even a bit on compensation.  “I’m only interested in permanent Senior Python positions in NYC paying over 120K”.   If that recruiter continues to ask you about jobs that don’t match the criteria you sent, simply block them from contacting you.
  2. Tell recruiters that when you decide to look for work, you will call them (and actually follow through and call the one(s) that you like).  As a recruiter, I would much rather have you tell me when you are ready to hear about opportunities than to try and guess what events (birthdays and bad company news/acquisitions are most common) may cause you to open your ears to a new gig.
  3. Support recruiters that give back.  If a recruiter takes the time to review your resume or to provide you valuable career advice without having any financial interest in your decision, that should be someone you contact in the future when you look for work.  Do you know any recruiters that spread useful info on the industry?  Refer friends to this recruiter.  Supporting the good recruiters keeps their service available, and should help to eventually put the bad firms out of business.
  4. Let a recruiter know if you feel he/she is not providing a valuable service.  Maybe even tell them which other recruiters you respect.  Perhaps a shot to the ego will give them incentive to try and improve.

The Bottom Line

As a tech recruiter, I want to have positive relationships with as many of the best software professionals as possible.  If I follow you on social networks, blogs, and try to ‘link’ to you, it’s because I feel I can probably help your career down the road (and again, create a win-win-win) and I can learn about industry trends by reading your posts.  There are recruiters that are less skilled/ethical just as there are software engineers with the same qualities.  To completely turn away from recruiters based on the actions of some many in our industry is to do yourself a disservice.  Have faith, there are enough good ones that you will eventually find one that works for you.

If you found this post useful, you may find my ebook Job Tips For GEEKS: The Job Search very helpful.  You can also follow Job Tips For Geeks on FacebookTwitter, and Google +.

The Future: Polyglot Programmers

I wrote an article three years ago, “Become a Better Java Programmer – Learn Something Else“, that was subsequently picked up by JavaWorld and DZone and received moderate positive and a bit of negative feedback.  The negative was primarily aimed at my assessment that “perhaps 80%” of the best local Java talent were familiar with at least one of a set of other languages I listed.  Some readers felt the 80% was pulled from thin air (or pulled perhaps from somewhere else), and I concede the number was simply an estimate.  And of course the “best local Java talent” line was also subjective, but time has shown I am a good judge of that.

The gist of the article was that the best Java pros that I knew at the time were either fortunate, curious or ambitious enough to learn other languages and platforms.  Perhaps they wanted to improve their Java skills, to simply climb a mountain because it was there, to have a Plan B in case Java went downhill (article published June ’09, Oracle/Sun deal announced April ’09),  or maybe they knew something I admittedly didn’t know regarding where things were headed.

When I wrote the article, I was offering career advice targeted to Java developers who wanted to continue to be Java developers – learn another language and you should become more effective using Java.  I don’t think I had any real instincts that things were going to change dramatically over the next several years.  I think the dramatic change is now happening, and it’s time to pay attention if you haven’t been.

The concept of polyglot programmers and polyglot programming isn’t new by any means, and I realize that I’m certainly not the first person or the most qualified person (I may be the tallest) to think or write about the subject.  Neal Ford mentioned it over five years ago in a blog post that was quite prophetic.

Think of it this way:  Years ago if you were living in Germany, chances are you only spoke German.  As travel became easier and business spread to different countries, the world got smaller, and it was advantageous or even necessary to learn new languages because the chances of encountering a non-German speaker were greater.  Now many Europeans speak at least a couple languages fluently out of necessity.  If you are a bartender in Rome, chances are you know how to say ‘beer’ and ‘thank you’ a few ways.  The software development world and the options within it have grown vastly, but the need to be productive or conversant in more than one programming language has not historically been a requirement to get ahead.  I feel that has changed, and will continue to change in the years to come.

Since writing my last newsletter I had a couple interesting and vastly different conversations with two technologists that made quite an impression.  One was with a very experienced (>10 years) Java programmer who admittedly had no real programming experience beyond the more common Java tools and API’s (some MVC, JSP) and invested little time trying to keep up with industry trends.  She had many years with the same company and saw very little change in the tech environment.  The second conversation was with a grad student finalizing a Master’s in Comp Sci who had academic, internship, and professional experience (< 2 years) with Python, Java, C++, and Ruby.  He was involved in various tech communities and technology was a hobby in addition to being a chosen profession.

Right now, both of these candidates are quite employable, and as you would expect the experienced Java programmer will earn more at present.  If I had to buy stock based on future earnings and career advancement  in these two candidates today, I’d put all my money and mortgage my house on the grad student.  This Java pro is, at this point, not even aware that the world has passed her by.

Historically, most software shops were hung up with hiring requirements that listed minimum amounts of acceptable experience with a technology.  I can recall having to explain to a client a few years ago that the only person that might have had the amount of Spring experience they were seeking was Rod Johnson (true story).  When I speak to my clients now, it is clear that most are more interested in aptitude over experience with specific languages or tools, as well as an understanding of certain core engineering concepts and principles  (perhaps multi-threading or functional programming) in addition to a set of character traits that tend to result in productive engineers.

The metaphor I often use is to liken engineers to athletes.  A great athlete can throw a football or a baseball skillfully and is able to use both a hockey stick and golf club to make solid contact with a puck or ball, once the athlete makes some simple adjustments to the chosen object.  Likewise, a truly great engineer should be able to succeed using any of several languages, once they understand the syntax and basics.

With the wide variety of robust languages and platforms currently available and ready for prime time, it is hard to imagine that any one or two will become as dominant a force as Java and .Net have been over the past 10+ years.  I believe the days of hearing ‘We are a Java shop’ or ‘We are a Python shop’ are behind us.  The most innovative shops are mixing technologies based on using the language/platform that is the best fit for the task while also factoring in the experience level of the team members.  To remain valuable and relevant, it is becoming necessary to write software in more than one language.  Having the ability to produce in more than one language may be a luxury today, but it is becoming very clear that this will be a necessary skill for tomorrow’s engineer.

If you found this post useful, you may find my ebook Job Tips For GEEKS: The Job Search very helpful.  You can also follow Job Tips For Geeks on Facebook, Twitter, and Google +.