Hope you like Jira, confluence, and neverending meetings.
Experienced Devs
A community for discussion amongst professional software developers.
Posts should be relevant to those well into their careers.
For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:
- Logo base by Delapouite under CC BY 3.0 with modifications to add a gradient
Haha yeah, I really avoid "stepping" up career wise, I rather like to code (and guide the "managers" (and other team members) in technical "questions").
The first and third items are not a big deal for me tbh. Confluence, on the other hand, is pain. Useless, expensive, buggy pain.
Tech Lead means different things at different companies. You say you have direct reports, do you mean you do their performance evaluations or not? If so then I'd call that a manager. To me that's where the difference is. If you handle any of the "HR" parts of the process (for lack of a better term) then that's a manager.
I ask what you mean because the advice differs.
For example, I was a tech lead but not a manager. It was sort of funny, sometimes my team would ask me if it was okay if they took off or left early and I'd explain to them that "I'm not your boss" lol. Basically I'd tell them I have no problems with it but I'm not really the person who can grant that or whatever. The sort of role a tech lead has (at least in the context I was in) was maybe something like a team captain. If folks didn't have specific tasks in the sprint they wanted to work on I'd assign it to them. Most folks never really had a preference but I never wanted to seem like I was being bossy.
Yeah, I'm approving PTO and doing performance reviews. I was told that 30-40% of my time will be spent on coding, the lesser the better if I can unlock my team.
You need to understand very soon that you can no longer have projects assigned to you. Everything your management asks you to do is actually something that they want you to ensure gets finished- you are not supposed to do it yourself. Delegate, follow up, and guide someone else to do it.
The moment you take a project on by yourself, you’ve become a huge bottleneck for your entire team’s productivity. Your team needs your guidance and help, and you can’t offer that if you’re designing, coding, and debugging a project on your own.
98% of coding for you should be paired programming from here on out, where you are not the developer at the keyboard. You are providing suggestions and guidance so that experience can transfer to your junior team members.
Edit: You are not just a “tech lead,” you are a manager if you have direct reports.
Also start improving your “management” skills. Someone recently linked me this list, there are some great resources for senior devs/tech leads on there as well: https://github.com/kuchin/awesome-cto
For me tech leadership is mostly about making the team run as efficiently as possible. Code reviews, pair programming, 1 on 1s, facilitating design discussions, etc
I also talk more with architects, product management etc and prepare the work for the team on a feature level. This also gives me opportunity to delegate part of the work so others can grow too.
Join us at !engineering_managers@programming.dev
The community is still small but you can ask questions and there are some good resources there already.
Joined. Thanks!
StaffEng is a great resource for "how the fuck do I staff engineer", including tech lead:
get the lay of the land first, talk to others in your role at your org, there are in-house politics to contend with and you need to learn when and where to standup for/aginst things like your teams personal time or a unreasonable deadline.
Now lead the techs?
I enjoyed the book "Managing Humans: Biting and Humorous Tales of a Software Engineering Manager"
Welcome to hell.
Middle Management type of jobs are demanding and frustrating. You have to keep your superiors happy, and also keep a close relationship with your team members. It's not an easy role to keep everything balanced.
If you manage to slowly work your way up in the corporate ladder, things might become better.
That really depends on the culture of the company and your mindset. If you think it is going to be hell it is going to feel like hell.
You work more with people and less with computers, but ultimately you are still working on solving problems. Instead of inside code on a computer it is inside a team within a larger organization.
That might be the case, I only have experience in big companies, where you were an insignificant cog in a mechanism nobody understands.
Schedule monthly 1 on 1s, set individual goals to help them when review time comes.
Your new job is to regularly listen to your direct reports and help them succeed. You will do less of your own work. Don't work more to offset. Consider taking notes or making to-do lists to keep track of your tasks.
Good luck, congrats!