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.

How to push for changes when not directly in a leadership position?

Senior DevOps Engineer at Taro Community profile pic
Senior DevOps Engineer at Taro Community

Hi Taro,

I'm cross posting this from the premium slack because it was raised that the answers might help the broader community.

I work for a small company - the engineering org is approximately 60-70 people all told. The company is about a decade old, but has grown more recently, and I joined the small SRE/Developer Tooling team within the last year. Historically, the company has operated at a relatively slow pace, and followed practices that are, politely, out of date. Just to give an example of the kind approach the company takes:

  • We operate out of a single AWS Region, with no DR or failover capabilities
  • infrastructure was provisioned ad-hoc and manually, with effectively no Infrastructure as code
  • Developers would typically bypass deployment pipelines to manually update files or run commands, even for production systems
  • QA is primarily manually performed for our SaaS application. There is some automation, but this is something that QA runs and checks the output, instead of automatically tracking the output in some way.

In my role, I've been pushing for change where possible, trying to evangelize the better ways of working, such as Infrastructure as Code, logs sent to a centralized location like Splunk, and deploying to other AWS regions to assist in both regional lag and general DR/failover concerns.

Thankfully, there's definitely some purchase there by leadership, at least on a high level, as they're generally receptive to these changes and recognize that they cannot continue with the same old practices. However, this mentality doesn't appear to be flowing through to the rest of the engineering organisation. My team and I are repeatedly asked to revert changes we've made, often because developers are merely used to the way things used to be, or because PMs/teams want to stick to a schedule or speed that was only possible via shortcuts (such as manually provisioned infrastructure). All of this has happened despite repeated public comments by some in leadership against those requests specifically.

What can I do to push for these kinds of changes, when I'm not in any kind of official management or leadership position? I have no official power beyond a general remit by my manager to uphold certain standards for my team.

Show more
Posted a year ago
200 Views
2 Comments

How to avoid building the wrong thing when navigating ambiguity?

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

I'm an E5 at a big tech company. I've been on multiple projects where stakeholders waited until the very end of the projects to say, "That's not what I wanted." What can I do to prevent this from happening? I got feedback that I "need to navigate ambiguity". Does "navigating ambiguity" mean somehow predicting that stakeholders want something besides what they sign off on? If so, how do I develop this skill?

This seems to only happen on projects led by E6+ engineers or an M2. I have not had this experience when working with other E5's or more junior engineers.

Examples:

  • Misaligned OKRs: At the beginning of the quarter, my M2 told me that it was okay to have a multi-quarter effort, so I planned to do an analysis and roadmap in the first quarter, then execute on improving metrics in subsequent quarters. My M2 signed off on my OKRs for the first quarter. When I provided my deliverables at the end of the quarter, the M2 said, "That's not what I wanted." Then he told me that he wanted metrics moved, even though my OKRs clearly said it was just an analysis & roadmap. I asked 2 mentors (a Director & an M2 - both not in my management chain) for a 3rd party opinion and they both agreed that there was no way to read my OKRs as moving any metrics. I'm confused why the M2 signed off on it and didn't say anything about it in our team's weekly OKR review meetings if that's not what he wanted. He gave me feedback that I need to "navigate ambiguity." When I asked him for concrete, actionable steps to navigate ambiguity, he said, "If you need to ask that, then clearly you don't know how to navigate ambiguity." I'm so confused! Please help!
  • Low-level design missing on a cross-functional project: The DRI (an E6 backend engineer on a different team) kept talking in circles & refused to answer questions whenever the other mobile engineer and I asked about the low-level design for our project. The other mobile engineer tried escalating to our EM, but our EM did not help us. As a last resort, the other mobile engineer and I aligned on the mobile implementations and built that. During end-to-end testing, the DRI said, "That's not what I wanted." He did the same thing to the data scientist. The project was initially scoped for 6 weeks, but ended up taking 2.5 quarters due to all the churn around "late findings". My EM gave me feedback that I need to have a low-level design before starting implementation.
  • Wrong requirements on a cross-functional project: The DRI (E8 web on a different team) provided a requirements doc that was confusing, meandering/disorganized, and hard to follow/understand. An E7 mobile engineer flagged that the doc is not a proper requirements doc at a TSG (Tech Steering Group), but the DRI ignored him and forced me to implement it. I asked for requirements clarification, acceptance criteria, and end-to-end test cases, but he refused to provide any of them. He told me that the requirements doc was all I needed. I escalated this to 3 EMs (my EM, the project's EM, and the DRI's EM) due to my bad experience from the previous project, but none of them helped me. When I asked my EM point-blank how to avoid building the wrong thing, he told me to just make sure I get sign-off on the low-level design in my mobile RFC. I made sure to get sign-off from the DRI before implementation. I also provided TestFlights every 2 weeks for the duration of the project. On the final day that I was allocated to the project, the DRI asked what happens in an error scenario. I said, "Exactly what was documented and signed off in the low-level design of the mobile RFC. Why would it be any different?" Sure enough, he said, "Oh, that's not what I wanted." When I asked why he signed off on the low-level design, he said he missed the flowchart that described the error handling. This happened even though I explicitly tagged him on that flowchart in the Google Doc. So the overall mobile design was about 80% wrong. Turns out his requirements doc said the opposite of what he wanted and that's why the wrong thing got built. The TestFlights had the wrong behavior starting with the initial build, but he missed this as well. His feedback for me: "needs to make sure we build the right thing". How do I avoid this in the future? My EM was unable to provide any advice on how to avoid this in the future. All 3 EMs resigned towards the end of the project.
