Productivity

Productivity

We all have the same 24 hours in a day - The difference is that some are able to get far more out of it than others. Here's what they're doing that others aren't.

How can I be more confident being in Big Tech?

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

A year back I joined a Big Tech company as a mid-level software engineer. I had 5 years of work experience mostly in not-so-famous startups and I joined a large tech company after doing my masters.

It's been a year since I joined but I regularly feel like I don't belong here. I go through alternating waves of confidence and self-doubt. When I am not able to debug simple issues in a new microservice, I feel dumb. I feel like the senior devs on my team are just able to solve everything and I am still struggling after a year. I have been through a round of layoffs and re-org and am not sure about the kind of work I will be doing in the future.

I want to be promoted to senior engineer level but constantly get feedback that I am not assertive, opinionated, and take more time than usual to complete ambiguous tasks. I see everyone getting promoted around me and I don't understand why I can't seem to be improving. I am very motivated and willing to slog hard, but it seems like I simply don't get it or am not smart enough. Everyone around me just feels smarter and more experienced.

I feel like moving to a smaller company with not-so-high coding standards and ditching big tech because it will be more up my forte. I am aware that I won't grow there. It just feels frustrating to be stuck at a junior-mid level, 7 years after my bachelor's. But I also know I am not at that level yet.

Any advice on how to go through this problem to the other side will be lovely.

Show more
187 Views
1 Like
3 Comments
18 days ago

How Long to Complete Take-Home Assignment II

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

My was “When given a take-home assignment, what is a reasonable turnaround time to get it back to them?” I now know it’s within a week.

I was given the assignment to create a basic Django app and was told to spend no more than 3 hours on it. Here’s the short text of the assignment description:

Table Metadata Extractor (Python)

Please provide a Python Django application that has one API endpoint which accepts a database connection string from your DB of choice (Redshift, BigQuery, Snowflake, MySQL, Postgres), connects to the database using and returns a list of the TableMetadata data objects (see below) for all tables in the database.

TableMetadata = {

columns: List[ColumnMetadata]

num_rows: int

schema: str

database: str

}

ColumnMetadata = {

col_name: str

col_type: str

}

Bonus points for:

·         Instructive error messages for improper connection strings or other invalid input

·         A solution that is efficient

As a Data Engineer/Analyst, I haven’t done web-dev stuff in years and have never used Django. My immediate instinct upon reading this project description was to find a resource to learn Django online. I’m not sure this is the right instinct, because software is about doing more than learning as Alex has mentioned so many times.

The way I see it, I have 3 ways to approach this assignment:

  1. The way I just mentioned. Go down a learning path (hopefully not a rabbit hole), learn about Django and try completing the assignment.
  2. Dive right in, try building the solution from scratch, Googling and ChatGPTing liberally.
  3. Don’t do the assignment, spare myself the time and headache, and beef up my Python web-dev skills for the future.

The first approach requires the most upfront time. The second might be longer or shorter than the first. And the third doesn’t require any upfront time but requires a commitment to being in a much better position to do the assignment in future.

This is the second time in a couple of months I’ve been in this position since I was given an assignment for a different company to build a Flask app and did a shoddy job with it.

My first question is, which of the 3 options should I do to address this time-sensitive situation?

My second is, how should I address this situation long-term? Building some web-dev projects in Python with Flask/Django/FastAPI seems pretty logical. I don’t get to work with them at work, but I could spend a few weeks building stuff with them. I guess that’s the answer, the key is to avoid tutorial hell.

My third is, how should I think about take-home assignments in general? Should they stretch me a lot in terms of learning new things or conversely, should I be, say, 80% comfortable with what I need to do, just stretching a bit here and there to do stuff?

Thanks!

Show more
225 Views
3 Likes
5 Comments
3 months ago

How to be more productive working from home?

Mid-Level Software Engineer at Grab profile pic
Mid-Level Software Engineer at Grab

I have been working from home since 2020. From 2020-2021, I used to work in a healthcare startup with lots of responsibility, tons of work, crazy deadlines and needed to firefight incidents on a daily basis. The managers used to keep us on our toes and everyone was expected to put in more hours than the standard 40 hours/week. I was pretty much working most of my waking hours so productivity was not my concern. I did learn a lot but eventually burnt out.

