Skilled IT workers are challenging to find and keep – and the talent shortage is bound to continue in 2022. But there’s a recipe that’s guaranteed to work, if followed thoughtfully, to build a solid, stable software engineering team and create impactful products.
From startups to large enterprises with engineers across continents, the principles and practices that engineering teams should adopt are more or less the same.
After building and scaling multi-faceted software engineering teams in many industries over two decades, I have found successful engineers and leaders to have particular characteristics. Here I will cover what they are and delve into some further tips to maximize the speed of delivery and keep the momentum going.
The best teams work with a sense of urgency, desire to produce high-quality products at a low cost, and lead with a fierce focus on end-user experience. But tech companies are only as good as their weakest engineers.
This is what business and engineering leaders should bear in mind and strive for:
Any company leader knows that employing an engineering team is one of the biggest costs. According to a Glassdoor survey, the average salary for a software engineer in the US is $89,201 per year. Therefore, with many expenses, an engineering leader must be accountable for matching the company's goals with the ROI from the team. I would recommend they do the following to take responsibility:
Winning is one of the primary motivators for any team. And small and big wins in the workplace are also golden opportunities for recognition, whether it’s a shout-out, new bonus structure, or tiny gesture. And winning alongside powerful praise breeds the next triumph, making winning a habit across any team. But if there’s a losing spree, teams can fall into a downward spiral that crushes motivation.
An engineering leader’s biggest responsibility is to find teams a way to get a winning streak and generate momentum, which is a critical component of ongoing successful delivery. For example, your team benefits from knowing the market they are serving or building a product for. Every engineer must understand the user and the expected outcome of the product for sustained momentum.
Leaders must also remember that not taking a decision can be worse than a bad move.
Barack Obama once said: “Rather than let myself get paralyzed in the quest for a perfect solution, or succumb to the temptation to just go with my gut every time, I created a sound decision-making process.”
Engineering leads must make sure to develop a business case for every initiative, create transparency and visibility, and allow non-technical and business stakeholders to weigh in and inform decisions. Then, no matter the outcome, you’ll have done your best with all the information available to you.
Delivering quickly on initiatives and responding to market demands is a competitive advantage that every company and, as a result, every team must strive for.
An entire new disciple of software engineering emerged in the service of fast, high-quality delivery: DevOps. This is a branch that practically every software engineering team in the world is adopting quickly and heavily investing in.
Speed of delivery is a result of not just DevOps or automation. Rather, it stems from the team’s ability to be aligned around principles that enable speed:
Perfection is the enemy of good: If a decision can be easily reversed, make it quickly. It does not need to be overanalyzed and approved by multiple parties
Ship fast and learn quickly: The best products are built by testing in the real world and learning from the feedback collected
Differentiate between the creative aspects of your team and the mundane tasks. Repetitive work that is human error-prone can be offloaded and automated once you are convinced about the effectiveness of your solution. Automating too early or late can crush the speed of delivery
Less but better: Remember Pareto’s 80/20 rule that proves that 80% of the impact can come from 20% effort. If you identify and complete 20% of your tasks from a list, this will result in an 80% impact on your team or company.
Ultimately, engineering teams must not forget that software engineering creates business impact, so their projects should build an outcome with a commercial end. Capable engineers or engineering leaders are hard to come by during the Great Resignation. But like with anything, effective leadership can be acquired with self-awareness and a desire to excel.