Applying email marketing to impress potential hires


 Some quirky team of awesome engineers. Obviously.

Every time we are interviewing a candidate, may it be over the phone or in person, we invest significant time selling our team and company. We pull out our best story as we want them to get excited about joining us. We usually start by selling the company’s mission: “We’re changing the way [some-awesome-mission-statement-goes-here], by using [ridiculously-unique-technology]”. Then comes the PR quotes we got from TechCrunch, who invested in the company and why we’re going to be a 1 Billion Dollar business. Exciting!

But it never ends there.

Our team is even more amazing, so we continue to dazzle our poor candidate with some more information: “Three of our engineers are top contributors to [drop-cutting-edge-framework-name-here]! We have also [name], who helped creating [some-cool-monthly-meetup-group], and…”

The result: we say way too much, sometimes spending 30 minutes sharing information the candidate will never remember, yet we feel as if we missed out selling even more.

It’s not about us

“The interview is about the candidate, not about my team, my company or myself.” — It took me a lot of time to fully act upon this understanding.

I want them to get excited, but I know that many of them don’t have the attention span to process everything. They are nervous and tired, and I totally get it – interviewing is hard. Remember the time you were looking for a job? how many companies have you met? how many times you heard their pitch and completely forgot about it 5 minutes after the interview?

Focus on getting to know your interviewee.

Inspire them in “offline mode”

When I interview candidates today, I invest no more than 2-3 minutes in selling the company & team. In order to be effective, I’ve created a short “pitch” I memorized, so I could use it during phone-screening or in-person interview, without being afraid to forget something crucial.

Then, there is a little email marketing trick I’m using – I’ve got an email template ready, with awesome stories about the company & team:

  • A short paragraph about the company.
  • The best 2-3 articles about the company – can include a blog coverage, fund-raising or anything else that shows your unique strength.
  • A sentence about the hiring process – how many technical interviews, how many HR interviews, how long does it usually take to complete the process.
    • “While we are capable of moving very quickly during the hiring process, it usually includes 3 technical interviews in addition to some more of a “get to know you” and “culture fit” with our [HR/CEO]. If we believe there is a great fit on both sides, the entire process can be done in less than a week.”
  • List of the personal blogs of your teammates. Just make sure they are okay with sharing it.
  • If some of your teammates contribute to Open Source projects or regularly provide answers at StackOverflow and Quora, write it down:
    • “We believe in giving back, so here are a few open source projects we contribute to: [ … ].”
    • If you decide to choose StackOverflow or Quora, simply pick the best 2-3 answers and share those.
  • Hackathon projects are a great way to show your culture, so include a video to those as well, if you have any.
    • For example, in our latest hackathon at Commerce Sciences, we’ve built a Nerf Gun with a web interface, named “Hit The Geek” (Video)
  • If you have someone who is about to give a lecture, add “P.S. We have our own [employee name] giving a talk at [conference name + date]. You should come!”

An effective phone-screening process:

Having your email template ready, you can easily use it to save time while interviewing over the phone:

  • Introduce myself and do a 2-3 minute sell. At this stage, I’ve got my “short sell pitch” ready and memorized.
  • Explain that I’m going to send her some material on us – “Well, I could blabber for hours about us, but I don’t want to take too much of your time. I see that the email I’ve got is [some-email], is that correct? If you don’t mind, I’m going to send you an email right now with some information about the company and the team. It will include some of team’s blogs and contribution to various projects. This way, you can read more about us, and get to know us better, by looking at the things we do, in your own free time.”

That’s it. All the rest of the conversation can focus on the candidate – like it should.

The right balance at the right time

Using this email format has helped me focus on listening instead of talking. I leave it to the candidate to decide how much time to invest in reading the email. I try to make it as interesting as possible, so it would be obvious how strong the company and the team are. Also, you will win some bonus points as your candidates could see your passion and strength.

A good friend of mine shared her point of view to the impact of receiving this email, from the candidate’s standpoint:

