Profile picture

Productivity Q&A and Videos

About Productivity

How to turn around my trajectory on my team?

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

I joined my current company a bit more than a year ago as an L4. Within 4 months, I'd launched a high stakes project, and after some churn in the team leadership, I was put into the role of being a tech lead to my remaining team of L3s.

As a pseudo TL, I did well in the mentorship and technical guidance responsibilities, but my code output dropped drastically (due to my projects being in the design phase which were being done by my juniors with me providing high level guidance).

In the last three months, I suffered some mental health issues. My work productivity dropped significantly during that time. I've been very open with my manager about my mental state throughout this process, and they've been very supportive of the things I need to do to recover. Around this time my team also hired an L5, who is now officially the TL.

Due to my drop in performance in the latter half of the year, I'm afraid my manager won't trust me with important projects. I wonder if I need to again prove my credentials to keep me on track for L5. I feel very low about my software development abilities.

This has made me demotivated and disinterested in my work. I took a couple weeks off, yet I don't feel like going back to work. I'm not considering changing teams due to immigration issues. I also don't want to leave a team on a low.

Any tips on turning around my motivation, and trajectory on the team? What can I change in my mindset and working style to overcome my struggles?

Show more
Posted 2 years ago
139 Views
3 Comments

How do I improve at building systems?

Entry-Level Software Engineer [IC1] at Nvidia profile pic
Entry-Level Software Engineer [IC1] at Nvidia

I work on a product that runs on a variety of architectures, with code split across many GitHub repositories. We have a complicated build process. When making changes, I often struggle to find a way to run those changes efficiently (i.e. outside of the CI process). This is made worse when I need to make changes that also change the build process or need to run debugging tools like GDB.

When I onboarded, I was told that everyone has their own setup by people who've been on the team since its inception. It seems like people newer than myself have figured it out, even with how messy and changing everything is. However, I've been here for over a year and the team tends to work quite independently. Occasionally, folks will be quite helpful for a point or two, but generally everyone's stretched a bit thin and tends to focus on their tickets. My manager has also rebuffed any requests for collaboration or mentorship since I started, saying that I'm expected to be independent to show I'm ready for the next level. He did say I could that I could try to change the team's culture to be more collaborative if I wanted to take initiative, but that's not what's expected of a software engineer, especially if I want to do well and get promoted.

This question may be more about how to correctly get answers answered when you're no longer new, but I also feel that building (CMake, Docker, environment setup, package management, etc.) is slowing me down. Are there good processes for getting more efficient at building components/systems and unblocking yourself faster?

Show more
Posted 2 years ago
117 Views
3 Comments

Learn About Productivity

Productivity is very important for a software engineers because it can greatly affect your career trajectory. Software engineers who can consistently deliver high-quality work within a defined timeframe can position themselves for faster career advancement. When you can execute tasks quickly, you build a track record of reliability.
When you can meet project milestones, it shows that you can manage your time effectively. When you are productive by optimizing your time, you’ll be contributing to the success of your team.
A strong flow state and ability to context switch are key components of productivity. If you can achieve a flow state, you can significantly increase your speed and efficiency. This is very helpful when you are dealing with a calendar filled with meetings.
You should also be able to manage meetings effectively. This involves not attending unnecessary meetings. It also means consolidating similar meetings to create more focused blocks of time for yourself. If your daily schedule has too many meetings, you run the chance of not being able to get any work done.
When you are in a meeting, you should make sure to follow certain guidelines to make the meeting as productive as possible for everyone involved. Make sure that a clear and detailed agenda is set for the meeting. You should share the agenda with all of the meeting attendees in advance so each of the attendees knows about the context behind the meeting. You should also remind people about the agenda document by pinging people in your company’s communication channels, like Slack or email. Make sure the meetings actually follow the agenda and give everyone in the meeting the opportunity to speak. This will lead to an inclusive environment where everyone is heard.
You also have to be aware of your own mental state to avoid burnout. It’s important to communicate with your manager and tech lead about project timelines and priorities to manage your workload and prevent burnout. Just because you can execute on the work doesn’t mean you are delivering the most meaningful work. Always be prioritizing with your stakeholders to make sure you are meeting the most important goals of your customers
Show more