How do you fill empty time as a tech lead?
Posted by heart-give@reddit | ExperiencedDevs | View on Reddit | 98 comments
A typical sprint is:
Meetings meetings meetings
Occasional PR reviews
Occasional RFC / ADR reviews
More meetings
Delegating work
When I’m not doing something I feel guilty, but sometimes I don’t feel like there’s much to do. PMs and designers are off ideating, engineers are off working on their tickets, I’m kind of there as the liaison between those two worlds. Should I be doing deep dives on how to better our code base or infrastructure? Should I be trying to come up with ideas on future projects? I feel like I’m not sure what’s the best use of my time.
frankster@reddit
In my company, tech leads are doing substantial amounts of engineering work as well as meetings, reviews, planning etc.
PandaWonder01@reddit
Yeah, I'm a tech lead and spend most of my time doing engineering. Mentally I feel like the best leads "lead from the front"
Buttleston@reddit
They really should be. You can not effectively lead a team if you don't intimately know how everything works
Onedome@reddit
This.
3_sleepy_owls@reddit
In my experience, the tech lead is just one of the devs. The difference is that the tech lead is the main point of contact of that team. So makes sense you spend time as the liaison between the devs and design but that’s not the entire purpose of your role.
If you have the capacity, then you should have tickets assigned to you each sprint. If you don’t, then whenever capacity allows, you pick up tech debt tickets or spikes/research, and you spend time pair programming with your teammates.
Being the lead means you should be well versed on the code base and the current status. Working on tickets, pair programming, and liaising with other teams helps you do that.
Upstairs-Version-400@reddit
I tend to do engineering work myself if I have “free time”. Or I chat with my colleagues and keep up the good morale, invite somebody for a coffee chat/a little break so they know it’s totally okay to take a break too.
venusdiscgolf@reddit
Curious how you became a tech lead and don't know this answer. I expect tech leads to model good behavior when their plate isn't full. I also expect them to model restraint when it is.
c0ventry@reddit
You have empty time?!?
Politex99@reddit
Empty what?
jgjhjj@reddit
You guys have time?
CheekiBreekiIvDamke@reddit
I have never, since taking Lead, had a moment of free time. Shit I ain't had a week under 50 hours unless I knowingly let shit drop.
morosis1982@reddit
Don't let stuff drop, but use your experience to know when to push back. I spend a lot of my time as a lead to understand and ensure our many stakeholders have their requirements and priorities straight so that I can be sure our sprint is prioritised correctly.
And they all know that if something comes up that pushes in, something will get cut.
That said, within the 40ish hours of actual work time I spend, very little of it is not hectic,simply those times when I get a few hours to spend on actually coding.
hurley_chisholm@reddit
You should consider letting more things drop. It’s hard, for many reasons, but your older self will thank you. I learned this the hard way.
tevs__@reddit
Day I started my manager sat me down and told me that my job was impossible, if I tried to do it all I would burn out, and just do the most critical things every day. My backlog is months of work, but the ship keeps shipping.
Ok_Reaction_4340@reddit
I swear tech lead is the hardest of all the roles. Feels like everyone above me and below me has less work and I delegate and push back on management to the maximum of my abilities.
iPissVelvet@reddit
Yes and it’s often considered “lower” than staff so you’re paid less for more work lol
Tell me about it
Politex99@reddit
My responsibilities are:
At least this is what I did today and still doing. I hate Security Code Warrior.
Ok_Reaction_4340@reddit
Yeah it’s death by a thousand cuts. I have 10 people above me, below me and adjacent to me that all require different things then on top of it I have to find time to actually think deeply about the current issues currently relevant to the project
kiwibonga@reddit
Well yeah, you know, right between the 40 hours of coding and the 40 hours of managing.
daze2turnt@reddit
Unlike OP, I still have to work. Sounds more like a manager to me or something?
siliconsmiley@reddit
I now do my work between 4-6 AM so I can deal with all the chaos for the rest of the day.
another_dudeman@reddit
This 1000% gotdamn
softgripper@reddit
Yeah empty time is where I actually get to start work on the things on my todo list 🤣🤙
iPissVelvet@reddit
Lol this — what free time?
If I get a half hour of nothing super urgent I’m taking a break lol. Eating my lunch x hours later.
likeittight_@reddit
Refactor the code in anticipation of the work you just delegated
mamaBiskothu@reddit
OP clearly works in a over provisioned managed place with relaxed timelines that allow for such work pacing. Dont know if people not in such situations should give advice.
Expert-Reaction-7472@reddit
because everyone loves merge conflicts.
im-ba@reddit
If you know what you're doing then this will never happen. In 4 years I've never caused one as a lead
false_tautology@reddit
I cause merge conflicts with myself sometimes...
Expert-Reaction-7472@reddit
yeah same, people are either delusional/lying or trying way too hard.
likeittight_@reddit
And then you resolve them, as tech leads do, and go on with your day?
false_tautology@reddit
Of course. It takes like 4 minutes.
Expert-Reaction-7472@reddit
you're either lying or doing TBD
Aviator@reddit
If that happens a lot, check your branching strategy.
likeittight_@reddit
🙄
TheGRS@reddit
There was a comment I read a long time ago that really cemented how I lead. As the tech lead you should be directing and taking on the least interesting work that needs to happen. Let those more junior take on the interesting tasks and then let them pair or rubber duck with you. You take on the stuff that gets all the boring work out of the way for them. Sometimes that means writing a script to help with tasks. Or testing code on an environment. Or analyzing dashboards. Its a mindset shift, but the fruits of that labor should be more rewarding.
DeterminedQuokka@reddit
Agreed. I have made so many linting PRs in the last 2 weeks.
I spent a month building custom typing at my last job for all the ai generated libraries. Make the world better for the people doing the fun stuff
ryhaltswhiskey@reddit
yo you need an automated system for that, a linting PR? No, that should not be a thing
DeterminedQuokka@reddit
We have an automated system but I need to make changes to turn on the rules
SawToothKernel@reddit
IMO your sort of tech lead should have side projects/prototypes that they always have in the background.
Ok-Letterhead3405@reddit
Whelp for one, learning time and being able to share new learnings.
Two, planning ahead. If you're not joining meetings with PMs and designers before stuff gets to the rest of the devs, you need to figure out how you can start.
Three, also as a planning ahead thing, writing PoCs.
Four, identifying tech debt and pitching business benefits to PMs so you can get those things prioritized somehow.
Five, work on a tech talk to share something with the other devs.
Six, code reviews, and coaching through them, not just LGTM or directionless critique.
I've always had busy leads, though? Mine was continually complaining for a while that I don't come to him more often and then crying that people interrupt him too much when we did. Bro was stressed and pulled in too many directions and taking it out on me, maybe some others, I'm just more noisy and opinionated, so I guess I get it more than quieter folks.
08148694@reddit
Work in tickets?
Work on other work? (Reduce test flake, improve CI, optimise something, pay down tech debt, etc) there’s always something to improve
You are the tech lead. So lead. Join the squad in the trenches, lead from the front, set an example and show them what good looks like
Chasian@reddit
Yeah an engaged lead imo should always have a list of "nice to do but no time" tasks
ryhaltswhiskey@reddit
Sheeit I'm just a senior dev but I have that list in my head at all times. Mostly because the tech lead is too focused on delivering new features.
ramdog@reddit
I have no less than 10-15 things I want to do and don't have time to do at any given time, and I never get time to do them so I have to delegate them. If they aren't mission critical I can't delegate them because we're resource constrained, such is life.
hurley_chisholm@reddit
Same. My list is also has mission critical things, but such is life in public sector.
SlaminSammons@reddit
I keep everything that we are doing on a white board so I can just have a high level visual of what's going on. I update it from time to time. Half of my board are just "When you have time" tasks as well though.
IsThisWiseEnough@reddit
In my company our lead is tracking who arrives late who leaves early, who is attending meetings who is missing etc. tho is what he does in his free time.
Polite_Jello_377@reddit
Bro you aren’t a tech lead, you’re a manager
Ambitious-Raccoon-68@reddit
Im always busy.
windsostrange@reddit
Time to lean, time to CLEAN
Void-kun@reddit
You should never have empty time.
Our roadmap is fully for the next 2-3 years, there is always work to do.
If you have free time then pick what is next on the roadmap, get it refined, planned, build a POC. Otherwise start extending your roadmap, talk to stakeholders and see what they want you to plan and design for next.
Use some initiative.
obelix_dogmatix@reddit
Movies
sarakg@reddit
Is the code base perfect? There's no tech debt or wish list items? And you're also not drowning in PRs?
And you don't have your own sprint tasks in addition to being a tech lead??
Fidodo@reddit
So you have... No tech debt?
Suspicious_Stable_25@reddit
How is this a serious question?
JustPlainRude@reddit
Pick up a ticket off the backlog
neilk@reddit
If your organization has slack time then it is functioning correctly. You are not supposed to have an infinite number of urgent things to do.
Yes, this is where you are supposed to use your high level skills to make your whole team better. Research new techniques. Look for things that hold your team back and either fix them yourself or figure out if they are worth fixing at all. Whether organizational or technical.
I’ve never actually seen an organization this functional, though
CampfireHeadphase@reddit
Absolutely this. As an effective leader, you can't afford to be constantly busy, as you might miss the big picture. The marginal value of you cramming in yet another ticket is low, compared to the alternatives, such as reflecting on future risks or networking.
ZealousidealWeb4953@reddit
Talk to your boss, check what his success criteria are for your team(s) - that helps you set priorities.
Talk to your people, ask what problems they face, what disturbs them most. If you clean that up, output improves.
Talk to your customers, validate that you are doing the right things.
These things I would do first.
Vi0lentByt3@reddit
So you have a knowledge management repo or team docs? You can always improve those. How is your team not inundated with requests? We have like a year backlog and we have all the ai tools we want and there still isnt enough time for everything
spicycli@reddit
Is touching grass an option ?
DeterminedQuokka@reddit
I don’t understand I have a todo list that’s at least 6 months long. If somehow I ran out of that I would generate a new todo list I suppose but that’s very rare.
At my last job I started pocing some new product directions at one point because product wasn’t making enough requests and I needed to create work for the rest of the team.
Buttleston@reddit
"Occaisonal PR reviews"
What
I have done 171 PR reviews this month
samsounder@reddit
Learn
honestduane@reddit
Mentor my team and help them grow their skills so we can get more work done later, like any good manager trying to ensure that his team has slack engineering capacity so they can maintain themselves and not be overworked while keeping to expectations of the business and most importantly managing that expectation well.
g_almeida@reddit
I usually go for a short walk and pick a topic to think about. It really helps me.
binarycow@reddit
Write some code.
Find code that needs to be written.
Ask if there's anything you can take off of someone else's plate.
wiriux@reddit
Damn tech leads have empty time? Every time I turn to see my tech lead he is constantly in meetings. It’s rare to see him without a headset.
BeginningAd5079@reddit
reminds me of that time in 2016
likeittight_@reddit
Those were good times….
Onedome@reddit
Maybe op’s only role was literally tech lead. Most other companies the title of tech lead also includes you acting as an arch/lead dev/support lead/backup engineering manager or PO. So days pretty much full and overtime is normal especially when you have your own commitments to keep, and working on tech designs.
travelinzac@reddit
What is this empty time you speak of?
DifferentRevenue6391@reddit
you could always start a meeting about having too many meetings. seems productive enough
poop_magoo@reddit
I noticed that writing code is absent from your list. If you're not you're not writing code, then you're not a tech lead, you're a manager.
Expert-Reaction-7472@reddit
rest.
small non-critical code changes to keep a toe in.
crap jobs nobody wants to do (lib upgrades, keeping docs up to date)
looking ahead - either refining tickets or pseudo refining tickets. Deciding who to delegate said psuedo refined tickets to based on their skills and development needs.
pairing with team mates to coach/mentor or just to understand what is going on in their world.
sneaky tech debt work the PM wont prioritise but the devs would love it to be done.
Just be creative.
and slack off more.
AnAge_OldProb@reddit
I’ll put another on the pile optimizing the CI or local dev loop. Seriously those investments pay massive dividends especially with ai and everyone doing significant 3-4 PRs at a time.
amlug_@reddit
We create a task for lib updates for each week and it rotates through the team each week. I like that approach.
RiddleGull@reddit
I thought leads were supposed to come up with stuff to do themselves? Like set technical vision/find shortcomings to be fixed or improvements to be made?
OnRedditAtWorkRN@reddit
You don't contribute to ic work? I'm a tech lead, I guide the engineers, help breakdown tasks, help solve communication gaps, help design the systems... And then I build features, pocs and write docs
thethirdmancane@reddit
Work harder
ReservoirBaws@reddit
My sprints are these tasks but trying to find time to do my actual work
barndawe@reddit
Thanks for the laugh. Think the last time I had anything close to free time was well before I was a tech lead
Tired__Dev@reddit
Documentation
jaymangan@reddit
As tech lead, are you still an engineer? (I've seen it both ways. But I personally favor the idea of Tech Lead being a hat that senior engineers wear from time to time, as opposed to a title that is divorced from coding entirely.)
Assuming you are an engineer, but have been assigned tech lead for a project, then you can absolutely still contibute code. It's just low on your priority list. There are a few balancing points here though. You want to focus on blockers, to minimize the risk of project failure.
Is there a task/ticket coming up that is a pre-req for multiple other tickets? Perhaps those other tickets can be done in parallel by different engineers, but only after this pre-req task is done. That's a good candidate to take on.
Counter-point: Is the blocking ticket a larger one that you may not have enough empty time to stay heads down and deliver on? If so, see if you can break it into smaller tasks, specifically with the goal to isolate the blocking requirement into its own task. (For an example, consider a larger task that includes a DB migration to add a few fields to a table. The rest of the task is the UI/UX and CRUD endpoints for this. If the other tasks blocked on this just need the new data format, then consider how you can pull the DB migration into its own task, even if it has to cut corners temporarily such as allowing null values, etc. Then you can tackle the smaller blocking task, freeing your engineers to not wait on one another.
Sometimes the blockers aren't code, but decisions. Investigation into which vendor to use, which will unblock your ability to do phase 2 task breakdowns, etc. Once those decisions are made, they may even inform some of the phase 1 tasks that otherwise were overly generic due to the unknown future decision. You can take on the research work to make that decision earlier, update tickets, and inform the rest of the eng team.
Other times the blockers are purely inter-team communication. Get ahead of those issues. Work on expectation alignment, etc. Seek out the domain expert that isn't on this project, but would have (or want) a say at some critical future point.
As tech lead, you're responsible for successful delivery. This includes technical and business understanding. So find the largest risks, and address those. Your team will notice. No one wants to be on a failing project.
foldedlikeaasiansir@reddit
Is this a humble brag or something? Legit 0 empty time
Human-Kick-784@reddit
shapez2?
You might laugh but imo its great for practicing software engineering and architecture fundementals
crabsock@reddit
You should definitely be doing deep dives on how to improve your code base and infrastructure, and also coming up with future projects. IMO a good tech lead should basically always have a list of several things they wish they or their team had time to work on. It is definitely a lot harder in some context than others tho. If you feel like everything in your area is good and there are no improvements to propose, then it might make sense to think about taking on additional scope, but TBH I don't think I have ever experienced running out of things to improve.
trele_morele@reddit
Don’t bother. Just enjoy whatever time you have left with the company. If there isn’t enough work to fill up your time, they aren’t gonna keep you around
_hephaestus@reddit
Is your company hiring? I’ve never heard of a tech lead having free time. I certainly haven’t.
BOSS_OF_THE_INTERNET@reddit
Any free time I get is usually dedicated to organizing and upskilling.
Majestic-Watch-2025@reddit
Sometimes figuring out ways to tackle backlog or projects that are coming up.
But also sometimes there is just an ebb and flow to work. Take it easy if there are other busy times.
BigHashDragon@reddit
I have a genuinely unlimited amount of work. Mostly because I don't wait to be told what to do. Improving test harnesses, improving logging, workflow UIs, doing POCs, upgrading frameworks, working with business contacts on side projects they want done, investigating new tech and how we could fold it in, or not etc. honestly being proactive and taking ownership is most of the battle.
Epiphone56@reddit
YMMV, I recently stood in for our team's tech lead for 2 weeks while he was on holiday and found that I had no time 9-5 to do my actual job, I ended up working 2-3 hours out of hours when I wouldn't be constantly pestered with DMs
dips15@reddit
As lead, are you not ultimately responsible for the architecture, code quality, and delivery of the project? Is there nothing to do on those fronts?
midasgoldentouch@reddit
Empty time? What’s that? /s
But seriously OP, even back before I was a tech lead, I knew I was ready to be a senior engineer when I realized I had a running to-do list of things I noticed while working on projects. Do you have a list? You probably should.
drew_eckhardt2@reddit
I create documents covering things other engineers don't like strategy and find projects where I can be hands-on which could be writing product code, building prototypes, or fixing operational issues.
Material_Policy6327@reddit
Wait you get down time?