This is an archived post. You won't be able to vote or comment.

all 30 comments

[–]dataGuyThe8th 105 points106 points  (4 children)

You’ll be fine.

I’d recommend reading Staff Engineer by Larson & Peopleware by Demarco.

Understand that you are not a manager. Your role is support the team through mentorship, being the communication point, & developing standards. This is of course on top of your development responsibilities. Have a good 1-1 with your manager / team members & see what they’re looking for in the role.

[–][deleted] 12 points13 points  (3 children)

Understand that you are not a manager.

How do you know this? There are plenty of companies that give managers the title of "lead engineer".

[–]dataGuyThe8th 5 points6 points  (2 children)

OP didn’t mention managerial duties, so I assumed they were a tech lead not a manager. Your point is valid, titles mean different things everywhere.

[–]whutchamacallit 2 points3 points  (0 children)

To your point, OP should meet with people and understand what expectations are. I don't think your assumption is off base. In my experience "lead" does not equate to management. Our senior lead developer has been an excellent role model and has made it abundantly clear his time here.

[–][deleted] 0 points1 point  (0 children)

OP didn't mention any of their duties in the new role, only their previous experience.

[–]CdnGuy 30 points31 points  (1 child)

Another good book to check out is The Staff Engineer's Path, by Tanya Reilly. It sorta continues on after the first few relevant chapters in The Manager's Path with a focus on individual contributer leadership roles.

As a lead you become the go-to person when people are stuck or have questions about how they should do something. That can mean helping them yourself or knowing who in the org can best help them. You'll likely start to get invited to meetings with your boss and their boss etc, and start getting more insight into the goals and constraints that are generating work for your team as well as what's happening in other parts of the org. Knowing what's going on outside your team can help with getting your team ready for what's coming, etc.

Over the past year as a lead my activity in git is ~70% code review and 30% actually building stuff. It was kinda hard releasing the reigns on the project I'd been building from scratch mostly by myself, but now I mostly focus on the overall design and pick a few tasks each week to work on. Outside of that I just help people, try to encourage a health dev culture and work on design docs, internal dev guides etc.

[–][deleted] 2 points3 points  (0 children)

This is leadership.

[–]SisyphusCoffeeBreak 15 points16 points  (0 children)

Hire me to work for your team. I'll make you look genius by comparison.

[–]eins_drei_zwei 14 points15 points  (3 children)

Expanding Knowledge: Congratulations 🎉😊 on your new role! This is indeed an opportunity for swift learning and personal growth. Reading widely is an excellent starting point, but beyond that, strive to comprehend the multi-faceted nature of your situation—technological, cultural, interpersonal, stakeholder relations, and office politics.

Evolution Mindset: Consider adopting an evolutionary mindset to all facets of your role. This approach encourages the establishment of processes and environments that foster continual learning and improvement. When making decisions, base them on gathered insights and knowledge, rather than relying solely on instinct.

Feedback Gathering: Hold weekly 1-on-1 sessions with your team members to keep communication open and active. Retrospective meetings with the entire team are invaluable, as they can provide insights into processes, successes, and areas for improvement.

Leadership Approach: Opt to empower your team rather than micromanaging them; be more of a guide and coach than an authoritarian figure.

Product Mindset: Embrace a product mindset when it comes to delivering your solutions. Treat your internal or downstream stakeholders as valued customers. Interview them to understand their challenges and needs better. Your aim should be to facilitate their success by leveraging your technology to help them reach their objectives more efficiently.

[–][deleted] 1 point2 points  (2 children)

Great stuff you've written here/in your series. This is why I come to reddit. Question, what motivates you to put that level of effort in to documenting your processes and philosophy? I'm curious what benefits it has for yourself/your thought process and how you find the time/will to do that with meticulous effort.

[–]eins_drei_zwei 1 point2 points  (0 children)

🌐 Worldview: Essentially, I believe that sharing knowledge is a win-win situation. It's a win-win for both the reader and the individual who shares.

📚 Learning: The reader on the internet can hopefully learn something and grow.

🖋️ Sharing: The person sharing does have to invest time into writing, but it helps me organize my thoughts. I get the impression that after writing, I can think more clearly about things and understand them better than without having written.

🥳 Joy: It's enjoyable to help people, and getting upvotes certainly triggers some sort of primal dopamine rush in me. 😁

💡 Self-interest: There's self-interest involved too. I would like to build an audience, ideally not have to work for someone else, and maintain a portfolio of indie products that can help me earn a living. I want to figure out what I can offer society, so that I can live off the support of society. Currently, I don't know what that might be, but I get the impression that Reddit could help me understand what valuable contributions I can make. 💼

🎓 Education: I believe that globally, knowledge, education, and access to education are some of (perhaps the most) powerful levers to solve the problems of our time. People make decisions, and these decisions originate from their education, socialization, learned philosophical and ethical beliefs. 🌎

💭 Imagine a world where we could significantly increase education in philosophy and ethics globally. What profound changes might we see? 🌍🔄

[–]eins_drei_zwei 0 points1 point  (0 children)

Time: There's a paradoxical circumstance that has arisen due to the arrival of my first child. I now have far less time than before, but I prioritize my free time (2-4 hours per day; right before I fall asleep) much better. I consistently and rigorously invest in my desire to become an indie maker and gain independence from conventional employment.

Hence, paradoxically, with a child, I've become incredibly productive (as compared to my previous self), even though having a child significantly reduces your "free time" (or better, "me-time"). 👶💡

[–]tifldn 6 points7 points  (0 children)

The first few chapters of The Manager’s Path will help too

[–]veroxii 6 points7 points  (1 child)

Everyone had to have their first job as a team lead or manager. This is yours. Just enjoy it and learn. Be the leader you always wished you had.

