A man shakes hands with a prospective software developer.

How to Assemble a Quality Software Team: A Non-Technical Guide

By Aaron Kleid, Paul Bredenberg • Published March 5, 2024

In the world of software development, creating the perfect team requires more than hiring the brightest minds in the room. It’s about understanding the roles you’re looking to fill, grasping your company’s current reality, and assessing skills that aren’t traditionally listed in a technical job description.

This article shares insights from our recent webinar on assessing technical talent, which you can watch in full here.

Know Thyself: The First Step to Finding the Right Fit

Think of building a software team like entering a marriage. You may have a generic list of qualities you’ve been told make up a “perfect partner," but if you don’t compare that list against what you value and where you are in your life, some serious issues might arise.

Before you start looking to hire software developers or UX designers, it's crucial to reflect on your company's values and its current reality. As an exercise, rank the importance of the following five qualities as they relate to your company:

  • User-centeredness
  • Innovation
  • Simplicity
  • Quality
  • Economy

These are all excellent qualities, and you may want to rank them all evenly, but they carry nuances that make some of them mutually exclusive. The highest quality software, for example, requires time and expertise—something you likely can’t afford on a shoestring budget (economy). Looking for people who are at the top of their field when you have significant financial constraints is like placing a personal ad for a partner who “loves fine wine and dining” when you are barely making your rent.

A graph plotting the 5 qualities mentioned on a graph of expertise vs. time investment.

So reflect on your priorities. Consider what qualities will make a perfect software candidate for you, rather than just a “perfect” candidate.

Building a Team: Less Is More

When it comes to software projects, we’re big on small teams. Software is complex, and sometimes it can seem like there is a need to fill many specialized roles. This suggests that the more heads you have in the game, the better the outcome. But there is a price to be paid for large teams: miscommunication.

Lines of communication multiply exponentially with each person added to a project. Managing those lines of communication and—inevitably—miscommunication, will eat into time, money, and other resources. The larger the team, the harder it is to keep everyone communicating effectively. One of the biggest factors when making staffing decisions is to consider how efficiently and effectively the team will be able to communicate. Successful communication leads to successful product execution.

So build a small, competent software team of cross-functional members, especially if you are a startup founder and need to keep things lean. You don’t need a different person for every specialized role. Instead, invest in finding candidates with skills that cover multiple needs.

But can a small team deliver on time? Given budget and scheduling factors, will having a smaller team hold you back? Likely not. Seasoned engineer and author Fred Brooks notes, “Adding manpower to a late software project makes it later.” Adding software engineers to improve delivery times adds a communication burden that will slow the whole project down. You won’t achieve your goals by simply dialing up manpower.

Large text graphic of the Fred Brooks quote: "Adding manpower to a late software project makes it later."

So rather than focusing on specific roles, focus on experience and expertise. Focus on good decision-making habits, strong communication skills, and effective planning strategies. If you are a large organization or you are at the point of scaling, you can still apply these principles by composing small teams of product-oriented groups, thereby minimizing lines of day-to-day communication.

Assessing Software Developer Skills

Evaluating a software developer's skills goes beyond checking their coding proficiency. It involves understanding their strengths when it comes to planning and communication. Simple questions used during the interview will reveal much about your candidate.

The Value of Strategic Planners

Someone who’s a planner is thoughtful with their time, and they realize that their day-to-day decisions have long-term impacts on their work and the work of others. Seek out planners for your software project via real-world scenario questions during the interview.

A female developer carefully thinks about how to plan out her projects.

A question like the following will help you assess the candidate’s planning skills: “While you’re working on a task, you find a glaring issue that needs to be taken care of. What do you do?”

A mediocre answer from a developer might be, “I would fix it right away.” While this shows proactivity, it lacks in strategic planning. Ignoring the original task in favor of this new one can push crucial tasks down the road. Someone habitually doing this can even derail an entire schedule.

A good answer might be, “I would use the task tracking software at my disposal to make a note of the issue.” Keeping a to-do list of what needs to be addressed at a later time is good housekeeping and demonstrates the ability to plan.

A great answer, however, would be, “I would make a note of the issue and talk to someone on the team about it.” This would show that the candidate is a planner and a good communicator. They’re conscious of project timelines and want to communicate towards the common success of the product.

Here’s another powerful interview question: “You have a tight deadline for a new feature and not enough time to get it done. What do you do?”

A common answer might be, “I would try my best to get it done.” This is well-intentioned, but suggests the candidate prefers to avoid communication. This approach will likely result in a missed deadline.

On the other hand, a good planner will be thinking down the line and will try to negotiate. They’ll want to present realistic solutions in the hopes that the stakeholders will be willing to adjust the scope or timeline of the product.

