Profile picture

Productivity Q&A and Videos

About Productivity

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 7 months ago
68 Views
4 Comments

How do you prevent logarithmic productivity?

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

Every time I work on a project, the amount of progress increases logarithmically. This means I start off really strong and I end off really weak. I’ve noticed this for a majority of projects that I work on.

I think a big reason why this happens is because when my project is able to get 50-60% of cases (ie it works but don’t touch it), internally my brain feels like it’s done and I don’t want to work on it anymore. When I start off a project I get huge boosts in dopamine when I finish a part and get it to work. Over time there are fewer and fewer things to do and I don’t get as big a dopamine hit when I gradually finish up remaining features. This gets really ****bad when I try to think of edge cases, because it’s not entirely clear what needs to be done, and I don’t even know what edge cases exist.

This has affected the quality of my work and I would like some strategies of keeping high output even towards the later stages of a project which involves less excited parts of work.

I think this somewhat relates to Alex’s video on “”, but I feel that the hard part is that I don’t even know where to begin. I don’t know where edge cases may. On a component level it’s not too bad, but when you’re doing integration testing and when the space of possible inputs is extremely high, it feels like you’re put in the middle of the ocean.

As an example, recently I was tasked with writing a bot to draw an ordered set of lines, curves and arcs on a canvas. The input a vector representation of the drawing and the output is an mp4 recording.

First 3 days went pretty well. In fact, I pretty much built the entire system and integrated everything. The annoying part comes to solving edge cases from integration testing. For the next 7 days I spent days kind of just sitting around, testing my system, and getting bored. I was waiting for my partner to finish his part of the system.

What strategies are there to make my output more consistent? I tried doing a test plan but they tend to be really shallow because I don’t know how the system looks like/what edge cases look like until I’ve actually built the product.

Show more
Posted 2 months ago
40 Views
2 Comments

Facing difficulty where to concentrate first

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

In three months, I'm graduating, and I need to resolve my dilemma now: can I realistically land a job, or am I living in an illusion that I can do anything without understanding the challenges of the real world?

Here's my current daily schedule:

  • Sleep: 8 hours (I tried 6 hours, but after a week, my performance dropped significantly, and I became forgetful.)

  • Workout: 1.5 hours

  • Meal prep & other daily activities: 2 hours

  • Miscellaneous tasks: 1.5 hours

This leaves me with about 3 hours per day for study or self-improvement.

I'm at an intermediate level in Python that's all i know for now. I can write logical solutions, though it often takes a few attempts like run it first then fixto get things right. I also find that I need to go deep into a topic to fully grasp it. For instance, when learning SQL, it's not enough for me to know the query “SELECT * FROM TABLE_NAME”—I need to understand what's happening behind the scenes, like how each record is being retrieved.

I'm at a crossroads regarding my career. With my OPT starting in February 2025, I don't have much time to waste, and I'm trying to decide the best path forward:

  • Option 1: Spend the next 6-8 months preparing intensely in DSA (Data Structures and Algorithms) and working on projects.

  • Option 2: for now focus on building practical projects, aiming to join a smaller company first. This way, I could gain real-world experience and eventually advance to a better opportunity.

I'm struggling to decide which of these two paths would be better for my future.

Show more
Posted 4 months ago
38 Views
2 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