Taro Logo
32

Balancing learning as a software engineer - How to do it?

Profile picture
Anonymous User at Taro Community7 months ago

How can I effectively prioritize my learning as a software engineer in the early stages of my career? I often find myself shifting focus between different technologies and resources online, making it challenging to stay on track and not get overwhelmed. For instance, one day I may work on an Android project, but the next day, I get engrossed in reading a different blog, causing my focus to shift again. Any tips to maintain focus and manage the abundance of online resources to become a proficient software engineer?

1K
2

Discussion

(2 comments)
  • 22
    Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    7 months ago
    • Define what "completion" looks like for your project. So for the Android app, make clear to yourself (write it down!) what minimum functionality you want to build, and then stick to it.
    • Find an accountability partner, a friend or colleague who you talk to daily/weekly to ensure you're making progress.
    • When you first wake up, spend 30 min doing the work you most care about. Don't get distracted by blogs, social media, or email. Treat this as sacred time.

    I'm sure there are lots of other great tips! Would love to hear from others. Here's the top 10 playlist for productivity: https://www.jointaro.com/playlist/5WA87nbbYJWLnQ60D826/

  • 24
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    7 months ago

    When you start off your software engineering journey, it's all about focus. Pick 1 tech stack and get extremely good at it like we talk about in-depth here: This Is How Software Engineers Should Initially Learn

    I know it's hard to believe (the above video covers this more in-depth), but every tech stack is effectively the same. Of course, there will be tons of variation in syntax and technical design, but every tech stack draws upon a similar group of core concepts like:

    • Modularization
    • Control blocks
    • Data flow

    When you stick with 1 tech stack for a long time (at least 2-4 years), you're going to really understand these fundamentals. After you accomplish this, you'll be able to copy-paste that mental framework into every other tech stack and learn it 5-10x faster than your first one.

    That being said, it's not like you only need to do that 1 tech stack that you picked - It just has to take the clear majority of your time. In your Android situation, you can totally read blog posts, watch videos, and do more outside of coding Android. The important thing is to not spend too much time on these outside technical activities and get sucked into fake-learning rabbit holes as I talk about here: "How to avoid going down the rabbit holes when learning new things?"

    So if your goal is to get super good at Android development, consistently spend 4+ hours a day hacking on Android apps. Try to ship a new feature every week after you find an app idea and launch it as I describe here: "Finding a mobile app idea - How to do it?"