Maintaining Your Agenda in the Long-Term
1 June, 2021
null at Beanworks
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
Snehal Shaha, Lead Technical Program Manager at Momentive (fka SurveyMonkey), details her short-term technical strategy to unify processes among teams following an acquisition.
Senior EPM/TPM at Apple Inc.
Brad Jayakody outlines the roadmap to maintaining a healthy balance between technical debt and team growth. However, just as balancing acts go it is important to have a strong foundation.
Director of Engineering at Motorway
Kamal Qadri, Senior Manager at FICO, drives the importance of setting expectations when optimizing large-scale requirements.
Head of Software Quality Assurance at FICO
Mike Nuttall, CTO at MyTutor UK, puts emphasis on the importance of creating and reviewing company roadmaps to strategize growth and alignment within an organization.
CTO at MyTutor
Suryakant Mutnal, Engineering Manager at PayPal, discusses the importance of time management and the necessary structures in order to create internal consistency.
Engineering manager at PayPal
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.