Engineering teams can often find themselves at a crossroads, where there’s a need for innovation, but no time, or even motivation, for it. While the reasons for this may vary, the reality is that not being able to experiment, take risks, or develop new products leads to more frequent turnover on teams.
Many engineering team leads may not realize that the way to address the struggle with talent retention is through what they avoid most -- failure. More specifically, giving teams necessary tools and infrastructure so they have the opportunity to try new things, learn from failures, and try again.
At my organization, we’ve spent years failing fast and succeeding through it all, allowing us to cultivate our engineering team, build our own award-winning systems in-house, and create a culture people genuinely enjoy. We have the talent retention to prove it -- we had a retention rate of roughly 97% in 2020, and over 85% since starting in 2014. Here are three things that we’ve learned:
1. Invest in building systems in-house
Great products are often hampered by poor system design -- if a platform is difficult to maintain, build on or even just navigate on the backend, it’s incredibly frustrating to write software. Great product must be matched by thoughtful system design.
Having a home-grown, product-driven engineering team helps solve for this and pays dividends when you bring in new teammates and grow your systems. By bringing in one team to build the initial platform and keeping that team to iterate on the initial build, organizations can drive ownership and pride within an engineering team. Plus, this team will have all the institutional and product knowledge needed to more easily write features or squash bugs, because they understand the business and codebase. Invest in this initial group, and the team you have now, and you’ll see camaraderie and excitement grow.
2. Allow for failure
Developers are problem solvers at heart and want to constantly improve the systems they build. This often involves creating an appetite for controlled failure -- taking a hypothesis about a feature and running an experiment to test how it works for users. Sometimes, it’ll work beautifully; other times, it will miserably fail. If you don’t give your team room to explore new ideas or experiment with features, then your product will stagnate. Allowing for controlled failure creates a significantly more innovative product engineering organization.
The key here is not to over-invest in any one idea, but to let the team try out their ideas based on user feedback. Using implicit feedback through user engagement tools helps teams make smarter, data-driven decisions. It’s also important to get explicit user feedback by listening to what users tell you. Ultimately, this allows you to have a hypothesis about a feature, test it with your users, and quickly iterate upon either success or failure.
3. Make time to eliminate technical debt
If your team is building systems in-house and experimenting with new features, you’ll find that eliminating technical debt is now easier than ever before. Having strong product engineering means you understand what the user wants and needs, so when a developer goes in to change something based on user feedback, they can also eliminate the technical debt. It’s important to give developers that extra time to do this and encourage “paying down” technical debt as part of product updates. This will save an incredible amount of time long-term and give the team the ability to focus on the feature development work that they actually enjoy, instead of spending hours grappling with the compounding debt in their systems. Too often, organizations only make “interest” payments on their technical debt, but what they need to do is strategically pay down principal and interest in a way that serves the product and the developers.
Ultimately, when it comes to talent retention for developers and engineers, the solutions are interconnected. As engineers, we understand the desire to build systems that drive value and create a foundation to rapidly grow. That’s why we make sure our team has the opportunities to build and iterate, and in doing so, we’ve been able to eliminate a lot of the problems others face with managing difficult systems and retaining talent. We know these changes may be difficult to implement, but the pay-off will be worth it for your team, your users, and your business.
A seasoned engineer and software entrepreneur, Arjun Sirrah serves as Executive Vice President of Engineering at Laurel Road, with responsibility for Product & Engineering across all Laurel Road products. He has served in this role since October 2014. Arjun previously served at Goldman Sachs’ Securities Division, with responsibilities across several asset classes. Subsequently, he founded and sold an analytics software startup. Arjun holds a degree in Finance & Economics from New York University’s Stern School of Business, where he graduated as an Honors Scholar.