Letter to ’12 Grads – How to Pick a Job and a Mentor

Cue ‘Pomp and Circumstance’ – hit play below to enhance the reading experience (or don’t, it’s just a song)

Dear Graduating Senior and Future Technologist,

First, congratulations on earning your degree!  A degree is generally considered as a ‘nice to have’ and not a firm requirement for most programmer slots these days, and hopefully you learned quite a bit about software development in your classes.  Having that parchment could be an advantage over other candidates entering the competition for technology sector jobs.

Based on conversations I’ve had with other recent graduates, it seems you have probably received some bad advice and misinformation recently from professors, career placement advisers, your peers, and even your parents regarding your new search for employment.  I certainly mean no disrespect to those trying to help guide you, but it is important that you also get some input from people ‘on the front lines‘ in the field.  Some academics tend to be insulated from what is really happening in the software industry, and your parents may think that a good pension plan is what you should really be after.

First I will outline how your job search (as an entry level technologist) is unique and much of the generic material that you have read re: job searches will not be applicable.  Then we will analyze how to best choose your job, and what to do when you start.

GETTING YOUR FIRST JOB OFFERS

There are quite a few things to keep in mind when trying to get your first job offer(s).  I assume by now you’ve read a considerable amount of information on interview techniques and resume tips.  Most interview prep info is applicable across the board for all experience levels.  Regarding resumes, the first thing to keep in mind is that in most cases the value of your education > job experience, so details on your school projects and classwork should be highlighted and placed prominently on your resume.  I don’t recommend an ‘objective’ section for experienced candidates, but for recent grads it is a good tool for conveying your drive and desire.

Companies are going to view many resumes and conduct several interviews with entry-level candidates.  Hiring managers are well aware that a significant majority of new engineers will not be immediately productive upon hire.  The decision to hire an entry level candidate is essentially an investment for the firm, where said investment has little current value (low productivity) but should hopefully reap dividends in the long-term.  A company’s interview process becomes due diligence to weigh the risk and reward for any individual.

Why should someone hire you?
What makes you a better investment than your classmate?

The most important attributes for entry-level engineering hires are:

  1. Willingness to do whatever is asked, and some things that are not explicitly asked – The tasks given to an entry level engineer will generally be the least interesting, so you will need to pay some dues.  Remember Ralph Macchio waxing cars and painting fences in The Karate Kid?  (Oh, class of 2012, almost forgot – did Will Smith’s kid wax cars in the remake?)  For the first few months of the job, you will be Ralph Macchio – go buy a headband.  Sure, Ralph got a bit lippy with Miyagi from time to time, but he finished the jobs and learned his craft.  Convey in your resume and during interviews that you are a team player and willing to do what is necessary to further the goals of the company.  Bonus points if you can show initiative (I recently had a candidate that was given the task of writing a small application at home as part of the interview process, and she decided to write a test suite and readme file that were not part of the assignment – brilliant!).
  2. Desire and ability to learn – The desire to learn will be an intangible that may be best demonstrated by any extracurricular engineering-related activities that you do.  School tech clubs, user groups, hobbies, and conferences all apply to your curiosity.  Ability to learn might be shown via an anecdote about a school project where you had to pick up a new tool or language with little guidance to complete the task.
  3. Youthful exuberance and enthusiasm – Injecting young talent into an organization can give a spark to any disillusioned engineers who may be losing passion.  Someone with great positive energy (even combined with limited skills) has great value as a catalyst.  In sports, these are players that may be referred to as ‘good locker room guys’.  Don’t do cartwheels in your interview, but showing managers a contagious energy that people can feed off is a real benefit that you could provide immediately while learning the trade.
  4. Malleability – One good thing about not having any job experience is that you should be somewhat free of any bad habits.  When given a choice between entry level and someone with just a bit more experience that has some potential baggage, companies will most often take the blank slate.  The team will help mold you into being productive specifically within their environment and development methodology.  It’s difficult to demonstrate malleability in interviews, but be willing to let it happen.

CHOOSING YOUR FIRST JOB AND WHAT TO DO WHEN YOU START

It seems that many of you were recently told how vitally important your first job is and to be extremely selective in making a choice, and I agree that your first job in the industry can be significant.  However, it is probably not quite as important as you think, and based on many conversations it is not nearly as significant as you are being told.  You are entering a field that is known for a high turnover rate with available statistics tending to fluctuate in the 10-25% range (often higher for first jobs), so odds are you won’t still be at this first job in a few years anyway.  So let’s consider how to get the most out of the experience.

