Profile picture

Onboarding Q&A and Videos

About Onboarding

How can I safely plan a difficult project for which I have little context?

Senior Software Engineer at Series C Startup profile pic
Senior Software Engineer at Series C Startup

Context:-

  1. My team is going to work on a new project which involves upgrading a service and migrating/enabling all of the dependents to use the new service.
  2. This service provides a business critical functionality for our teams and the new version attempts to solve a lot of high impact pain points with the previous version.
  3. We have just inherited this service and none of us have worked with it or any of its dependents before. We have some support from the previous team that worked on this project but only in a consultation capacity.
  4. This is a project that has been attempted multiple times by various teams over the years - unsuccessfully or with little progress. My perception is that it's going to be a difficult project with low-moderate chances of success.
  5. There is a lot documentation but most of it is somewhat outdated. There are a lot of PRs as well but these are for the unsuccessful attempts so I'm not sure how impactful it would be to go through them.
  6. The plans for the previous attempts only had internal milestones for the team and a single big-bang completion milestone for stakeholders.

Questions:-

  1. How can I identify smaller, independent high-level milestones that are relevant for external stakeholders?
  2. How can I come up with broad estimates and capacity requirements for the external and internal milestones if I'm not clear on what these milestones would require for completion?
  3. How can I think about de-risking this attempt of the project and improving the probability of success?
Show more
Posted 2 years ago
268 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

Assigned too difficult work, what can I do?

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

I'm mid level, new to the company.

I got assigned a chunk of a bigger project owned by a staff level engineer, let's call him X, who has worked on the product for a long time and has a lot of context.

Things that were new to me: the language, the tool chain, product context. The codebase is several years old.

My skip level manager (1 level above my direct manager) once encouraged that I should aim to finish my work in less than 2x the amount of time it would take X to do it (but besides this I received no pressure, or reminder to push for this target from managers).

This was overly ambitious. I worked longer hours and harder than anyone around, including weekends but still could not finish it in 3x the amount of time initially estimated.

The staff engineer overestimated what I can do too. He's very willing to explain but I had a hard time mapping his high level explanation to what happens at the code level.

I could not tell if the standard here is high or the task is too hard. So I leaned towards putting in more effort rather than voicing my concern.

I also did not have a good sense of "are these unknown parts of the code base grok-able with a little bit of time or do they require a lot of time?" to estimate time spent up front.

In the end I got some barebone thing out and he took over. Still took him a couple more weeks to get the thing finished. Along the way he solved some problems I'm sure I have no chance of solving in that timespan.

With this evidence I was sure the task was legitimately too hard for me and was comfortable letting my manager know my opinion.

Back up a little bit, when I started working on the project, my manager knew I could not stick to the original timeline set by the engineer and encouraged me to take my time to learn the codebase. What is puzzling is my manager did not tell the engineer about this unrealistic estimate. The engineer reports to a different manager and has been around way longer than my manager.

Maybe there is some politics going on that I'm not aware of.

Anyway this has been a very stressful experience.

What could I do better? What should I do to mitigate any harm done through this experience?

Show more
Posted 2 years ago
179 Views
2 Comments