DEV Community

Will Barrett
Will Barrett

Posted on • Originally published at barrettventures.co

Engineering Team Red Flags and What They Mean

We’ve all seen stressed-out and poorly performing Engineering organizations. Over my years in technology, I’ve seen the same red flags pop up repeatedly, with predictable results. I’m sharing the top 9 signs I look for, along with what they usually indicate, in the hope that others who see the same signs will better understand them and see the next steps to resolve them.

  1. Fear In the highly unstable world of technology, fear is far too common. Engineering teams are sometimes prized assets of an organization and sometimes expensive cost centers. At most organizations, they are both, depending on who you talk to. But fear is corrosive.

It impedes trust and hinders productivity. It pulls attention away from the work and creates conditions for negative politics to thrive. Signs of fear appear in faces and body language. They show up in defensiveness and insecurity. They manifest in politics. They mean that staff don’t feel secure in their roles.

Usually, they are afraid of threats to their livelihood, standing within the organization, or the loss of opportunities. Calming these fears with honesty, transparency, and fair dealing is one of management’s key responsibilities.

  1. Constant Firefighting When everything is constantly going wrong or leading to reactive action, it is always a symptom of systemic problems. It could be poor tooling, rushed releases, or a culture that rewards heroics over one that supports consistent progress.

This type of environment will burn out staff, lead to turnover, and hinder the consistent delivery of value to users. In this type of environment, enforcing 5 Whys meetings, slowing the feature release cadence, and holding staff accountable for implementing the systemic change required are the only ways out.

Often, the business side of the organization will have a hard time accepting this because they are already frustrated with the current state and want immediate progress, not slower delivery.

  1. Uneven Stress and Ownership When a small number of people hold all the responsibility or are on the critical path to accomplish anything, it creates unhealthy dynamics on the team. Some team members may be coasting while others grind towards burnout, or knowledge and power may be hoarded by a few to whatever ends.

Either way, allowing the pattern to continue will result in team churn and lower velocity. Managers need to take action to even things out and restore balance to the team. Groups are most successful when everyone pulls their weight and is allowed to optimally contribute.

  1. Roadmaps That Are Mismatched with Reality Most commonly, I see roadmaps that would require a miracle to complete within the allotted time. Usually, the executive team is pushing for everything right now, and the staff handling implementation feels they have no leg to stand on to push back. The results are predictable: burnout, blown deadlines, and low-quality work.

Giving developers agency to provide roadmap feedback and to build in buffer time for polishing software before release are non-negotiable. Forcing leaders to stack-rank their priorities is a harder pill for executives to follow but swallow, but it’s the only surefire fix I’ve seen.

When there is only one top priority, everyone can focus on delivering it and give it a strong chance for success. When there are five or more, most staff can’t even consistently remember what they are. We humans, are limited creatures, and our working memory is painfully finite.

  1. Lax Security Passwords on Post-its. Everyone has root access. The password management system is a Google Sheet. Lots of accounts are shared. Whatever the signs, lax security means that staff don’t take user trust seriously.

These organizations may be too self-absorbed, more worried about how they will get rich than about how they impact the lives of their users. The solution is to refocus on the users—be grateful for them, and treat their trust with care.

A CISO and training are the most common solutions, but in reality, all but the most inexperienced team members already know what should be done and only require reminding of their responsibilities. Once that’s done, all that’s usually left is answering disagreements over the level of care/paranoia to exercise. A few well-worded policies will do the trick.

  1. No One Knows “Why.” The people doing the work don’t have a clear sense of the reasoning behind the work they’re doing, or don’t see it as valuable. This is a clear sign of weak leadership or poor decision-making by those leaders. In this situation, staff may appeal to authority to justify their actions, citing leadership opinions rather than data or insights from users.

The solution to this problem is two-fold. First, develop a clear “why” and share it. The “why” should center on the user, ideally incorporate data, and be clearly understood in terms of the value generated. Second, share the “why” consistently and broadly with the team, repeating yourself until little confusion remains and you hear others repeating the why without prompting.

  1. Sloppy Engineering Empty or outdated READMEs, poor test descriptions (or no automated tests at all), manual build and deployment processes, out-of-date packages or containers, flaky tests, poor development processes—really, the list on this one gets long, but we’re not looking for just one sign. We’re looking for a cluster of poor practices that add up to the team being sloppy or delivering shoddy work.

There are several causes for this. Inexperience, disengagement, or constant time pressure are the usual culprits. Inexperience is fixed with education. Constant time pressure is fixed by building the business case for improving technical systems and quality. Disengagement is the hardest nut to crack. It requires identifying and removing demotivators while also creating the right conditions for motivation, which vary from person to person.

After that’s done, scheduling in cleanup time and paying down the debt will be required.

  1. Process Paralysis
    Every change takes many sign-offs and approvals, which are hard to get or frequently delayed. Complying with process requirements consumes a large share of developer time. Even small, clear wins are drowned out by red tape. Every small error adds to the process load, stacking on the teetering mass of paperwork. We have to ask — why is the organization so risk-averse? Once we understand the motivations, we can pull out the scissors and start removing process checks and approval levels until we reach something close to industry standards or the minimum required by the company’s compliance framework.

  2. Resignation
    Either a team that is turning over for better jobs, or even more commonly, a team that has given up on trying to change things. You might see half-hearted retros where no one tries to push for changes, or the same items come up week after week with no follow-up or resolution. Staff may be gaming metrics or checking boxes rather than showing up with a drive to win. Engineers may be keeping their heads down rather than standing up for what they believe. When staff see a systemic failure to change and improve, they will stop pushing for it and eventually give up, looking for greener pastures. This red flag indicates deep problems in how the team is run that need to be addressed. It’s the most general of all the signs and indicates that whatever is wrong has been wrong for a long time.

Conclusion
Looking for and resolving red flags is a key responsibility of Engineering leaders. Building and maintaining a successful Engineering organization depends on creating an environment where people want to engage in their best work. Tending to the garden by proactively monitoring for challenges and providing swift resolution creates trust on all sides and gives both the business and staff members more of what they need. While some believe that the industry as a whole falls into the same traps, I have seen organizations that exhibit few or none of these flags. Building productive and effective Engineering organizations is worth the effort and is more possible than many believe.

Top comments (0)