When I speak to entry-level and junior engineers and ask them about their job search criteria, I generally get similar answers to the ones I get from more experienced pros.  “Interesting technologies and problem domains, challenging responsibilities, good people/culture, competitive compensation and benefits, stability…”  Does knowing that the software engineering field has historically had a high turnover rate change any of your criteria?

“But my professor said I shouldn’t take a job using certain languages, my adviser said I should be paid at least $63,200 per year, and my parents told me I need to be looking for job stability.”

No, no, and no!  The language is just a tool to use while learning the trade (noting that some tools/skills are more marketable than others), the money will come to you if you take the right steps in your career, and I hate to be the bearer of bad news, but there is no such thing as stability anymore.  The first job search should not be about trying to get rich quick, nor should it necessarily be about finding an employer that you will be with forever.  Did you plan on marrying the first guy/girl you dated?  If it happens, great, but let’s not go into this first search with unrealistic expectations.  What is really important about your first job?

The single most important thing you should be looking for at the start of your career is to work in an environment where people are both able and willing to teach you how to become a better engineer.

Other factors will obviously come into play, but be sure to weigh those with the above in mind.  Just because a software shop pays the highest salary, uses the newest technology, has plenty of customers, offers you the most job responsibility and passes the Joel Test doesn’t make it the best place for a freshly minted engineer (but it does sound pretty tempting).

Being ‘taught‘ doesn’t mean that you should seek out companies that provide formal training sessions in air-conditioned lecture halls, as that was what college should have been.  It also doesn’t mean that you will be coddled and have your hand held every step of the way.  Swimming lessons are taught in the pool for a reason, and the deep end can be more useful than the shallow end for certain training purposes.

Able to teach would be characterized as a team with strong developers (preferred size is debatable but somewhat irrelevant) and communicators that have good habits and a track-record of writing quality code.  Ideally the team is busy and productive enough where new engineers can learn to function in a fast-paced environment with deadlines, but not so chaotic that the company doesn’t have the luxury of letting you make the occasional mistake.  Aside – You are going to make mistakes, so be prepared to accept some blame for a problem you created, learn from the mistake, and don’t compound the problem by passing the buck.

Willing to teach can be a little complicated with both personalities and time constraints being potential inhibitors. You want need to find a mentor, and strong technologists will need to have their egos stroked a bit (protip – you will find a few egos in the tech world).  The search for a mentor is not a race and shouldn’t be taken lightly.  Some may argue that finding the ‘right’ mentor could be as important as finding the ‘right employer.

Take a few weeks to try and figure out who the best engineers are in your team/department, and who you could learn the most from (note that the best engineer often does not equal the best mentor).  Which developers are tasked to explain things to other team members and which ones conduct internal training activities?  Once you have some ideas as to who the best engineers are, maybe try asking them a few test questions to see how responsive they are to helping out the newbie.  Finally, choose the best fit based on all these factors and tell her/him that you are interested in being mentored.  If this person likes you she/he will most often be flattered, and hopefully you now have your first guide through your early career.  If this person refuses or seems hesitant, go ask your second choice.  Repeat as necessary.

Once you’ve found your mentor, pay careful attention and try to figure out what makes this person such a good engineer.  Note their work habits, interactions with both technical and business teams, reading materials/bookmarks, how they handle working under duress, etc.  How does he/she respond to unrealistic deadlines, his/her own bugs, dissension within the ranks?  Continue to ask questions and be conscious of any social cues your mentor might be sending out (i.e. learn to differentiate the ‘Not now, kid’ leer from the ‘You could just Google that question’ stare).

Now that you have a mentor, show your mentor your appreciation by both being grateful and working hard.  Don’t be the last one in or the first one out, as people notice those things for new hires.  Your performance will now reflect somewhat on your mentor, so even if your actual contribution is somewhat low your effort should never be in question.

Remember that as an entry-level developer you are an investment for the company, and the harder and smarter you work the more apt you are to begin paying dividends.  Don’t make them regret their decision to invest in you.  Chances are you won’t be at this first job for more than a few years, so absorb as much information as you can from your the opportunity and your mentor.

About these ads

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 +.