Maintaining Your Agenda in the Long-Term
1 June, 2021
In tech, we do a lot of resource shuffling. At one time, we had decided that twenty percent of all developmental effort would be devoted to managing tech debts, while at other times, we decided that it would be best to tackle issues on a project-by-project basis.
At one point, we stopped and tried to regroup: we had one system, and everybody on our team was a full-stack developer. We started to make it an objective to make our way of doing things more efficiently; when we have the hood up in one area, what else can be done actively in that same area while the work is still being done? Days or weeks may be added to the timeline of the original feature, but another, related problem would be taken care of and would not cause any trouble in the foreseeable future.
We maintain a running list of tech debts, prioritizing each in terms of risk to the company, risk to the developers, and other risks. We then assign each a level of urgency; if one posed a risk to the company that was critical, we address those issues first, and so on. After that, the rest would be triaged according to what can get done.
Part of this meant keeping a close eye on this list. We started to go over it every other week. It had everything on it: security concerns, all of these different things that would come up and change eventually, whether you would like them to or not. This ties into the theme of how best to manage a larger project over time, anticipating future needs and doing what you can in the present to solve them.
We have internal criteria determined by the potential benefit that doing something may have, to the customer or otherwise. We worked to solve problems that may not be apparent yet and made an effort to work on these longer-term projects instead of small, readily visible ones only.
- You need to always be triaging. Prioritizing will help you make calls in terms of allocating labor and when the right time to bring new people onboard comes. The worst thing to do is to get lazy in regard to this task. You will fall behind and be unable to deliver when you need to. As a manager, it’s your job to make sure that all of these things are ready when they need to be.
- Believing in your company means doing your paperwork and continuing to push and to visualize and to secure buy-in.
- Thinking long-term means putting yourself in a position to succeed in the future. Can we make our work faster or our systems cheaper to maintain? Can we make it easier to hire people down the line?
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
Rafal Leszczynski, Engineering Manager at Auth0, relied on the help of an assigned expert from the security team to provide context to them as developments emerged and problems arose.
Engineering Manager at Auth0
Shruti Venkatesh, Engineering Manager at Capsule, talks about what goes on an EM’s head when faced with technical debt and tight product deadlines.
Engineering Manager at Capsule
Heiko Reintsch, Head of Product at GetYourGuide, uses his company’s career ladder to model the behavior of the ideal candidate for promotion.
Head of Product at GetYourGuide
Heiko Reintsch, Head of Product at GetYourGuide, bears witness to the unifying power that a comprehensive, company-wide vision has over a large team of individual contributors.
Head of Product at GetYourGuide
Rohan Kulkarni, Engineering Manager at Expedia, shares his first significant triumph implementing a new system of cross-functional cooperation across an entire organization, testing, learning, and improving over the course of three quarters.
Sr Engineering Manager at Expedia
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.