Understanding someone’s planning skills will help you to see where their priorities lie and how they might operate as a member of your team.

Explain It Like I’m 5

When interviewing technical talent, look for a candidate’s ability to discuss complex topics in simple terms. This ability to communicate is important because a project manager needs to understand what his engineers are working on, even if he’s not deeply knowledgeable about the topic.

Ask the following kind of question: “I’m non-technical, so can you describe X to me in a way that’s easy for me to understand?" (X, of course, being a technical scenario that you propose, not the platform formerly known as Twitter, as no one will ever understand that).

Asking questions like this will reveal not only a candidate's communication abilities, but how well they understand their work. It takes experience and expertise to break down complex concepts into simple language.

Building a Team

Building a strong team involves more than just filling roles; it's about understanding the dynamics and characteristics of potential team members. Here, we'll explore how to discern between “missionaries” and “mercenaries” and explain the distinct roles of UX and UI designers.

Missionaries or Mercenaries?

In HR and staffing, the concept of missionaries and mercenaries is often portrayed as “good” and “bad.” Missionaries—those employees who are passionate about their work, visionary, opinionated, and willing to go to bat for their ideals—are often portrayed as good employees. Perfect candidates, if you will.

Mercenaries, on the other hand, are guns for hire. They can be extremely skilled (because skills often equate to higher pay) and they are happy to show up, keep their heads down, and do the work—any work—you put in front of them. They aren’t there to push an agenda or make the world a better place; they’re just there to do a job and get paid.

Mercenaries are often portrayed as less desirable candidates, the assumption being that their lack of passion translates into a lack of loyalty to the company. But depending on your company’s stage of growth, missionaries could be just as transient.

So how do you know if you need a missionary or a mercenary?

When you’re starting a company, you need missionaries. They excel at helping to define the culture, set the groundwork, and operate with big-picture viewpoints. But eventually, you pass out of that stage and enter a stage of stabilization, iteration, or growth within a very specific vision. At that point, you need executors—mercenaries—because missionaries can begin to get frustrated, feel limited, or grow bored. They may even leave for more exciting prospects. Suddenly, your “perfect candidate” turns out to not be perfect for you.

So what’s the solution? Once again, it’s all about knowing yourself and understanding your company’s reality. Too many mercenaries can cause stagnation, but too many missionaries can cause frustration and actually slow down progress. Ideally, you’ll want to strike the right balance of missionaries and mercenaries on your software team based on where you are right now.

Understanding the Difference Between UX and UI

In your search for your perfect candidate, you may come across an interesting resume phenomenon—the “UI/UX Designer.” But someone who excels equally at both these roles is practically as rare as a unicorn. So what’s the difference between UX and UI?

UX (User eXperience) designers are concerned with the overall user experience. They make sure the product is “edible and delicious,” so to speak. Their strengths lie in grasping the big picture, creating workflows and user flows, and organizing information.

UI (User Interface) designers handle the visual design and interaction of a product. This involves details such as typography, color palettes, structure, and visual hierarchy. They are focused on aesthetics and micro-interactions with the product.

These two roles require strengths in very different areas. The spectrum of five attributes (illustrated below) highlights where each roll falls on the spectrum. Finding someone proficient in all the necessary attributes for both roles is challenging.

:mobile: The qualities and skills of UX Designers is compared to those of UI designers using a 5 point graph.

So assess yourself and what you actually need. Is your software app complex? Are you experiencing a variety of needs from diverse clients? Do you have a lot of data to sort through? If so, you probably need a UX Designer who excels at architecture and communication. But if you’re working on an established app that needs to be on-brand, beautiful, and marketable, you likely need a UI Designer with strong skills in the principles of visual design.

Assessing Software Designer Skills

Assessing UX or UI designer skills involves understanding their thinking style and experience. During the interview, seek to identify the caliber of a UX or UI designer by uncovering the candidate's thought processes. Engage them in storytelling during interviews to reveal their depth of experience and empathy.

What Kind of Thinker Are They?

Now that you know what kind of designer you need, how do you determine what your UX or UI Designer candidate might be best suited for?

One way is to determine the type of thinker they are. Architectural thinkers, for instance, typically create visualizations of systems, workflows, and user flows. You should request to see these. They take pride in their methodologies for constructing solutions and can demonstrate everything in a mapped-out format. Their conversation often focuses more on the process than the solution itself, which is a strong indicator of their potential excellence as a UX Designer.

A top-tier UI Designer is going to have a gorgeous portfolio. Even if you don’t have a designer’s eye, look out for how they use alignment and structure in their designs. Encourage them to articulate the objective of each example with clarity. They should not only discuss their solution but also the outcomes or results it achieved. Understanding the impact of their solution is key; it unveils their commitment to creating value—a clue to whether they are a missionary or a mercenary.