I took a year off to do my masters and joined my present company in June 2022. It's a much bigger company with amazing culture, clear processes and I have very supportive and brilliant teammates. No one micromanages me. There is still good amount of responsibility and tons of work. In this environment I also want to give my best. While my productivity is great when in office, I do feel I am at 70-80% productivity level when working from home. We follow a hybrid model where we go to office twice a week.

Being in rent crazy Singapore, I do not have the luxury of having a separate office space at home. I do have a proper desk setup and enough things going on to be productive.

I want to be more productive in days I am WFH.

Have tried keeping up a schedule, wearing noise cancelling headphones, listening to binaural beats.

But nevertheless I do find myself on my bed after a couple of hours of work and it becomes difficult to resume work again. Also I tend to be hard on myself for taking that rest and the day just spirals from there.

I have tried working from cafes and even going to office every day. But along with going to gym, commutting and cooking healthy food I am too tired at the end of the day.

I really want to be more productive when WFH so that I can also manage the other parts of my life well. My team doesn't care where I work as long as the work is done.

Would like some tips on how to be a better remote worker and manage the entire day better.

Show more
644 Views
14 Likes
Editor's Choice
5 Comments
4 months ago

How to remove yourself from being a bottleneck?

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

Due to unforeseen circumstances from past 6 - 8 months, I've been the Senior most engineer in my team, (I have a total of just ~2.7 YOE). My team consists of ~12 SDE 1s (New Hires) and 2 SDE2s (The other SDE2 being promoted very recently). My manager does a great job filling the role of Senior Engineer which reduces bit of pressure off of me.

However, due to necessity in the team I've ended up being SME in all the services owned by our team. This leads to everyone reaching out to me to help them with their queries, I try to document some of these and add in the Wikis so that it can be easily accessible for others next time. However, when it comes to certain tickets and issues, I end up having to pick that task up myself (Manager does not ask me to, but at same time i know that for someone else the ramp up time required to fix the issue would be too high).

I recently tried to reduce this (2~ months ago), this led to our overall ticket health getting worse and I had to again start looking into them myself and guiding each on-call cycle with right action items for the tickets etc.

This involves me helping them to do the following :-

  • Prioritize correct tickets to look into for the on-call cycle.
  • A potential fix for the ticket so that they know where to look into.

Due to which it ends up taking 6+ hours weekly to keep this running. I don't really mind doing this; however, I don't feel like this is a scalable solution and would eventually want to slowly scale down from doing this and have my team being able to be self-sufficient.

What's the best way to go about this without affecting my team's ticket health?

Show more
2.5K Views
28 Likes
Editor's Choice
4 Comments
4 months ago

Working with a micromanager

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

I am a mid level engineer and I work for a manager who has micromanaging tendencies. Some of these tendencies include,

  1. Going deep into implementation details of tasks that engineers are working on. I have been in meetings/discussions where proposed solutions by engineers have been ripped apart by this manager without them having enough context about why the engineer is doing it a certain way. This almost always leads into the engineer having to explain the nitty gritty implementation details to this manager to convince them that the engineer is doing the right thing. Overall, the manager shows very little trust on the decisions taken by the engineers.
  2. When there arises a situation that the manager wants something from an engineer, they will want it immediately i.e. within the next few hours, eod etc. The manager is aware that the engineer is working on a bunch of things but they will not show any regard for that fact. This means that the engineer has to put everything they are working on aside to produce the thing that the manager wants. The problem is that this happens very often and it results in engineers either having to overwork to get their job done or affecting quality of their work.
  3. The manager will put the engineers under extreme pressure to deliver projects on or before the deadline. This includes minor nudges in meetings, lunches, team activities etc. reminding engineers of the timeline to having 2 hour meetings to discuss where we are in terms of meeting the deadline.

I have a few questions based on the above context.

  1. How to deal with such managers?
  2. Is it sustainable long term to work for such a manager? I am considering getting to the next level in my role within the next 2 years, would it be advisable to continue working with this person?
  3. Do most managers have more trust on their directs than described in the above situations?
Show more
1.1K Views
29 Likes
5 Comments
6 months ago

How to Balance Responsibilities: Prioritizing Personal Work vs. 'Glue Work' in a New Team Environment.

Senior Software Engineer at Ex-Apple profile pic
Senior Software Engineer at Ex-Apple

