Taro Logo
Profile picture

Startups Career Development Videos, Forum, and Q&A

Grow Your Tech Career at Startups

A startup or start-up is a company or project undertaken by an entrepreneur to seek, develop, and validate a scalable business model.

Need guidance on my career path - Leave for FAANG?

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

I have worked at two larger companies and two small startups (currently at one). I'm quite content with my current company and role, as I have ample opportunities for growth and a great work-life balance. However, the only factor that makes me contemplate leaving my current position is that I'm earning less than some of my peers. I'm not comparing myself to the exceptionally high-earning individuals; rather, I'm looking at other senior software engineers who are making around $400K in total compensation. Currently, I'm earning around $250K. It's important to note that I recognize my experience level is relatively young compared to those with 20-30 years of experience, as I have only 6 years of experience.

I want to think about the bigger picture and position myself in the best possible way for the future. When I discuss this with some of my peers, they suggest that I should work at a FAANG company at least once to attract recruiters from better companies. While I've always been drawn to roles with high visibility and a need for velocity, I've found that at larger companies, I tend to work at a slower pace with less visibility. However, if transitioning to a FAANG role is indeed the key to opening up new career opportunities, I'm willing to consider it.

Has anyone else faced a similar dilemma in their career? I would appreciate any insights or advice from individuals who have gone through a similar experience.

Show more
109 Views
3 Comments

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
231 Views
2 Comments

How to handle negative surprise feedback?

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

I've been working as a Sr Fullstack Engineer for 2 years at a Series B startup. I've never received negative feedback, actually, I thought everything was fine until last week. My manager told me that I need to improve my Problem-Solving skills and ask better questions, she kind of implies that I'm a candidate for starting a PiP.

I agree that I struggled in the last 2 months (they switched me to a new project where I'm the only engineer and my manager only has 20% of her time for me), it's been super challenging but I'm trying to make it work. That means that I'm putting in more hours than I should frequently, and I'm starting to feel demotivated and depressed.

Honestly, this feedback took me by surprise, as no one told me anything about my performance during the last two months, I thought that even when I was struggling, they were fine with it because it's a new project and I'm basically on my own and no one is there that I can reach out to for help.

  • I have ~6 years of experience and I come from a non-traditional background.
  • Her feedback is vague, she says that I need to improve my backend skills, but she hasn't told me exactly what's lacking. "backend" is a big word.
  • My manager told me that I should think about how to get better and that is on me to come up with an improvement plan. This feels wrong to me, isn't that her job as a manager? how can I create a plan for myself when I don't know what she wants to see from me?

How can I better navigate this? Should I start looking for a new job? I like my job and it would be sad to leave.

What do you think?

thanks.

Show more
312 Views
2 Comments

What resources do you recommend to learn more about engineering management and leadership especially in a startup context?

CTO at Early-stage startup profile pic
CTO at Early-stage startup

I recently became CTO of a small early-stage startup where I'm leading all technical efforts, including by still doing some coding, but am mostly managing other engineers and focusing on the broader technical needs of the company. Previously, I was a technical lead and IC at startups where I had led small teams of other software engineers on product development, but was more in the weeds technically/coding a lot and was not responsible for people management. I'd like to learn about resources I can utilize to further develop my engineering leadership and people management skills.

What resources would you recommend to learn more about the following:

  • How to build people management skills as a first time engineering people manager? Are there open source or free trainings or resources that are good for this?
  • The latest engineering leadership topics, especially in a startup environment (e.g. how other leaders are tackling common technical and leadership challenges)
  • How to meet or connect with other engineering managers/leaders (e.g. startup CTOs, VP of engineering, or technical founders) outside my company to learn from their experiences or share lessons or knowledge with each other

Interested in any types of resources including blogs, podcasts, YouTube channels, or virtual or in-person communities or meetups (particularly in NYC) etc. I have some favorite resources so far, but it would be great to learn about what resources others in the Taro community find useful. Thanks!

Show more
301 Views
1 Comment

What do mobile testing strategies look like at top tech companies?

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

I work in as an iOS engineer. My current company is a startup that's scaling up fast. In classic startup fashion, testing was historically not a top priority here. As a consequence, we struggle with lots of manual QAing and low code confidence when modifying pieces of poorly tested legacy code.

This has improved in the past year simply by unit testing every new piece of code by default and by introducing unit tests in legacy code as we touch it, boy scouting style.

At this point, I think we need to step it up and I'm looking forward to formalising a testing strategy for our mobile team.

Here are some ideas I have:

  • In the realm of unit tests:
    • I want to introduce API contract tests because our back-end API lacks documentation. In these tests we'd unit test the way we build our requests to API endpoints, and we'd have a sample JSON response from the server to test that the app can parse it into our data models as expected.
    • I want to introduce localisation tests because our app supports many languages but we are always manually testing localisation. In these tests, we'd assert that the outputs of our formatting logic are the ones we want for different locales.
  • In the realm of user interface tests:
    • I want to introduce snapshot testing, because right now the only way we can test that our views are rendered as expected for different view configurations (for example RTL vs LTR, empty content, loading content, content in verbose languages, etc.) is manually.
    • I want to introduce UI tests (sparingly, only for key flows) because we have no e2e tests. Currently, key flows are tested manually and frequently to prevent regressions, which takes lots of time.

What other testing strategies can I propose to establish some standard we can use to further improve our code confidence, reduce bugs, and rely more on automated testing?

How do the top tier tech companies approach mobile testing?

Show more
1.5K Views
4 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

What makes a staff engineer from a technical perspective?

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

I have about 5 YOE and trying to grow from Senior -> Staff engineer but noticing that the path is taking longer than I'd hope.

This is the case whether I try to speak to other companies and ask about interviewing at that level or try to grow within my own company.

Within my own company: Requirements unclear, seems to be more time based (just keep on shipping). Since we're on the smaller side, we don't have a clearly defined structure like FAANG.

Externally: Due to the YOE, usually discussion of Staff isn't even an option even though I think I'm doing Staff level work. In fact, they usually decline the idea before even having a chance to explain what I'm working on.

The projects I'm working on span the entire org (startup), I have multiple mentees, and org-wide impact. I will be honest and say that I don't think the projects I work on are necessarily insanely technically complex (not going out to millions of users, dealing with hyper concurrency issues, or needing to deal with large scalability issues), but they do have a large amount of scope and senior+ level management required to run them.

I think from the project management perspective, I have things nailed down pretty well.

So I wonder if I'm either missing...

  • YOE - Just some sort of arbitrary minimum that is being placed across the board for certain levels to be achieved
  • Technical expertise - I definitely admit that I'm not necessarily INSANELY technical. For example, I can admit gaps like: I don't know how to design a concurrent document editing system like Google docs, or I wouldn't be able to write a live streaming service without reading up on the proper documentation and understanding better how those systems work. Are things like this a requirement to be a staff engineer? To just be more aware or know right away how various systems like this are designed, without needing to do research beforehand?

I'm essentially trying to understand what my gaps might be, and the technical aspect is one I'm unsure about how relevant it is.

Would appreciate any thoughts, especially from Staff+ engineers, maybe sharing what they feel makes them a Staff vs a Senior and how much technical skills play a role vs other elements.

Show more
2.9K Views
3 Comments