Profile picture

Senior Engineer Career Development Videos, Forum, and Q&A

How A Senior Engineer Can Grow Their Career

Senior engineers have proven themselves to be extremely capable at shipping high-quality, complex software efficiently. This collection breaks down how they operate and how you can get to this level too.

Should I consider switching teams?

Senior Software Engineer [L5] at Pinterest profile pic
Senior Software Engineer [L5] at Pinterest

I work as an ML Engineer at a company, and I have been part of my team for two years. Unfortunately, the product I was solely responsible for got canceled due to external reasons, even though it was showing good growth. Throughout my career, I have specialized in creating recommendation systems for online content platforms.

Currently, I am involved in less impactful tasks related to migrating our systems. We hope to find more meaningful work in the future, but I'm unsure if our team can achieve significant growth. While my manager sees value in me, I am not considered the best player on the team.

Recently, I learned that the Ads department is actively seeking to hire experienced ML engineers, possibly even seniors. They have ambitious goals and are eager to develop new solutions to reach them. I attended their hiring meeting, and the ML director spoke passionately about the work, which felt risky but exciting.

Part of me believes I should join this team. The expectations would be higher, and the company genuinely values their work. It would provide a greater challenge, and I believe such situations are crucial for personal growth and improvement. Additionally, working in a different department would expose me to different organizational dynamics. In my current team, I'm increasingly feeling complacent and lack inspiration.

On the other hand, part of me thinks I should remain with my current team. I don't dislike my manager, which is not always the case in every job. My current team is also important, and I have respect for my colleagues. If I stick it out, there's a chance I might come across something interesting eventually. However, switching teams would mean losing the relationships I've built and potentially delaying promotion opportunities. Moreover, there are concerns about possible layoffs, so it might be safer to be conservative.

Do you have any thoughts on this matter?

Show more
Posted 2 years ago
123 Views
2 Comments

Don't feel ready to be senior, but most companies expect me to be now. Need help picking an offer to take in light of this

Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro Community

Let me preface this by saying I have extreme impostor syndrome and I am optimizing for most chill company that's easier to survive in. I have offers from cockroach labs, and disney streaming. Both are senior level offers. At my last company (which i was let go from, I believe it was cause I took too long to resolve an outage in their eyes) i was basically doing mid level eng work so I'm not even sure I'm senior material tbh.

I have a little over 5 yoe. I've been laid off before and my perf has oscillated from good to bad etc (at times I've had personal things interfere with my work) so I'm very fearful of cutthroat/extremely high expectations environments.

From what I've seen, cockroach labs is very highly regarded in the industry, so in the case where I get laid off, it may be better to have a better brand name on my resume. They also do seem to have a good wlb. However, a lot of the people there are coming from other very reputable companies, and I'm very worried I won't be up to the par compared to these people, especially in this environment where performance is looked at more closely. They also did a large RIF last year which impacted low performers.

As far as disney, it may be easier to meet the expectations if the talent bar is lower, but they have done a fair amount of layoffs over the last few years, and the streaming unit has only recently gotten profitable. Seems the leadership is telling a story this will last, it's unclear how well the performance of the business will be long term. Cockroach labs seems to be very well positioned from a company performance POV.

I say all this because I don't really want to go through another job searching phase for a while, so I'm considering the strength of the business as well in addition to how capable I would be of surviving at the company.

Show more
Posted 3 months ago
118 Views
8 Comments

How can I identify companies that have good work cultures where code doesn't have to be refactored all the time?

Senior Software Engineer at Taro Community profile pic
Senior Software Engineer at Taro Community

How can I prevent myself from putting myself in a job where I have to recode an entire code base after a long amount of time on a product?

More specifically, how do I identify good teams that have working styles where you aren't having to refactor an entire codebase and have a frustrating work environment? In the past, I've heard that at companies like Netflix that people can just code in whatever language they want, then when folks sometimes regroup/resync with a larger product team, one team in a particular language will win, leading to large parts of other specific devs on the team to hate it because they have to refactor their code.

How does one come up with certain criteria (and follow through with it) as they interview for jobs and specific companies about working styles on preferences of code base, tools, frameworks?

What other core principles and criteria folks consider as they're interviewing other people (not just the company interviewing for a role) that they should consider as a part of the dev culture, structure when it comes to these types of things so I don't make the same type of mistake?

And yes, I know people refactor code bases (ex. legacy projects, cleaning out whatever tech debt folks have), which people tend to hate because it's a lot of work--and that it's still bound to happen and unavoidable, but how can we eliminate cultures we dislike that are refactoring code bases as a result of a dysfunctional tech team? I want to avoid having terrible experiences at a future company I work (similar to an hackathon experience I had recently working on a small MVP can be frustrating when folks are not aligned / on the same page for things that might take to long to complete or have to refactor completely if they are not communicating well or upfront from the beginning).

Show more
Posted 6 months ago
113 Views
3 Comments

How to influence engineers to hold up their timelines?

Senior Software Engineer at Taro Community profile pic
Senior Software Engineer at Taro Community

I'm an E5 iOS at a Big Tech company reporting to an M2. I'm leading the mobile side for a multi-quarter product project that leverages work from 2 platform teams. Most of the complexity of this project will be on the mobile side. My backend lead is an E6 full-stack web engineer reporting to an M1 who reports to my M2. The M1 is on parental leave until late Dec / early Jan. This E6 has been an amazing partner and teammate.

The 2 platform teams have missed a lot of their timelines. One dependency is about a month behind schedule. They often give us deliverables that are dev-complete and not tested (e.g., compilation errors, etc.). We have sync meetings 2x/week, but 1 platform team has never attended any of these meetings. The other platform team doesn't always send the same engineers to the meeting and doesn't always know the status of their own deliverables. That platform team's EM got terminated for performance reasons before this project started, so their M2 and a TPM have been tag-teaming to fill in the gap. That means sometimes their M2 attends the sync meetings, sometimes the TPM attends, sometimes both attend, and sometimes neither attends. The TPM sends a weather report on that team's deliverables every other week, but hasn't sent one in the past month. In his last email, he listed my E6 and me as the DRIs for their team's deliverables. When I confronted him about it, he said it was a mistake and he'll fix it in future emails. How do I bring visibility into these delays to external stakeholders?

I created a shared Google Doc to track all the dependencies, including when our team needs the deliverables, the other team's ETAs, and any notes. However, it's been challenging getting ETAs from the other teams. When I tagged them in the Google doc asking for ETAs, they just ignore me.

My manager gave me feedback to "influence engineers to hold up their timeline than push for hard commitments". Do you have any concrete advice here? I'm not sure how to do this.

After I escalated the 1st platform team's unresponsiveness to their Director (3 levels up), the E6 iOS DRI became very responsive. Escalating to that E6's skip level had not been effective. Should I just keep escalating everything or is there a better approach?

Show more
Posted a year ago
113 Views
3 Comments