12

What are the skills needed to become a good software engineer in any tech domain?

Profile picture
Anonymous User at Taro Communitya year ago

What skills are essential for becoming a proficient software engineer which helps them to thrive in any tech domain and adapt to various situations?

Could you provide a list of items that one should be mindful of to excel in real-time scenarios? For instance, focusing on learning front-end and back-end development, knowing basics of web something like that.

1.3K
2

Discussion

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

    What skills are essential for becoming a proficient software engineer which helps them to thrive in any tech domain and adapt to various situations?

    Here's my Top 3:

    1. Raw learning ability (learn how to learn)
    2. Communication
    3. Effective time management and prioritization

    We talk more about this in-depth across the following resources which I highly recommend:

    Could you provide a list of items that one should be mindful of to excel in real-time scenarios? For instance, focusing on learning front-end and back-end development, knowing basics of web something like that.

    I'm a bit confused by the question as the skills necessary to excel in real-time scenarios are more fundamental and less connected to the technology. When it comes to the technology though, the optimal path is to find one thing you like and go deep on it as Jonathan mentioned.

    When it comes to thinking on your feet, there's really no replacement for just putting yourself in situations where it's required. Here's the 2 that stand out to me:

    A lot of more junior engineers and even mid-level engineers will shy away from these 2 things, and it really holds back their career growth. If you can become comfortable jumping into this chaos early, you will set up your career for massive success!

  • 11
    Profile picture
    Android Engineer @ Robinhood
    a year ago

    tl;dr pick any language/framework/platform and stick with it. The skills will naturally come as you get more experienced.

    If you're at the phase of your career where the one of the main questions you have is what tech-stack/framework to use, the general & narrow advice I'd give is to focus on any 1 tech stack. Learning how a framework works takes a lot of cognitive overhead (and the domain knowledge is generally isolated to that framework) and learning multiple new frameworks means that you're incurring this overhead multiple times. Repeatedly operating in the same framework allows you to eventually thinking less about the how the framework works and think more about the nature/quality of your code and why the framework is designed the way it is. Once you have a strong baseline of writing code in that framework, you're able to leverage that as baseline for understanding how other frameworks, tools, language works. As you grow more experienced, you can find yourself building soft skills around this baseline since your understanding of the framework serve as a baseline for how you communicate technical details in an abstracted manner (for non-technical stakeholders).

    Hope this helps!