Hello everyone,

As a senior engineer L5 in my company for 1 year, I recently found myself in a new team with a new direct manager but report to the same Director in the same Org due to the recent company restructure/company reorganization as part of layoff changes. My Director and I are the direct responsible individuals for the Backend Platform System for the last 1 year. However, I am finding that a significant portion of my time is being taken up by "glue work," such as onboarding new teammates, updating the Wiki, documenting On-call Runbook, mentoring cross-functional team members, providing code reviews for new developers, and unblocking people in their code development. While these tasks seem important, they are making it difficult for me to focus on my own projects.

In my first one-on-one, my new manager expressed a desire for me to take on new initiatives. I am eager to do so, but I need to be able to focus on my own work to make this possible. My manager understood that the frequent on-call support was a blocker for me and asked me to train and onboard a new teammate to take over the on-call support, as well as field requests from users and help others with their work. However, I have still found myself doing a lot of training and providing support even two weeks since my last meeting.

I would like to hear from others who have found a way to balance these responsibilities effectively. How can I prioritize my own work while still contributing to the team's success? I know this will be a difficult decision, and I'm not sure how to approach it. I'm worried that if I stop doing some of these tasks, it may impact my relationship with my manager and team.

If anyone has faced a similar challenge, I would appreciate hearing about how you approached it. Did you stop doing certain tasks and responsibilities, and if so, how did it affect your relationship with your team? Any advice would be greatly appreciated.

Thank you.

Show more
417 Views
9 Likes
4 Comments
7 months ago

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
111 Views
4 Likes
Editor's Choice
3 Comments
3 months ago

How to deal with difficult a SWE2 on his promotion to Senior Software Engineer?

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

Hello,

I am an Entry level Software Engineer( SWE 1) in my current team for a year now in a mid sized company. I have a matured tenure( 3 years ) SWE 2 in team who has been wanting to get promoted to a Senior Software Engineer for sometime now.

The situation is, in order for a chance for promotion, this SWE 2 was asked to lead a small feature implementation of 2 people where they ended up missing deadlines twice stating engineering complexity. Due to this situation, whole of the team, including Teach lead and SWE1s have swarmed in to help them meet the deadline which is almost a week from now.

The thing is, this particular SWE 2 has been calling me out in Standup and grooming meeting and in person to EM for not completing my story in time even though I am giving proper updates in standup and Tech lead hasn’t raised any concerns yet. According to this SWE2, the stories I have been working on should be completed in a particular x timeframe because he thinks so. They have not laid out any scope or plan where to make changes for it. Their argument is, unless I complete this task, the whole team is blocked because of me. They made it a point to convey it to EM along with PM. EM reached out to me in frustration and seemed content after I explained him the complexity and was able to deliver it next day morning. I had reached out to other senior engineers on team and they guided me properly to finish this task.

This particular SWE2 again called out my name again in my Tech Leads one of the PR and mentioned that other devs are blocked because of me. Tech lead gave a great suggestion to unblock others ( which he could have asked way earlier and implemented ) and others are unblocked now. When I reached out to this SWE2 asking an estimate for current story, in our 1:1 conversation he mentions go with your speed. We don’t really need your part to be unblocked. It will be a good to have. But he keeps on throwing me under the bus infront of team, EM and PM. This SWE2 lacks technical depth and keeps on checking with me everyday if I need any help. But they can’t explain anything properly and I consider it as a waste of time to even decipher their explanation because it tends to increase my confusion.

If it matters, we have our end year review next week and EM seems to think SWE2 is the one helping me (in fact not at all, can’t even explain a proper code change). This SWE 2 is one of the main reason I was given not meet expectations last time in our mid year review rating. I am scared of how much impact he has because of EM’s calling out, again on my review this year when in fact I have hardly worked with him this year. Please advise how to handle this situation.

Show more
281 Views
5 Likes
1 Comment
7 months ago

How to manage a team towards high performance?

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

I've done a lot of research on how to be a good manager, but now do I just "trust the process" or how do I ensure we are a high performance team over the next half?

