Showing all posts tagged "Hiring"

Job description smells

Job description smells dog

I love reading Job Descriptions (JD). I know, this sounds a bit strange. Given the rapid changes in the Information Technology sector, it's a way to get a perspective on market trends especially with hiring software engineers and managers.

Along the way, I've come across more than a few questionable, funny, or downright outrageous requirements or qualifications embedded in JDs, mostly the unicorn and purple squirrel ones. To start the week off, I thought I would share with you a few JD smells. For the non-coder audience, a "code smell" is any symptom in the source code of a program that possibly indicates a deeper problem.

Let's have some fun!

"Establish an impeccable engineering culture of technology innovation and excellence, characterized as highly collaborative, execution-focused, customer-centric, and high velocity."

Smell: "Impeccable culture" seems to indicate a command and control management style. And, the only thing that would push this into the buzz word stratosphere is somehow including the word "synergistic" into that statement.

"Comfortable with ambiguity and rapid change: excited about pushing out lots of code quickly and constantly iterating."

Smell: I need a code monkey ASAP!

"Ability to communicate well with business stakeholders, resolve competing or contradictory objectives, and to unify disparate ideas into a homogenized solution."

Smell: Our politics and internal organization resemble a Rube Goldberg machine.

"Implement and encourage successful asynchronous collaboration across the BU's global R&D organization."

Smell: Asynchronous collaboration, how does that work? I have an idea, just use a Promise, and it might eventually take care of itself. More coding humor!

"Experience upgrading, converting and integrating legacy technologies with modern architectures a plus."

Smell: As a software developer, there's a lot of work here you're going to hate doing. Most of it will be working on a monolithic application long forgotten.

"Oversee translation of product direction into plans to deliver high-quality products on time and within budget."

Smell: Our backlogs are half-baked, we miss our deadlines, and we're underfunded as a department. Did I forget to tell you that it's common to get bounced out of bed at 2 am to fix something that broke??

"Foster a thriving culture which marries both quality and delivery, employee engagement and retention in a highly competitive local market."

Smell: Our culture resembles Office Space. No, wait, it is Office Space!

"Can solve even the toughest and most complex of problems; great at gleaning meaning from whatever data is available; is a quick study of the new and different; adds personal wisdom and experience to come to the best conclusion and solution, given the situation; uses multiple problem-solving tools and techniques."

Smell: There's no way you're going to be successful in this role.

What are you hiding?

While most of this is tongue and cheek, there's something valuable each of us can take away. The question is, during the interview process, how open is the organization about sharing their dirty laundry? As the candidate, you're the one that will attempt to meet the expectations and solve all the ills listed (not listed) in the JD.

When HR and hiring managers write a job description, they imagine a future state. They also write from the perspective of knowing the problems and how to fix them.

A note to the hiring manager, elicit creativity from the candidate by sharing the "why" and "what" and let them explain the "how." In the JD, write about your current set of issues and then ask your candidates to share how they would go about solving them?

Wow, I know, scary. How many companies value that type of transparency? After all, the candidate you hire will quickly figure out, did I get sold a bill of goods?

Does your company suffer with retaining employees? Maybe there's a disconnect between the before and after hired states: what they think they're getting vs. what's actually there. Think about it.

What are some of the funniest or questionable statements or claims you've seen in JDs? Please share!

You're doing it wrong! Hiring, that is...

Hiring phrases

Are curious about how to hire exceptional product development people? In today's job market, changing your approach can make all the difference in attracting outstanding talent.

Over the course of my career, I've been on both sides of the hiring table more times than I care to think about. In the past, when hiring for software engineering and product development roles, I've participated in a variety of interviewing practices that make the hairs on the back of my neck stand up. I can only imagine how the candidates might have felt.

You remember the stories some years ago about the off the wall questions companies would ask candidates. Most of this was humorous and designed to get a person thinking about how to solve a problem. Somewhere along the way, the interview process went down a really dark path. It seemed to become . . . if the candidate actually survives the interview, we'll hire them.

There are several schools of thought on hiring practices. Let me offer five simple ways to improve your hiring process based upon many years of recruiting software engineers and product developers.


  1. Sell the candidate

  2. Both hard AND soft skills are important

  3. The most important hard skill is learning

  4. It takes a village to interview a candidate

  5. Let candidates do their best work

Sell the candidate

That's right, somebody has to actually SELL your company and the open position to the candidate. You might think, but I work for Google, Amazon, Uber?? Do yourself a favor and check your company ego identity at the door. Humility is part of the process. Transparency goes a long way in attracting key talent. Talk about your company's vision and mission, the role of your group, key metrics, why you love what you do, and details about the open position. Selling the candidate is important even if you work for Apple and especially if you're a startup.

Building excitement is critical in making a connection with the candidate and will go a long way in the hiring process.

If you don't know how to sell the candidate, no problem. Develop a sales talk track, designate somebody on the interview team as the "salesperson," then practice. Remember, you don't want to end up with the steak knives!

Both hard AND soft skills are important