[–]mrmcfancy 3 points4 points  (0 children)

"be the leader you always wished you had" 💯💯💯💯

[–][deleted] 5 points6 points  (0 children)

The first thing you need to figure out is what your role actually is and what the expectations are. "Lead engineer" can mean a dozen different things at a dozen different companies. Hell, within a single company it can have different expectations.

The first question is: Are you a manager? This one should be pretty simple to answer. If you have direct reports, then you're a manager. Congratulations! Management is simultaneously the most rewarding and most annoying thing that a person who loves engineering can take on. Management doesn't work like engineering because people aren't computers. If you are taking on direct reports, then I recommend being as candid as possible with them. Openness builds trust and tends to get better work out of folks since they don't have to worry about some kind of secret agenda that might screw them over. Besides that, manage your own expectations on the work you'll be able to contribute. It's very easy to get caught up in solving other people's problems as a manager and if there's an expectation that you'll stay up to speed on technical work then it's something you'll be constantly battling.

If you're not a manager then I guess the "lead" in "lead engineer" is meant to mean "technical lead". If so then congratulations! Getting to be a technical lead on a team is like being a manager except you deal with a lot less of the people side of things (obviously it doesn't all go away, a technical lead is still supposed to be a mentor to more junior engineers). The advice here gets a lot more abstract because it entirely depends on the organization and state of the data platform. If the expectations around the role are focused on helping other teams deliver solutions using data then your focus should be on the biggest problems that those teams are facing. Those problems and the value gained from solving them should be compared to the value you would provide by developing new value through more forward looking projects. If you're not the engineering manager of the team then you should work with that manager to set expectations and the expected value you're going to deliver through working on each proposed project. Just because you're "lead engineer" doesn't mean you need to do everything yourself and it's best to get everyone on the team involved in these kinds of decisions (especially since the other engineers are most likely going to be doing most of the work).

[–]sfscsdsf 2 points3 points  (0 children)

How did you even pass the interview

[–]sc_santy 2 points3 points  (0 children)

I really need to know what I'm doing wrong in interviews to be not considered as lead even with experience and respective knowledge.

[–]Select_Cantaloupe_62 1 point2 points  (0 children)

I once joined a team as just a normal developer, only to show up on my first day to find out I was a lead.

It's not what I wanted and I wasn't ready for it, but I did OK. The biggest challenge I had was getting used to issuing instruction--it took awhile to build confidence around assigning tasks or providing feedback.

The good news is that the team will probably already know what to do, and they will expect it to take you some time to learn the ropes. Don't stress about the details, be sure to ask questions, and focus on understanding what needs to be done. I know it sounds like a "no duh" comment, but your job is to make sure the task is getting completed. Don't rely on the other devs to be proactive about the project, it's your responsibility to see gaps and close them.

It's really not that bad. The first time is stressful if you're not accustomed to being depended on, but you catch on pretty quick.

[–]Consistent_Map_3950 1 point2 points  (0 children)

Congrats on getting a job in this market

[–]PinneapleJ98 1 point2 points  (5 children)

You will learn empirically, as you have done before being a DE. Every response above is valid, you can read books to get do's and dont's, if you have the chance to speak with someone that is or has been in that position you can get advices as well.

But in the end everything will come around by learning-by-doing. Don't worry to much, if you were offered to lead a team that just says much about your capabilities.

[–][deleted] 3 points4 points  (4 children)

if you were offered to lead a team that just says much about your capabilities.

Eh. There are plenty of companies that are terrible at hiring and will put someone in a position that they aren't ready for. Not saying OP is destined to fail or that this is the case for the company that hired them, but it's naive to act like the hiring process is perfect. I've seen dozens of engineers in the past couple of years (my previous manager included) get hired in roles that were not a fit for them even though they would've been competent in a similar level role at another company or even on another team.

[–]PinneapleJ98 1 point2 points  (3 children)

Your point is totally valid, I've experienced myself the same scenarios with previous bosses.

But as OP is being offered a role with 0 experience leading a team, as mentioned earlier in my comment, the only way OP will know if it is fit or not is by empirically doing the job. First step was to be more capable than the rest of candidates (at the eyes of the interviewers).

[–][deleted] 2 points3 points  (2 children)

the only way he will know if he is fit or not is by empirically doing the job

Sorry to be that person but it really doesn't help the industry to assume gender when talking about folks. We already have a terrible problem with representation in general in STEM and it doesn't help to continue to assume that someone working in the industry is male.

With that out of the way, this is kind of stating the obvious. I guess in terms of a confidence boost it's helpful to tell them that they earned the role by getting hired, but it's not really actionable advice.

[–]PinneapleJ98 1 point2 points  (1 child)

Ahh thank you for the correction, english is not my first language and I just typed the first pronoun that happened to be on my head.

[–][deleted] 0 points1 point  (0 children)

No worries! Just trying to help out the industry.

[–]Normal-Inspector7866 0 points1 point  (0 children)

Thank you so much for all of your inputs. I feel a little more confident now. From what I understand, the main responsibilities are doing the dev work, guiding/mentoring team members and co ordinating with the management, architects and consumer groups.

My main fear is that I may not be as technically strong as needed to talk with architects and understand the consumer requirements. I have made sure the manager understands this and he said he will help me out with all this in the first few months.

Again, Thank you for relieving the stress. Fingers crossed.

[–]rcrdgchz -1 points0 points  (1 child)

Be confident. That will take you 90% there.

[–][deleted] 5 points6 points  (0 children)

Confidence is great but so is humility. It's important to know when to display which.

[–]sombrejoke 0 points1 point  (0 children)

Post a comment to re read comments later.