5 YOE but have only done web app development. How should I learn more?

New
leand122

New

leand122
Feb 23 5 Comments

I’ve been working as a frontend / full stack developer for 5+ years. So far all I have done is pretty much just feature development and bug fixes at 2 small companies <70, and I have never been involved in technical architecture stuff.
I hove no experience with things that system design courses teach you, therefore I was wondering how I should learn it myself? Is going through grokking enough for me?

All I know is just about how to develop features with JS/React/Node and I started to realize how uneducated I was after having some interviews.
How should I break from this environment? Thanks.

comments

Want to comment? LOG IN or SIGN UP
TOP 5 Comments
  • New
    kNUJ50

    New

    kNUJ50
    I would bot underestimate your skills and assume people who work at amazon, msft et al have vastly more experience.

    Were your startups all monolithic backends? They didnt have micro-services, data pipelines, sharded dbs, and various apps, products, and apis?
    Feb 23 3
    • New
      leand122

      New

      leand122
      OP
      Yes we had micro services architecture but not everyone was involved. Mostly senior backend devs and certain people who were in the team, and I was a UI dev there so wasn’t required to dive into it. not sure about sharding but there was also an devops team so maybe they’re handling those.
      So I really dont have any overall system design experience unfortunately.
      Feb 23
    • New
      kNUJ50

      New

      kNUJ50
      That's unfortunate they had you siloed like that. If you still work there, I'd suggest digging into your infrastructure a bit. I still think you deserve more credit than you are giving yourself. You must've built front-ends that had to communicate with various services (like an identity/auth service in addition to various internal APIs.).

      Grokking will help but I think sometimes it focuses on the wrong or somewhat superficial things. I would suggest also getting your head around a couple practical things that often come up, in addition to the grokkking exercies.

      1. NoSQL vs Sql in a 'systems design' context. Grokking talks about this a lot.

      2. Relational db schemas. This comes up sometimes and is not quick to learn. Start small with something like a multi-user todo list app. Consider how many tables your queries might require and how what cols you need to index. This is not a big leap from having good Object Oriented intuition.

      3. Async job queues and messaging services...how they can connect systems together via 'workers' that pull jobs off of them. Also, how you can manage retries, recovery from outages (ie 'replay' failed jobs), and maybe monitor the depth of these job queues.

      4. API design and what the requests actually look like as they go from service to service, but you probably have good intution here.
      Feb 23
  • Pigeonholed. It's one of the reasons jumping around isn't a bad idea.
    Feb 23 0