We all know how important competency is when interviewing a candidate. What many interview teams miss are the "other" skills. You might have heard the term Emotional Intelligence or EQ. I summarize EQ as, how aware are people of their own situations and emotions, those of others around them, and how do they respond in turn? Yes, this suggests a whole lot of individual responsibility for one's actions. You've seen the gifted software engineer with a low EQ. A response to a simple request might be rude, derogatory, or demeaning. Other signs are the rabbit hole syndrome or the lack of good interpersonal skills.

Based on the values of your organization, group, and/or team, identify those EQ behaviors you want to reward. In the past, I've co-created such values as

  • A willingness to forgive and forget

  • Diplomacy - it's still a thing

  • Give real-time feedback

  • Use your own sense of humor

  • Clarity in communication

  • Gracefully handle change

  • Learn to listen

  • Have patience

  • Give respect to get respect

  • Demonstrate caring

  • Collaboration over conflict

If you think software engineers and product developers don't want to talk about the emotional or "soft" topics, think again.

To create an EQ behavior list, use a short, time-boxed working session with stickies. Ask, what values and behaviors do we want to reward in our team, group, department, or company? Have each individual do a readout then group the stickies. Based upon the resulting groups, develop a list of EQ behavior questions to use in your interview process.

The most important hard skill is learning

Now we get to the fun part…the technical assessment. Get out the acronym list, it's time to grill! Think again.

What do you really want from a product developer, software engineer, or any position you hire? Putting EQ aside, you want somebody that is competent for the role and has the aptitude to learn. That's it.

Every industry is undergoing rapid change due to the disruption of the Internet. A few years ago, there were tech and non-tech companies. Today, every business is a tech company. Software is the key differentiator between succeeding, or not, in the local and global marketplace.

These macro changes require us to think differently about the people we hire. One tool I've used quite a bit is Strengthfinders. It's also a great team building tool. Of the 34 key strengths or traits, there is one called the "Learner." Strengthfinders is a quick and easy way to determine if the candidate has this quality. You can even offer to pay the $20 for the Kindle book and online assessment. Even if you don't hire the candidate, they'll walk away with a ton of information about themselves and a bit of good will for your company and brand.

Whatever your assessment tool of choice, use something objective when screening candidates for the "learning" quality.

It takes a village to interview a candidate

If you're like most companies, only a few people interview a candidate for a position. This is true of individual contributor and leadership roles. Remember, most employees interact with much more people in your company than their immediate team. This is your chance to get input from key stakeholders before you make a hiring decision. The feedback could be the difference between a great and not so great hire. With a little planning, it's easy to structure a process that works.

Identify a variety of people throughout your organization to participate in the interview process and have each of them play a "role." I mentioned one of them earlier in the article, "salesperson." Select the hard and soft skills you identify as important for the position. Link a role with a skill or behavior such as "sharpshooter" for the person evaluating a candidate's troubleshooting abilities. And, have some fun and develop your own verbiage for the pairing of roles and skills.

Make sure you recap every interview right after the candidate leaves. Everybody has specific pieces of information about the candidate and it needs to be shared with the entire interview team. Take note on the consensus of red, yellow, and green flags about the candidate. If you get enough of a specific concern, follow up with the candidate and be transparent about what the team experienced. Try to determine if it's a real issue and something that would prevent moving forward with the candidate. Finally, use a thumbs up or down vote and let the team decide whether the candidate moves on to the next step.

If hired, the interview team will probably interact with the candidate the most. Empower the team to help make the decision.

Let the candidate do their best work

Over the years, the technical part of an interview process has manifested the most egregious behavior. It's quite shocking when I hear stories about "the worst interview ever!"

I have a belief that people want to solve hard problems and do their best work every day. How do people do their best work? I believe it's mostly the environment. The challenge as a hiring manager is to emulate your company's working environment and allow the candidate to stretch and fill that space to see if they thrive or not.

Most work environments are highly collaborative, supportive, transparent, responsible, and free of blame. They are not pressure cookers, death marches, or dictatorships.

Here's an example of how I attempted to emulate a work environment for a technical assessment or coding challenge (I prefer coding exercise). I would tell the candidate we wanted them to do their best work. We are in a highly collaborative and supportive environment, and value sustainability in our iterative software development process. We like to keep pressure to a minimum since we know nobody likes to work under stress. Then I would instruct the candidate to review the coding exercise and ask questions, and to also give me a time that they will start to work on it, the amount of time they plan to put into it, and when I could expect to receive a Github link with their completed code. I would go on to tell them that I realize their time is valuable and they probably have enough on their plate already with their current job, personal commitments, and family. And, if you find yourself running short on time, document what you would have done, where, and why.

It's a very different approach and one that has been very successful in finding amazing people. BTW, the coding exercise was completed in the comfort of the candidate's home using their own equipment and tools. This process complements the technical assessment during the onsite interview and, in many cases, opens the door to meaningful conversations.

Hopefully, this article has given you or your organization a few ideas on how to improve your hiring process. I use all of these on a regular basis and they work extremely well. If you have any comments, questions or feedback on the article, let me know!