I was on the other side of these phone calls for quite a few times, but I remember very little “selling pitches”. There were some, probably, many maybe, but they just flew by me. Maybe because I was a beginner. Having a pretty good interview run back then, and practically having the privilege of choice, I think something like a selling-pitch email would have made a world of difference in my case.

In the tough recruiting arena, it’s worth thinking outside of the box. You’re fighting to get these candidates, have you done everything you can to make them realize you’re something completely different and better?


P.S. did you check my latest side-projects? sign up to get some awesome tips for free!
1. SoftwareLeadWeekly — a free weekly email, for busy people who care about people, culture and leadership.
2. Leading Snowflakes — The Engineering Manager Handbook: practical tools and techniques for programmers who want to lead


How to measure a skilled developer

Thank God, some may say, that bananas are still way too expensive to replace human developers with apes; Well, at least by Uri Kalish in his Why Software Engineers Should Care About the Price of Bananas. Let’s face it, we have too many “chumps” out there, lurking to make a few extra bucks by faking it really well. But every once in a while, the sun is shining in glorious colors and you meet a really talented developer whom you think will be a great addition to your team. You ask her logical questions, she shoot right back with pearly answers; You ask her to design something and bang, she nails it; You ask her to juggle with code a bit and it is all sweet. She has analytic mind and just enough experience. Total Package.

This leaves you with the one thing, the only thing, that really matters – how can you tell whether or not she will use her analytic mind to solve your team’s problems instead of introducing more complicated ones while trying?

I came to the conclusion that the only way to know how skilled a developer is, is by letting her solve a very simple problem and shoot more problems to the air while she solves it. Skilled developers will be able to break things into smaller chunks and solve them in a SIMPLE manner. When I say simple, I mean it, it will be so simple taht even a chump will be able to read it. Then they will move on to the next problem and solve it in the same SIMPLE way they did before. Then they’ll tell you how to sew the all thing into one wonderful solution. It’s actually pretty straightforward, simple things are easier to combine, but only a few folks out there knows how to “break & build” in a graceful, simple manner.

I look way back to my first days with .Net and OOP and I can honestly say that I did it all wrong(although it looked damn right at the time). If you looked at the code, it was elegant, in its own way, it was “sophisticated”(interfaces, events, a few Design Patterns) but it wasn’t right. It wasn’t SIMPLE. I had too many classes with too many (wrong) responsibilities, some of them contained quite a few God Methods and they were in no way testable. I had a great amount of green words(aka comments) to explain why things “needed” to be complex.

So for the developers among you – read, talk, write, teach and most importantly practice. Continue to improve your skills by breaking tasks into smaller chunks and keep making them green-free. If you spend more lines on documentation, you’re on the wrong direction. Invest time in breaking responsibilities to different classes(class should have a very narrow responsibility) and take the time to think about your API. I’m playing quite a lot lately(Fluent Interfaces, Creating a decent API for client side script registration) with method names and the benefit I see in it is huge. readable API requires almost no documentation at all. Adding testable code to the equation and you’re definitely on the right track.

For those of you out there that interview people – if you think this is it and you finally found someone – let him\her solve a few problems and focus about how simple is it to read the code, to refactor it, to extend it. How much documentation is required to explain the solution to the rest of your team?

What do you look for when interviewing skilled developers?


What makes great Interviews

Let it be no mistakes, I’m not a great interviewer and definitely not an experienced one but I’ve got really strong opinions about the way interviews should go and the questions “style” that should help you screen your candidates. It’s not only “good” .vs. “evil” questions that I want to talk about here. It’s the attitude and the fun of the process. Yes, you read it just right: interviews should be FUN.

Money is an interview’s killer.

Money is ego. ego turns to hostility. hostility lead to bad questions. bad questions screen the wrong people. bad people is bad code. bad code is no fun. no fun is plain boring. boring is death. death is no fun. infinite loop. break;

