Profile picture

Productivity Q&A and Videos

About Productivity

How to navigate switching teams when working on a project that's dragging on?

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

I'm an E5 mobile engineer at a Big Tech company. Due to lots of manager attrition, I currently report to a hands-off Director with too many reports to have regular 1:1s. I found an awesome EM who agreed to let me join his team and promised me E6-scope projects on his team. My Director is his skip-level, so I'm staying in the same org.

However, before I could make the official team switch, my TPM loaned me to another team lacking mobile resources to meet the TPM's own OKR. He did not bother talking to the awesome EM or me beforehand. My scope on the TPM's project is E5 at most. Now that project is dragging on. It's already code complete, but they want to keep me on that project until it's fully rolled out. We're waiting for mobile adoption to reach a certain threshold before we can do a force upgrade. Due to the code chill around the upcoming holidays, we likely can't do the force upgrade until next year. In the meantime, the project's EM is asking me to investigate pre-existing bugs in their feature. The awesome EM met with the TPM and that project's EM to fast-track my transfer, explaining that he needs me for Q1 planning & our team's own OKRs, but the latter two insisted that I need to support their project until it's completely done, which includes the force upgrade. Am I stuck on this project until January next year or is there a way to switch teams more quickly?

Show more
Posted 2 years ago
92 Views
2 Comments

How do I deal with increased work hour expectations?

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

When I joined my current company, it was a standard 40 hour/week company. Since the end of last year, we’ve been told that we’re all expected to work 55-60 hours/week to get our startup to a successful state (get funding, retain current customers, attract new ones). I’m feeling extremely miserable from the change because the schedule doesn’t allow me to do all the other things that are important to me outside of work, such as spending time with family, cooking and working out regularly, and dedicating time to my hobbies. I have subscribed to newsletters for years to keep up with how the javascript and react worlds are changing, but have stopped reading them. I feel like the work hours have made me less curious about keeping up with tech and growing, which is the thing that I used to like most about this career.

We’re asked to track and report our hours working on tickets, and any time we fall short of expectations it comes up in our weekly one on one with our manager. It’s making me want to leave, but the market is tough, I haven’t interviewed in years and never done DSA or system design questions, and it’s hard to start with the schedule I have, because again I’m already sacrificing time with my family for this job and don’t want to sacrifice more. It’s crazy how much the extra 15-20 hours per week is costing me emotionally.

How do I get out of a situation like this? I don’t have enough savings to fall back on, my wife doesn’t work, and my state doesn’t provide Medicaid even to households with no income.

Show more
Posted 4 months ago
78 Views
3 Comments

Productivity System - Agile Board, Email, Bookmarks and Backlog

Data Engineer at Financial Company profile pic
Data Engineer at Financial Company

I'm trying to improve my system of productivity. My system of late has involved running my life from Gmail, which I'm quickly realizing is woefully inadequate. For one, when it makes me reactive - what shows up in my inbox gets my attention. (After writing that sentence, I turned off Gmail notifications on my phone, so this question has already been productive).

A second aspect that makes it inadequate involves how I would not work on things that aren't high priority in a given day. My approach until now has been to snooze the email until a certain point in the future. The natural problem with this is I might snooze the number of days too early so I'll see the thing I should be doing before I should work on it or too late, in which case I'll see it after I should.

I think the solution to this is to use an Agile board for my tasks like I do at work. I'll have a lane for tasks I'm doing, one for "Done" and a backlog.

I've also recently been working on embracing the Just One Thing approach. I've struggled with trying to get too many things done and what invariably happens is I prioritize the easy tasks or tasks I want to do rather than the most important ones. By only having one thing to do in "Doing", I leave myself no wiggle room to procrastinate.

Does this system make sense? Is using Agile for oneself the best approach? I understand different things work for different people, but I'm really interested in a system that orients me towards important work and makes it hard to procrastinate.

The second part of this question involves the backlog of things to do. There are quite a few, some of which I will probably never get to for lack of time. What's a good method for clearing these? I'm thinking everything in the backlog is deleted after existing for X amount of time (e.g. 2 months). If it really is important, I will think to add it back to the backlog again.

Relatedly, I have a ton of bookmarks in Chrome with all sorts of wonderful material, including some from Taro. Again, the problem is between work, side-projects, fitness and life, I don't think I'll ever get to the vast majority of them, because watching and reading is consuming and usually the most important thing I can be doing is producing (coding or writing). I'm thinking of just deleting all these bookmarks because they present a temptation of how I should be spending my time.

An alternative is just to try and keep the most important ones (e.g. right now I have 100 bookmarks, and one can argue I should only ever have 20), but this means I have to go through and try and stack rank them against each other - a task of its own and not an easy one. Deleting them all is a one-time painful option, but actually the easiest one.

