Taro Logo
Profile picture

Interpersonal Communication Q&A and Videos

About Interpersonal Communication

Interpersonal communication is an important skill to have as a software engineer. As a software engineer, you work with a team of other software engineers to build a product or scale a system. In order to work effectively with the other members of your team, you need to be able to communicate with them so you are all aligned on the same end result.

Youngest and least experienced in team but high-potential, how to avoid the "least impactful projects" trap?

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

I am a middle backend engineer with 2 years of experience. I recently joined a very new startup(< 2 years) where my friend is my manager. He/she is a principal software engineer with 10+ years of experience. In the team, there are 2 other senior software engineers, each is 4 years older than me with 7-8 years of experience. When my friend invited me and interviewed me to join the company, he/she said that I might not be a senior yet, but he/she's sure that I will get to senior really soon because I have a habit of learning consistently.

Even though I only have 2 years of software engineering experience, I had previous 3 years of tech experience so I already know how to navigate company politics, communication, and have that business intuition. Also, in my previous company, I was the 1st backend engineer who had to build the codebase and infrastructure from scratch, so I am pretty confident that I am not a junior anymore. However, I understand that I still lack experience and knowledge on how to build clean code and how to build reliable and fault-tolerant system, and I feel like I could learn it from my manager, that's why I joined the current company.

The 1st senior engineer is pretty chill, he/she looks like he/she is not very ambitious to get impactful projects and looks like he/she's just happy to have a job to support his family. Besides, he/she joined the company 8 months earlier so I guess he/she already has some context. The 2nd senior engineer joined at the same time as me, and he/she looks pretty competitive. I feel like he/she's constantly sizing himself up against me and he/she's always making some little undermining comments such as "Are you used to code pairing? You look like you can't code", "Let me help you use a terminal", etc. Basically these comments are very subtle and masked as jokes or him trying to help me, but I sense that he/she's actually a bit intimidated by me.

My manager has a concept of "pairing", where he/she will split the team into 2 groups, and each group will work on a project for some time and then he/she will rotate it. In the 1st rotation, I was paired with the 1st senior and I did probably 70-80% of the project, but I was happy to do it because I learned a ton and my manager, during the 1-1 said that I was doing great and he/she told me he/she felt that the 1st senior is an underperformer. Despite this, I specifically let the 1st senior gave presentation of the project to the stakeholders because I felt that he/she helped me to onboard to the company so I'm ok with it.

The 2nd senior was paired with the manager and I felt that they did project that is much larger in scope and impact compared to me and the 1st senior. It means that now the 2nd senior has much more context than me. Right now I'm being paired with my manager, and the 2nd senior is paired with the 1st senior and I feel like I'm starting to get some context, but I'm just worried that when it comes time for me to get paired with the 2nd senior, he/she will hoard all the impactful projects and context and I will be stuck with really small scope. How to avoid the "rich gets richer, poor gets poorer" scheme? Thank you

Show more
229 Views
2 Comments

How to convince my engineering org to participate in large-scale migration?

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

Context:

(1) My team owns a service for which we're rolling out a new version with a big revamp of all the public interfaces and a ton of breaking changes.

(2) This is a legacy system that is being refactored to resolve some severe issues that its consumer systems have been complaining about for a long time.

(3) This service has many consumers in our org across multiple teams that depend on it for a lot of critical functionality.

(4) We need to migrate all consumers to the new service. My team cannot parallely support both the versions and the legacy system has to be deprecated before the new service deployment.

Challenges:

(1) Originally, the plan was for my team to roll out the new service and migrate all of the consumers to the new service as well.

(2) Now, we've had a huge scope expansion in the refactoring itself due to which the project timeline has extended massively.

(3) My team feels that working on such a long timeline project is risky and prone to further scope expansion if new consumers start using the old legacy system in the meanwhile.

(4) Another challenge with this is that my team has no context or understanding of all the consumer systems.

Questions:

(1) What approach can I use to now change the plan and convince the managers/tech leads of the consumer teams to own the migration of their consumers code to the new service?

(2) In general, what approach would be ideal for such a large-scale migration - Centralized migration by the service provider team vs distributed migration by all the respective consumer teams?

Show more
163 Views
1 Comment

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
302 Views
1 Comment

How to handle being on a team with slackers?

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

We are 3 people in my team. I've been at the company for 2 years roughly and my team mates for 15+ years. I'm in a situation where my coworkers do stuff, but stuff that's often completely unrelated to our backlog. One of them struggles with being motivated by the job. Occasionally, a 16-hour job takes a month to complete. Maybe 2. And you never know why or when it will be done. This causes a lot of tension with the product lead. The other teammate (focused on the front end) rarely makes any PRs. I'm not sure if it's due to the fact that they have mostly done HTML/CSS and are unsure of how to navigate the frameworks we use or what it is. Our manager tends to cover for us, but obviously he's not loving this situation. It's been like this for 1–2 years. Now it has started affecting my pay raise, and I'm starting to feel tired of always playing dumb or referring to the other great work that they're doing when asked what my teammates are up to. Both seem to be struggling somewhat with stress and anxiety, so I've tried to be compassionate with them. But what do I do? I want to take ownership of the team's performance, but it's difficult to know what to do. They have the senior roles, and they have most of the ownership of the project, so I also feel weird telling them "what to do," if that makes any sense. The company size is roughly 20 engineers, FYI.

Any advice on how to handle this situation nicely, i.e. making sure we're still friends afterward, would be highly appreciated.

Show more
174 Views
2 Comments