11

How to know your technical strength as a Software Engineer?

Profile picture
Mid-Level Software Engineer at Taro Community2 months ago

I am a software Engineer with 9 years of experience. I started my career as a front-end engineer (worked on Ember.js) and did some Ruby on Rails. Later, I worked on technologies like Node.js, Ruby on Rails, Elixir Phoenix, CI/CD work, and React. In this period, I worked on many technologies but today when I ask myself I feel like I don't know any of these technologies perfectly because I've continuously hopped onto different technologies.

For example, 2 years back I worked on Rails and last year I worked on Elixir. This year I worked on React design systems with a Node.js backend (without touching Elixir or Rails).

Now, when I see any job description about Elixir or Ruby on Rails I don't have the confidence to apply to these jobs as I don't remember much about these technologies (even though I had worked on good tasks with that technology earlier).

I feel like I am good at nothing. I don't know my niche. How can I know my strength?

265
3

Discussion

(3 comments)
  • 14
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    2 months ago

    This is a good philosophical question. Before I dive into my answer to it, I want to respond to this:

    Now, when I see any job description about Elixir or Ruby on Rails I don't have the confidence to apply to these jobs as I don't remember much about these technologies (even though I had worked on good tasks with that technology earlier).

    Just apply! Tech companies are hoping that candidates will filter themselves out and not even give themselves a chance - Don't let them do that to you. Polish up your resume, and if you see a job where you meet 70%+ of the requirements, give it a shot.

    Here's a great thread about this: "How can I apply a job that I don't have enough experience for?"

    Another angle to remember is that interviewing is a data-driven exercise. Apply to 100 Elixir/Rails positions and see how many chances you get. If it's 1 or 0, you know that your portfolio isn't strong enough.

    However, if it's 3+, you have legs here. At this point, it's a numbers game, and if you make your funnel big enough, you will eventually get a role.

  • 14
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    2 months ago

    I feel like I am good at nothing. I don't know my niche. How can I know my strength?

    My answer here has 2 parts.

    Figuring Our Your Strength

    At the end of the day, there is no such thing as an objective measure for how good you are at Python, how good you are at front-end web development, or any other tech stack. This is because code quality varies a ton based on context, particularly which company you work for.

    That being said, here are some signs that you're legitimately strong in a certain technical area:

    1. Peers come to you with questions about it, and you provide great answers
    2. You have shipped high-quality software at scale using that technology (1 million+ users, high NPS scores, low crash rate, positive user reviews)
    3. You are a core code reviewer for that area on your team
    4. Your own pull requests get good feedback and are accepted quickly
    5. You are a public thought leader in that space (open-source contributor, conference speaker, company engineering blog writer)

    Discovering Your Niche

    So 9 years is a long time, but it also means that you have a lot of time ahead of you (successful tech careers are usually 20+ years long). Your career is a marathon, not a sprint, and you can't change the past. Even if you don't have a strong specialization now, I wouldn't worry about it. Just focus on fixing that problem, and you have Taro on your side to help you!

    When it comes to career success, you need to go into a field that satisfies 2 core criteria:

    1. You enjoy it
    2. You're good at it

    If #1 is true, #2 will generally come (though I have seen weird scenarios where #1 is true and #2 isn't alongside #2 being true and #1 isn't).

    Because of this, I recommend doing some retrospection and looking back on your past. Among the many tech stacks you have worked with, what genuinely felt fun? Did working on anything ever put a smile on your face? If so, which project was it?

    If the introspection isn't enough, you can also just try stuff. Go build things! For me, I'm a huge fan of using side projects to discover what you love working with and what you don't.

    Once you find an area where working within it doesn't really feel like work, double down on it and good things will come. Android development has never really felt like work to me, which is why I've been doing it for 10+ years and found a ton of career success with it.

    Good luck!

    • 1
      Profile picture
      Mid-Level Software Engineer [OP]
      Taro Community
      2 months ago

      Thanks a lot Alex for the detailed answer/suggestion.