Happy to get people's insights!

Show more
Posted 10 months ago
77 Views
3 Comments

What do you do when you're faced with a problem that you can't solve?

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

So, I'm the only frontend developer on a mobile application. My boss is BE and so if I ask for help he just tells me, "im sorry but I have my own things, you need to figure this out". I've expressed concerns when I wasn't happy with that answer; but, he doubled down that I knew more about him than my problem and so couldn't help me.

The issue is, the things I have problems with are exactly specific to frontend, maybe I'm trying to do some data flow stuff and just want to bounce off a coworker. Or, I have to integrate some FE piece to the BE and since we're a 3 person (engineer-wise) startup, we don't have documentation or really anything besides slack messages to explain stuff.

This has led to me being forced to just white knuckle my way through problems. For the past year and a half I've been able to do this; however, I'm now facing more difficult problems, live-streaming, bridging native modules ( I work with RN ).

More recently, I got stuck on a problem where, I seriously contemplated quitting the company because I couldn't figure it out. There is a ton of pressure because we have daily stand up and I can only say, "I'm still working on X due to Y" for so long. And so I thought, what happens when breaking it down, trying to solve a simpler problem, posting online, talking to teammates, reading docs, just doesn't work? I seriously thought everything was spiraling out of control.

I honestly don't know if there is an answer to this problem. But I was truly feeling hopeless just blindly trying to solve an issue by googling, chatgpt, and hoping for the best each time I hit compile.

Show more
Posted 10 months ago
77 Views
3 Comments

How to manage many tasks at once?

Software Engineering Intern at Taro Community profile pic
Software Engineering Intern at Taro Community

It’s been 5 weeks since I’ve started my internship and it’s been pretty overwhelming trying to juggle many responsibilities. I tried balancing school research, my startup and interview prep along with my internship, but I’ve underestimated how much time my internship has been taking.

I’ll start off with the good news first. I’ve been doing well in my internship and my manager is happy with my progress. I managed to implement a pretty critical part of their system that they’ll need in the future. I’ve also set up infrastructure for them to scale their codebase. I need to integrate my work into prod and implement some basic logging.

The bad news is that my internship has been taking much more out of me than I expected. I find myself spending 9-11 hours working daily and as a result, I haven’t been able to do leetcode, research or my startup. As a result here are the consequences:

  1. Leetcode: I’ve started applying for full-time jobs and I bombed my first OA. Having looked at the questions, I feel that I might as well have not applied at all as I can’t even get through them
  2. Research: My advisor hasn’t said too much about my research progress but my gut feel is that he thinks it’s slow. I’m in conversation with a big tech company about doing research with them in the fall with the potential for a FT return offer, and my advisor has a say in whether I can do the collaboration/internship. So I definitely need to do well in research.
  3. Startup: My cofounders and I have been working hard on sales but feature implementation has been slow. The feature requests are pretty critical in getting paying clients, so one day of waiting may mean a customer can churn.

The worst part is that every time I come back, my body feels so drained and I don’t want to do work any more, but I also kinda have to. I still have another 4 weeks to go for my internship and I’m wondering how to allocate my time.

Show more
Posted 4 months ago
70 Views
9 Comments

Burning the Midnight Oil?

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

Other than for a very specific, time-critical reason, e.g. an upcoming launch or being on-call, is there ever a good reason to "burn the midnight oil" by deviating from one's normal life routine to put in more work hours?

Here's what I see this deviation looking like:

  • taking fewer breaks in the day - so instead of going for a walk after 2 hours, doing it after 3
  • within a work-bloc, having longer time spent at your desk - so sitting interrupted at your desk for over an hour, for example. If you're following the health gurus, you should be standing up often, and the Pomodoro technique is classically 25-minute focus blocks, but I don't know how practical this is
  • cutting out gym time to get more work done - for me, exercise is generally 1 - 1.5 hours of time which I do 3 or 4 times a week, so I can get more keyboard time in if I cut it.
  • working later into the night and either cutting into sleep time or just waking up later the next day

These are all examples of trying to eke out more productivity. The last 2 in general are frowned upon from a health-standpoint.

In my case, I'm onboarding and think I'm behind on my first ticket, hence the motivation for my question.

I know quality (spending my time in the right way) is a lot more important than quantity, but quantity is easier to add as so many people have pointed out on this site.

Yesterday, I had a new coworker, someone I had never spoken with before spend 4 hours on the phone with me and that was both practically helpful and psychologically helpful. Getting help like that in general is a lot more productive than just throwing more time alone at a problem. Just trying to add more context.

Thanks!

Show more
Posted 5 months ago
66 Views
4 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