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!

The servant leadership philosophy

Servant leadership philosophy Gandhi quote

What is the servant leadership philosophy? In this article, I'll share my experiences with applying what I believe to be the fundamental concepts: empowerment, transparency, collaboration, and adaptation.

I've spent plenty of years in command and control structures and understand the pros and cons of dictatorial management styles. Back in 2001, I accepted a position at McDATA to help lead the acquisition of a small storage software startup in San Jose. After the transaction closing, I spent a considerable amount of time with the product and engineering teams and learned about a software development methodology called XP. The acquired company's processes were vastly different from the waterfall models followed at McDATA. From that point forward, I knew our SDLC had to change and hoped to infuse iterative software development into McDATA.

I didn't realize I was missing some huge pieces of the puzzle since Agile processes are about a cultural transformation; one I was not yet equipped to drive forward.

Fast forward to 2013, a position at Rally Software, and an Agile itch I needed to scratch for some time. I learned why I hadn't been successful at McDATA convincing the stakeholders on the merits of Agile. At Rally, I was in the presence of experts and absorbed as much information and took as many classes as possible. I felt like Neo plugging into the "Matrix" to learn kung fu. While technology and process are critical, I discovered Agile was about people and more importantly, a servant leadership state of mind.

The servant leadership philosophy

I like to define the servant leadership philosophy as a set of behavioral values and characteristics of a company or, how we agree to interact with one another. My experience shows me a single individual can demonstrate servant leadership, but it takes an entire organization to make it genuine. Accountability is also critical since you have to reward the valued behaviors and weed out the ones that don't work.

There's a ton of literature to be found on the formal principles of servant leadership. There are a few essential beliefs for me, empowerment, transparency, collaboration, and adaptation, and I've included thoughts on each. I know there are more attributes of servant leadership, so I don't want to discount the ones not listed. Google "servant leadership" and you'll find a deluge of information on the topic.


Imagine hiring bright people to solve difficult problems and structuring an organization to help them get their jobs done. It requires a clear business vision and strategy as well as knowing which products to build and why. Organizing around this level of clarity enables autonomy which leads to empowerment.

Tell people and teams the "what," provide mentoring and coaching, and let them figure out the "how."


How often do people in an organization share an event that didn't go well? Are they thrown under the bus? And, do they own it and have a supportive environment to help clean it up? Trust, vulnerability, transparency, and accountability are vital traits of servant leadership. Do you and your company embrace these qualities?


I characterize an organization's overall behavior as either management by conflict or collaboration. I always ask myself, how do I want to show up today for work? I choose collaboration as conflict leaves people the options of fight or flight. I can't think of a more stressful situation to be in for 8+ hours each day and expect people to do their best work.

Disagreement is part of the collaboration process although it can't be the primary way an organization operates.


One of my mottos is inspect and adapt, everything, always. Not only does this include project and iteration level of work but individual hard and soft (EQ) skills. I believe improvement is the key to personal and professional success.

It only takes embracing a few essential characteristics of servant leadership get you to a whole new way of leading and working with people. Anyone at any level can adopt these principles since all of us have centers of responsibility and influence. Impact your corner of the world and watch the fruit of your efforts blossom.

Comments, questions, or corrections?? Let me know!

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!