Show more
Posted 2 years ago
196 Views
3 Comments

Need help to figure out what is next?

Senior Software Engineer [E5] at Meta profile pic
Senior Software Engineer [E5] at Meta

Some background about my experience. I have overall 10 years of experience out of which first 3 years was in Service based company in India and then 6 years at Amazon/AWS and around 9 months at Meta. I got promoted to Sr. position almost 3 years ago and have been working as Sr. Engineer since then.

Since few months before my promotion I am feeling bit burnt out. Promotion came after lot of hard work and honestly the compensation increment was totally underwhelming. So I interviewed and switched and comp increase was really good but I am not liking work culture now. This made me sort of realize few things:

  1. Promotion and level don’t actually mean much. I feel like I am part of a rat race and trying to prove my worth to someone who can whimsically just say yay or nay. This is extremely demotivating.
  2. Early days of my career were great, I was making good money and learning ton of new stuff. However, now I realized that most of the stuff I learned is not useful outside and I saved enough money to not feel the need to do job just because of money.
  3. It is not worth being loyal to one employer. Even though I changed companies for comp, my new employer (Meta) recently let go of lot of people. Some of them have been there for at least a decade. Plus the remaining of us are now in constant fear of layoff based on performance.

Now I want to get out of this job→money→stress→new job→money→stress cycle but don’t know how. I am planning to move back to India after few months and was hoping to start may be freelancing or some consulting work where I can control my time. I am more than happy to take a pay cut. So I started doing some research:

  1. Freelancing: Most of the jobs in freelancing are web development. I have lot of experience with backend and some experience with web development but I am nowhere close to the people on youtube/udemy. I can most certainly build stuff but have no experience to show for and I am not sure if I’ll be able to find any work whatsoever 😟.
  2. Consulting: Everybody suggests to build a network and then you can find work through them. My network is mostly SDEs in FAANG who I’ve already talked to. Most of them told me, dude if we know about such work we’ll jump ship as well, but they have nothing. One of my jobs was to build cloud services so I know how to build them at scale. But I have less experience in how to use them, so even if I do certifications I am not sure I’ll be able to find work on this area.

Now last option for me is to find a job which pays less and have less stress which will be okay. I can most certainly say screw it and not worry about getting promoted. But then I don’t know if that’ll be satisfactory, it’ll be more like I accepted defeat and ducked out of rat race but I still have no direction to go on.

Sorry if this all sounds like a rant, but I would love to have some guidance from people who have been in similar situation. What did you guys do and do you have any suggestions for me?

Show more
Posted 2 years ago
188 Views
2 Comments

What strategies are there to recover from an unproductive week?

Senior Software Engineer at Twitter profile pic
Senior Software Engineer at Twitter

I recently joined my team, and I've been sort of overwhelmed picking up this new tech stack which may be leading to some procrastination. I literally have to Google for everything I want to write. Twitter also has certain in-house technologies, which are pretty challenging to learn. I also started working on a critical project recently with strict deadlines due to headcount shortage.

I saw this as an opportunity to make an impact and am trying my best, but I wish I had more time to get acquainted with the stack. I feel like I lost a few days last week unraveling through the ambiguity and getting context, so I didn't make progress with implementation as much as I wanted to.

I am kinda anxious that I will miss my delivery in the first project which is not setting a right impression. In my experience, there is no excuse for missed delivery and it will treated as a red flag. It's a newer company for me and my org is revenue-generating. Given the phase Twitter is going through, this project is critical and hence I am hesitant to push back on the timelines too.

I also see mid-level and junior engineers on the project moving way faster than me right now, because of their tenure and familiarity with codebase and that can be disheartening.

Lastly, should I be transparent and discuss with my manager if I feel a few days haven't been productive? I don't see any way that will help.

Show more
Posted 2 years ago
187 Views
2 Comments

Recent Stripe Interview for SSE position

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

Hi folks, I need your help to understand if any action can be taken from my side here.

I gave Stripe interviews recently for SSE (Bangalore) and here is the feedback I received.

Round1 (LLD) - Strong yes

Round2 (Bug Squash) - No

Round3 (Integration Round) - yes

Round4 (Systems Design) - Strong yes

Round5 (Manager Round) - yes

I am aligned with this feedback except Round 2 (Bug Squash). I thought I had a strong yes in that. I was very easily able to navigate the code, find out the bug, fix it, and explain it. We were left with 15 more minutes so she gave me another bug to solve. I reached halfway on that, was able to partially figure out the bug. Didn't solve it but I think the expectation is to solve just one bug.

I have communicated the above with HR with a positive outlook.

Also, I felt that the interviewer wasn't very present and interested from the beginning so I think that the interviewer hasn't given much thought to this.

Current status: They have sent the case to the hiring committee for SSE but the HR mentioned that I might get downleveled. But I have been pretty vocal that I want to be considered for SSE only. Another factor she mentioned is I have a borderline work ex of 5.5/6 years so that might also contribute to this.

I asked the HR if I could reinterview for this round but she mentioned that's not possible and is not part of company policy.

Anything that I can do here?

Show more
Posted 4 months ago
183 Views
2 Comments