I went to a few places after leaving my last company. What’s the first thing you get after entering the building? Right! A form to fill! In some of the places, there is a cute line “desired pay: ______” in between the other lines of personal information. So you write something up (you can always leave it blank, but it will be the first question you’ll be asked in those places, so save your breath), fill the rest of the form and returning it. Nice. So far, have I managed to hit 95% of your interviews experiences?

Next step. “Please sir(in Hebrew it sounds a lot WORSE, it’s something like “this way man, hurry”, but with a big smile), meet our HR girl(always a girl, and 99% of the time, she takes your mind out of the job)”. You go in. Talk for a bit and than it arise: “Wow! X money! really?! maybe you slipped a 0 at the end ? no? oh… That is really a lot! are your sure? You do? oh….”. I just hate it. I can’t help to think:”Do you know what is a variable that you speak about money! I can be the next Don Box and you yabbing about money!?!” Yes, it’s bullet number 1 in the “negotiations for dummies” book (I wonder if such a thing exists). So you explain and you argue and if you’re convincing you continue. “Please sir (“faster you killer-budget” in Hebrew, and that smile again), lets meet our Team Leader\CTO”. And what is the first thing that happens there? You know the answer ? Wow? Who told you? Oh…. you’ve been there haven’t you?

“Hey [cute girl’s name], Let me see the form he filled…. hmmm… I see…. “…
And of course, he is thinking inside “what?! that’s is double than what I earn! and I’m the frickin’ best in the industry!… Ok bastard, bring it on, you say you worth it ah? let’s see…”

Kiss your interview goodbye. You can be Brad Abrams or Juval Lowy. It doesn’t really matter. You are at war and sadly you can’t win this one. You are either stupid to get what you want and arrogant to even request it or too arrogant for saying the right answers all the time.

One of the reason, among 1000 more reasons, that I’ve chosen Mercury as my new home was for that reason. We didn’t talk about $$$ until the far end (after 2.5 technical interviews, 1 management interview and 1 HR interview). They were really interested in ME, not it the paycheck I request.

A very good comment will be “But what if we can’t pay him that much? Isn’t it a waste of time to go so far and at the end say to him that he requests more than we can offer”. I’m with you guys. Every company has their budget. Limits should be set, no matter(?) how good this person is. But at least don’t let the interviewer see anything related to money! It shouldn’t bother him! And I’ve seen this pattern in so many places. What a shame. It happened to me in two places and I immediately “turned off” at the beginning. I knew that I’m not going to be a part of such a place and did my best to show the “better than you and still earn less” that tried to play it rough that I can raise to his challenge. After all, I want to have fun in interviews, no matter how bad it goes. My tip for you is: Let it be known, good places do exists, and good guys have a room there, just be patient and have the confidence in your abilities. Don’t be afraid of bad interviews, it’s good experience and it can be fun. Play your best game.

State of mind.

This is tricky, read the next paragraph and than think about it with your eyes closed.

Imagine that you are at work now, and doing the stuff you like so much. Think about the things you made that make you happy and proud, about the people you met that made you a better person and a better worker. Consider how in one hour you managed to write 10 hours work. Think about the happy customers you made. Smile. Now open your eyes.

What comes through your mind? What made this all possible? I don’t know about you, but my feelings were:

1. The people. What a bunch of great people. I love them all. They enrich me and make my time better. This is my 2nd home.
2. The challenge. So many great things to think about during the day, so many challenges to figure out, so many small wins in a long but glorious battle. so many loses, but so many insights.
3. Pride.
My code means something, I 100% believe in it. I’m proud of my code and I’m working hard to worth the respect from my friends at work.

this is just from the top of my mind, no re-write here. this is the set of mind you need to set for your interviewee in order to achieve “good interview” experience. You’re questions must let him understand that he could be a part of a great bunch of people, that challenges will be there for him and so is help and friendship. You should let him know that HIS thoughts and HIS answers and questions are important in this interview. You should let him know that pride is there for reach. We all love a good word here and there. You should let him understand that this can be his new home.