Finding Experience: Tell Me a Story

Some people are great at writing resumes. These resumes have long lists of accomplishments, impressive data points, and beautiful designs. But being an expert at writing a resume doesn’t make the candidate an expert at the job you might be interviewing them for. So how do you gauge experience beyond looking at someone’s age or credentials?

Ask an interview question that elicits a story. A reliable one we use is, “Tell me about that one bug that was a real puzzle to solve. How was it solved and what happened?” Experienced candidates will provide a story rich in details. They’ll relate a high-stakes scenario in which time and money were burning away. Expect them to share not just the technical details, but also their personal experience—how it felt, what was going on around them, a detailed rundown of the problem, and a detailed explanation of the solution. These sorts of tales from the trenches are indicators of experience and expertise.

As an added bonus, look for someone who tells you how others in the situation felt. What was their project manager or one of their users going through in the situation? A person with that kind of empathy will be a great asset to your team.

Mastering the Art of Software Team Assembly

Assembling an exceptional software team requires a delicate balance of technical skills, personal attributes, and shared values. By understanding your company's culture, current reality in the stream of time, and valuing both technical and behavioral attributes, you can build a team that's cohesive, innovative, and aligned with your company's goals.

Remember, the essence of assembling a top-notch team lies not just in the resumes reviewed or the technical skills assessed, but in the stories shared, the visions aligned, and the relationships fostered. By focusing on these aspects, you ensure that the software team you build is not only skilled, but perfectly attuned to your mission.

Screenshot of the speakers from the webinar (minus Paul)

BONUS: Insights From Our Webinar Panelists

Our panelists included top executives and individuals who have spent decades hiring technical staff and building successful teams. Here are a few highlights:

Start With the ABCs: Sergio Veltri

After many decades in IT, entrepreneur Sergio Veltri has witnessed sets of technical skills go from being in hot demand to becoming practically extinct. He emphasizes the enduring importance of what he refers to as the ABCs—Attitude, Behavior, and Culture—looking for qualities such as a commitment to continuous learning, creativity, risk tolerance, and collaboration. Veltri advocates for a shift in perspective regarding essential skills: “We need to rethink what the industry calls core skills. I believe that behavior skills are the real core skills… [Technical] skills are very important, but they come and go. The others not only remain, but continue to grow, adding value not only for [the employee], but also for the company.”

Codify the Soul of Your Company: Mathew Caldwell

Mathew Caldwell is the Founder & Ex-CEO RocketPower, the first VP of HR at Instacart, and former Head of Global Talent Acquisition for Mozilla. Drawing on his experience, Caldwell emphasizes the importance of understanding your company culture as deeply as possible. He stresses the need to hammer out, codify, and document core values, and then to live by those values through every professional decision made, including hiring. Caldwell explains how these will help guide hiring decisions: “Once you get to the point where you have qualified technical people, why you hire Jane over John is because Jane identifies and aligns with the soft skills in your company.”

Setting Your Team Up For Success: Aaron Fry

As the CTO of California’s City of Fullerton, Aaron Fry places a high value on team dynamics. After leading diverse technical teams and overseeing significant digital projects, he has developed a holistic view of team building within a productive environment. This means creating a work environment that fosters respect, meaning, and continuous improvement. Reflecting on team stability, he says, “Even if I have that today, bringing somebody new on the team could potentially disrupt that. Or other changes within the team can be disruptive.” He recommends envisioning your ideal team composition and working towards it over time.

Master of the (Talent) Hunt: Raj Suchak

Technical entrepreneur and TEDx speaker Raj Suchak has so much experience hiring talent under challenging circumstances that he wrote a best selling book about it: Hire for Grit. Suchak advocates for looking beyond traditional markers of technical proficiency to find candidates who have demonstrated resilience, adaptability, and a passion for learning. He has built companies from the ground up by hiring people “that had a certain mindset, that had the ability to be comfortable in uncomfortable situations…that had been through life experiences that had defined their character.” After turning pastry chefs into top salesmen and waiters into technical experts, Suchak’s unconventional approach shows us the value of thinking outside the box in talent development.

View our interviews with these experts and an even deeper dive into hiring technical talent by watching the full webinar.

some alt text

We are custom software experts that solve.

From growth-stage startups to large corporations, our talented team of experts create lasting results for even the toughest business problems by identifying root issues and strategizing practical solutions. We don’t just build—we build the optimal solution.

Learn about us

Keep learning with our occasional insights that won’t flood your inbox.

The Smyth Group logo