I'm a newish EM at a Series-B start up of 150 people, ~25 engineers. So far I have positive feedback from my manager and reports that I am empathetic and supportive. What my manager is telling me now though is that we need to see results. Productivity and performance seem OK in my first months but it is too soon to really see my impact. My manager noted that since we have scaled up from 4 engineers to 25 and gone mostly remote over 3 years there may be a loss of a sense of urgency and the feeling of impact per dev. We are also split into many teams with a smaller scope per team.

The temptation when asked to "get results" might be to ask for constant updates from developers and punish them when fake hard deadlines are given and missed (we are a B2C company so there are rarely actual deadlines). So how do I motivate my team to work hard in a healthy sustainable way? How do I measure the progress and reward them fairly while creating a team focused culture and not one that is competitive and individualist?

Below are some of the management ideas I'm using/working towards. I have lots of room to learn how to do each better, so advice on which to prioritize my effort at improving first would be great in addition to notes on what's missing and what seems off on the list:

Individual attention

  • Working with each individual to set SMART goals for the next half
  • Working with each individual to figure out what motivates them, and do that
  • Figuring out what learning each person wants to do and giving them support there
  • Regular, timely feedback (positive and negative)
  • 1:1s where I do a lot of listening, help remove blocker
  • Shielding from outside distraction and unhelpful pressures

Team culture

  • Creating a lowercase-a agile mindset: people are first and it is ok to fail and we learn from our mistakes. We can fail gracefully by making small, quick launches where we get frequent feedback from the users, and feedback from coworkers on how we are succeeding/failing
  • Making the team effective first, efficient second: 5 wrong things done in a quarter are worse than 2 right things that move the needle
  • Setting team OKRs for the next half that the team wants to accomplish
  • Encouraging team work on tasks, pair programming, positive code review culture, etc
  • Improving the process to make it effective and fun around how the flow of work happens between planning, selecting tasks, marking things as done and tested
  • Team demos with stakeholders to show off results and get feedback

Bonus questions about motivation: In 1:1s how do you figure out what motivates someone since they might not say extrinsic things like money even if that is what they are working for, or the opposite they might be happy at their level and just like the work they do with a good work life balance but might not say that directly either. Also if there is a team of 5 where 2 want money and 3 love the work for itself, how do you tailor their experience to that? The first two will still want fun/interesting work and the second three still want to get promoted and compensated fairly.

Thanks!

Show more
546 Views
7 Likes
5 Comments
6 months ago

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
145 Views
3 Likes
2 Comments
10 months ago

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

Anonymous User at Taro Community profile pic
Anonymous User 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
34 Views
2 Likes
1 Comment
3 months ago

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
82 Views
1 Like
3 Comments
10 months ago

Fighting Perfectionism as a Software Engineer (and getting important stuff done).

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

I’ve come to realize more and more that the greatest thing holding me back by far as a software engineer has been perfectionism. By perfectionism, I mean the mental attitude that says that what I have done isn’t good enough so I need to spend more time on it, or that I’m not ready to do something. This attitude is pretty much the opposite of Meta’s “Move fast and break things”.

Here are a few of the ways that this mindset has hobbled me throughout my career:

  • University (I studied Engineering): thinking I had to read the textbook and do all the assigned questions. My GPA suffered. In reality, my time would have been better spent doing past tests/exams and forming better friendships and study groups with other students to learn what was most valuable to know. I’m speaking from both a GPA-maximizing viewpoint, but also from a long-term viewpoint in the case of better relationships with classmates.
  • Immediate Post-University: Thinking that my coding skills weren’t good enough and that I needed to do a 6-month bootcamp which I did. Hindsight is 20/20, but getting my first job and working from there would probably have been better.
  • First job: Struggling with moving fast. I was at a tiny (<10 people) start-up and they wanted speed. I struggled with the pace they wanted because of things like writing formulaic unit tests that didn’t add much value and needing to constantly walk through my code with a debugger. I do believe that this particular company had unrealistic, unhealthy expectations for a newbie, but I also believe I could have moved faster.
  • General learning: Prioritizing online courses over side projects.
  • Job Hunting: Aiming to get done 150 interview questions before applying, rather than applying and doing mock interviews from the get-go.

I believe perfectionism is particularly harmful in tech compared to other industries since things change so fast.

Maybe this is better answered by a life coach or therapist, but what are some things I can do to limit the pernicious effects of this mindset?

Show more
212 Views
2 Likes
3 Comments
10 months ago