Remember the feeling you had after you open your eyes. That should be the interviewee’s feeling at the beginning of the interview and during it. I explicitly mentioned the word “beginning” as people are nervous at the beginning, so it’s extremely important that you’ll start slow and let the interviewee know that you want to get to know HIM, no matter how bad\good he\she* answers your questions.

Good .vs. Bad questions.

These are a few questions that only the “best” (my best) companies asked me and I feel that it’s important to share them with you. Good questions are question with space. think about driving to your work at morning. You wake up and listen to the radio: “Road 5 is jammed between this and that”. “Oh… So I would probably drive in road number 2 and cut to road number 4… It’s longer(length) but faster”. Roads give you space to decide. Usually. Good questions are the same. The (interviewee’s)answer is irrelevant (you can always ask someone how to get to ThatIsTheOne st. if you nearby) as long as his mind is set for the right questions and answers. If he is not in the right path, help him out a bit(to an extent of course). For the interviewers among you, please, If there is one thing I would like you to take from this post is this: You are interviewing someone else, not yourself. That is why good questions allow the interviewee the space to let the interviewer konw what he thinks, may it be a complete joke. If it will be supplied with good reasons, than damn – I want this guy on my team. He is creative! I would not think about this option by myself.

Good personal questions I love to hear to start with:

“Tell me about an API of some class you wrote. What was the purpose? Is it(the class) good? how do you know? Would you change it now if you could, if so – why? Are you proud of that class? Tell me why.”

“Do you read books\articles in the subject(any subject that you think is fit)? if so, tell me about a thing or to you picked up and how did it affect your work? tell me about something you found in one resource that you couldn’t find in any other place. Why do you think it’s only there? Do you write things yourself? Why? Do you enjoy it?”

“Do you love doing what you’re doing? Tell me about it, why do you love it so much? do you take things “to bed”? do you love to think about work after work hours? do you think that this is a good thing?”

“Did you made a change in the last place you worked at? If so – tell me how. Are you proud of that change? Do you like to change places you work at? Did you get recognition about it? If so – did you enjoy it?”

“Why do you think you are good at what you’re doing? Please give me examples of what makes you more special than the “next guy”. What are you really good at? Do you think that it’s possible for you to get better at it? Can you teach others? do you enjoy it?”

This should let you a good look at the inside of the interviewee, about his true nature, his true character. There is no fear here. No mistakes. Every answer is OK. This is simply how he\she is wired. I would always start with these questions as they will set the right mood. After talking about his personality and a little digging through his code, we can decide that the personality is not suited for the team and tell him goodbye or we can go a little deeper into the technical stuff.

Technical questions style I love to hear:

I love thinking questions (surprise surprise). Show a given algorithm and let the interviewee tell you what he believe that this code does. Talk about general syntax and basic patterns and see if he follows. Don’t let him know if he is correct or not at the beginning, no fun in that.

Try to focus on algorithms instead of hardcore-“who cares?!” questions. Remember, it’s all about space. If there is no place for multiple choices and multiple answers, you are doing it wrong. Always try to give hard questions in between, something nice that will show the interviewee that we are having fun, but we also mean business. Try to challenge and guide him for the solution. Always, always, let him get to the solution by himself, help him only with clues until he figure it out.

To recap, I am a big fan of Logic\Tree\Recursive solutions\Object Oriented\Design Patterns questions rather than “what this line of code will do: int i=10; i = i++*++i;”. There are variety of questions out there, pick the ones you like the most and have a nice list of them so you can change the questions from time to time.

People make the company. Your interview should leave you with the best people and those (best)people should want to work for you after that interview. Invest time teaching your employees how to make interviews for others(if they need to have that skill). Hiring is the company’s core, no less.

* I’m sorry if I wrote he instead of he\she somewhere in this post. We are all son of God(are we?).