Building a Software Engineering Team from Scratch

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?
Ouch!
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 engineering team.
The hallmarks of any high performing team (software or otherwise) include:
  • Communication
  • Vision
  • Trust
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 ground up.
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 that matter.
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 like:
  1. Establishing your funnel and metrics
  2. Finding and attracting the proper candidates into your funnel
  3. Screening and pre-qualification
  4. Initial interview
  5. Follow up interviews
  6. 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
  • Drive
  • Determination
  • Follow-thru
  • Success
  • 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
  • Responsibilities
  • 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.
Data from a research study conducted by Leadership IQ shows that:
  • 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 the field.
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 applicants.
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:
    • S – specific
    • M – measurable
    • A – achievable
    • R – relevant
    • T – time sensitive
    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.
  • 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.

Closing Thoughts

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.

Other Blog Posts

The DevOps Role is Going Away
Dear DevOps, We love you. For years you've helped us set up our production environments, spin up our databases, deploy our code...
Motivating Engineering Teams
Tips and tricks on motivating your engineering teams

Recommended Blog Posts

The DevOps Role is Going Away
Dear DevOps, We love you. For years you've helped us set up our production environments, spin up our databases, deploy our code...
Motivating Engineering Teams
Tips and tricks on motivating your engineering teams