Building a Software Engineering Team from Scratch
We live in an age of technology and software giants, some of which have
reached unfathomable levels of wealth and value.
Google, Facebook, Twitter, Microsoft, Apple, etc, what do they all
have in common? Luck? Vision? Drive? Leadership? Sure, any successful company
will have some blend of all those and more. But early on it's about more than
the product and vision, it's about having the right team in place to put your
mission into motion and your vision into reality.
Teamwork, as they say, makes the dream work.
The three keys to the success of any organization include: People,
processes and product. While each of those warrant their own exploration, this
article will cover “people.” Specifically how to build a software engineering
team that kicks ass and takes no prisoners. A team that will help your company
reach new heights, faster and better than your competitors.
The Importance of Building the RIGHT Team
The benefits of hiring the right software engineering team are pretty
evident, but did you know that according to a survey on CareerBuilder
, EVERY SINGLE BAD HIRE you make
can cost your company over $50,000 USD?
Why the high cost?
- Reduced productivity during the time it takes to find a replacement
- Poor performance and deliverables while the “bad hire” is on staff
- Training and onboarding costs associated with the new hire
- Negative impact on the culture or performance of the rest of the team
And that’s just the short-list. When it comes to making a bad hiring
decision, one apple can truly spoil the whole bunch.
Begin with a Mission
When it comes to building a world-class software engineering team, weaving
your mission and core values into your talent acquisition and hiring process is
key to finding the RIGHT people for the RIGHT roles within your organization.
Your Company Mission
Depending on your position in the market, offering the biggest salary and
benefits package might not be in the cards.
Luckily, software engineers are also highly motivated by perks of the
intangible nature. One of these “intangibles” is the core mission, vision,
values and beliefs of your organization.
More than just a company slogan or mantra, these guiding principles can be
a differentiating factor between you and the competition. These principles can
also serve as the foundation for building a core culture within your software
engineering department that is focused, driven, determined and in alignment
with the direction you want to move in.
Focus on melding these principles into your recruiting, hiring, onboarding
and training processes.
Items to consider:
- Clearly defined business objectives
- Differentiating factors
- Why people should care
- The long-term vision
- How departmental goals align and move the long-term vision forward
Values that Establish a World Class Culture
Aristotle said it best, “The whole is greater than the sum of its parts.”
And nothing could be truer than that statement applied to your software
The hallmarks of any high performing team (software or otherwise) include:
Together, these form the culture of your team and act as the glue and
catalyst that drives performance on a daily basis. Behind every success is a
team of engaged and highly motivated individuals responsible for pushing the
envelope, not because they have to, but because they want to.
What’s all this have to do with building the best software engineering team
on the planet? Everything. From talent acquisition to onboarding and training,
aligning your values can help to ensure you build a strong culture from the
Here are a few benefits:
A strong, thriving and unified team culture can:
- Improve the team’s identity. If your department values setting and meeting goals, so will your individual employees. A strong identity can set the tone and direction.
- Retention. Strong cultures attract and retain high-quality talent. When employees feel like they “belong”, they not only produce better work, they’re also more likely to stick around, even thru the tough times.
- Image. Departmental culture adds to your entire brand’s
identity, and translates into how your customers will perceive you and your products/services
Move Aside Marketing…this Funnel is for Us
If you’ve been in business long enough you’ve no doubt heard of the
infamous “marketing funnel” designed to identify, attract, and convert the
ideal “prospect” into a buyer of your goods or services.
When it comes to attracting the “right” people, whether to “sell” them why
they should buy from you, or whether they should take a job with you, the same
principles apply. No sense re-inventing an already well-polished wheel here.
By applying the concept of a marketing funnel to your hiring process you
can systemize and attract ideal candidates to build your software engineering
team in a repeatable and predictable way.
Funnels also have the added benefit of affording you the opportunity to
measure and adjust your strategy based off of real-world data and the metrics
While the specifics of YOUR funnel will vary depending on your unique goals
and organization, here is a brief overview of what a hiring funnel might look
- Establishing your funnel and metrics
- Finding and attracting the proper candidates into your funnel
- Screening and pre-qualification
- Initial interview
- Follow up interviews
- Closing the talent
Pay Attention to “Credibility Markers” of Candidates
When hiring, nothing will help you find and hire the right software
engineers better than “credibility markers.”
Credibility markers are those real-world indicators of:
- Personal brand
- Personal ethics
- And more
But how on earth can we gauge all that? Ask any hiring manager and they
will tell you that hiring is both an art and a science…we’ll need to use some
of both here.
A few indicators to help you get started include:
- Past employment. Look for credible companies you can validate.
- References. Who are they? What positions do they hold?
- Portfolios and code bases
- Public repositories (GitHub etc)
- Contributions to open source or other communities
- LinkedIn research
- Published works or writing by candidates
- Endorsements and more
And if all else fails, you can never go wrong with direct referrals from
professionals whose opinions you trust.
Diversity is the Spice of Life
Hiring software engineers too closely aligned with your culture and
philosophy can leave you with a team of smart drones/clones which can stifle
creativity and growth.
While “diversity” is most often thought of as a difference in race, gender
or age, as it relates to the workplace, diversity goes much deeper.
A recent Stanford University Study
revealed that INFORMATIONAL and professional diversity can stir constructive debate around the problem or task at hand, leading to innovative and creative solutions.
With the landscape today’s software engineers work in, complex problems
needing novel solutions is a regular occurrence that “group think” won’t solve.
A team with a variety of viewpoints, professional backgrounds, ideas and
personalities is critical to spurring innovation.
Results Driven Job Descriptions
Seems simple right? It is, and it also is not.
Writing a job description that attracts and “converts” the right prospect
to inquire about the role is akin to writing good marketing or sales copy…but
without the overhyped “sales” part of it.
Writing good sales copy for your website typically translates into more
buyers, subscribers or customers. Likewise, good copy on your job post
typically translates into an increased probability of finding the right
candidates to build your software engineering teams.
Failure on this aspect of the hiring process is more costly than you
think…no pressure, but “bad” copy within your job post can:
- Increase hiring costs
- Lengthen the hiring cycle
- Attract poorly qualified candidates
- Attract candidates that don’t fit well with your culture
- And more…
All of which can lead to thousands of dollars in lost wages and
productivity. If wasting hours interviewing candidates that aren’t a good fit
isn’t on the top of your “to do” list, paying attention to the copy within your
job description should be a priority.
At a minimum, your job post should clearly and effectively communicate:
- The tone and energy of your company
- Your team’s culture and values
- The requirements of the role
- Required experience and qualifications
Ask the Right Questions
Once you’ve narrowed down your applicants to a pool worthy of a first or second round interview, you’ll want to ensure your interview is also optimized to weed out the weak.
For most software engineering departments or companies, prioritizing
technical acumen is at the top of the list. While this seems like a logical
hierarchy of asset evaluation when hiring for a software engineering position,
the data says otherwise.
- 26% of new hires fail due to a problem accepting feedback
- 17% lack the right motivations to contribute to team goals
- 23% fail due to a lack of emotional control and emotional intelligence
- 11% fail because they lack the technical skills
As you can see, while technical skills is important, it is not the
MOST important. Hire attitude and teach-ability before skill if you want to
set your company apart from the competition.
Suggested Interview Questions to Consider:
- What prompted you to leave your previous employer?
- Help me understand your previous team dynamic?
- How would you describe your relationship with your previous teammates?
- How would you describe the relationship you had with previous management?
- Where do you see yourself in the next three to five years?
- Are you applying for other positions or jobs?
- Where does our organization fall on your priority list?
- Why do you want to work with us?
Hunger Games Style Elimination
Don’t get too riled up, no one is fighting to the death here. Point is,
once you’ve accumulated a pool of potential candidates it’s time to narrow down
This can be accomplished by requiring additional “tests” to vet the crème
of the crop and separate the truly skilled from the herd of lackluster
These elimination “tests” work so well because they:
- Require a time investment from the candidate. If they aren’t serious, they are unlikely to invest time into actually “earning” the position, and two;
- These tests help you validate and judge the quality of their thought processes and work output, providing you with insight into how it would be to actually work with them.
Once you’ve completed this step in assembling your software engineering
team you should be left with the best of the best to choose from. But
assembling a world-class team doesn’t stop with the “selection process.” Quite
the opposite actually.
Facilitate and Demand Impact
Team performance is important, but as mentioned, the totality of your
team’s output is the summation of each individual member’s contributions.
As a leader focused on developing high performing engineering teams, part
of your job is to ensure each member has the space, tools and resources needed
to have a “global” impact on the team as a whole.
Here are a few tips:
- Consider smaller teams or units to maximize the impact of the individual on the team’s goals and project. Smaller teams allow for greater interaction amongst members and a tighter knit micro-community that thrives on helping each other reach end goals.
Clearly define goals. We recommend SMART goals. Remember that acronym?
If not here is a brief summary of what SMART goals are:
Specificity of goals keeps teams on a narrowly defined target. Making
sure your goals are measurable means you and your team can tweak activities to
improve on various performance indicators. Ensuring your goals are achievable
sets your team members up for success, not failure (nothing is worse for
productivity and morale than an insurmountable goal). Goals that are relevant
“make sense” to team members, allowing them to envision how their contributions
are relevant to the overall goal. And lastly, goals that are time sensitive
drive urgency in a positive clearly defined way.
- S – specific
- M – measurable
- A – achievable
- R – relevant
- T – time sensitive
Provide the tools and resources necessary to help each member succeed.
This can range from providing new technology to making sure the
workspace is conducive to creativity and high energy.
Attracting, hiring and onboarding a world-class software engineering team might
be one of the most difficult and yet crucial aspects of your organization.
Having the right players in place, on the right projects, can mean the
difference between otherworldly success and absolute failure.