5 Key Challenges for Engineering Managers
The pandemic has forced many teams to either accelerate their digital transformation initiatives or start them sooner than they expected to have to. And that’s mostly a good thing. The PwC US CFO Pulse Survey asked finance leaders which programs they wanted to protect versus cut; programs that were firmly in the “protect” camp were customer experience, cybersecurity and (you guessed it) digital transformation.
But with digital transformation comes new challenges. As a technology provider, I wanted to understand those challenges intimately, in order to build software that better suits the needs of our customers in this new reality. So we conducted a survey to dig a little deeper, and have published the results in our new report: Top Digital Transformation Challenges for Engineering Managers.
1. Maintaining Productivity and Velocity
While cloud native apps have their benefits — mainly that they make it easier and more cost-effective to scale up and scale out easily — they also bring a new set of challenges that may cause frustration in engineering teams. Observability and understandability tools are striving to address these new challenges, so organizations can avoid the headaches of developing their own tools and methods for troubleshooting cloud native applications.
2. Resolving Customer Issues
Half of the respondents to our survey reported that it can take over two weeks on average to resolve customer issues. That is far too long and demonstrates that there are still serious improvements that need to be made at many organizations around being more agile. It’s worth highlighting that companies who embrace shift-left and agile methodologies resolve customer issues much faster (within 24-48 hours).
3. Balancing Speed and Quality
I like to call this the “fly slow or fly blind” dilemma. Today, developers are mostly measured on how fast they deliver new products to market (velocity). But at the same time, we are seeing a sharper focus on the reliability of these services, with the rise of SRE and other IT Ops practices. Unfortunately, the improvement of one can lead to a negative effect on the other. In other words, shipping features faster often means reducing the quality of those features; and on the other hand, investing in practices like chaos engineering and distributed tracing can take away engineering efforts from developing new products. Ideally, DevOps means both worlds work closer together for maximum results.
4. Distributed Workforces
By now, most of us have gotten used to working from home and taking meetings virtually. But it’s undeniable that something is lost when you can’t just pop over to a co-worker’s desk to solve a problem or a pesky bug. When respondents were asked, ‘What is the greatest challenge holding you and your team back?’, they reported that debugging and efficient coding were the biggest challenges. Next was the challenge of knowledge transfer and collaboration. To deal with this, many teams are still using traditional logging and APM tools, which often require tedious processes that take up too much time and resources.
5. Remote Debugging
“Forty-five percent of respondents reported that they or their teams debug 5-10 hours per week, and over 30% debug even more than that.”
As all developers know or have experienced, traditional debuggers simply don’t work as efficiently with cloud native technologies. Many developers continue to use them, whether by preference or due to a lack of proper tooling. According to IDC, “The increase in applications that are developed and deployed on the cloud means that development teams are spending more and more time debugging increasingly complex, dynamic, remotely deployed code.”
By continuing to use traditional debuggers, software engineers find themselves in a situation where they need to push through the pain of inefficient tooling and end up either writing a ton more logs, going without the necessary data needed to debug, or a myriad of other options that are painful and time-consuming. The solution is adopting the proper tool: a modern debugging solution that’s built for cloud native applications. Developers will be able to get the data they need from their code, no matter where it’s run.