I know you asked for tools and techs, but I'd put self care and how not to burn out. Nobody actually teaches you this, and the assumption that you'll just push through/work like a demon/code till your eyeballs fall out is still way too present in the industry. Don't lose your mind, I've done it once or twice and it'll hold your progress back.
In terms of tech - how to isolate root causes. Extracting the smallest piece of code that reproduces the issue you're trying to solve will save you tons of time. Unit testing will definitely get you most of the way there.
I'd also add that it's way less about the tech stack of the day than the principles that lie beneath them. SOLID/DRY principles, MV*, abstraction, source control skills, debugging, caching and being able to decompose the problem will serve you longer than any particular stack will. For example, because I'd encountered MV* stacks in other languages, I was able to pick up Laravel in next to no time this year - got an app up and running in hours. I fully expect that when I pick up my next unknown framework (probably some iOS dev) it'll be the same, because I understand the patterns and principles at play.
I know you asked for tools and techs, but I'd put self care and how not to burn out. Nobody actually teaches you this, and the assumption that you'll just push through/work like a demon/code till your eyeballs fall out is still way too present in the industry. Don't lose your mind, I've done it once or twice and it'll hold your progress back.
Well said! I burned out once too and it isn't pretty.
I know you asked for tools and techs, but I'd put self care and how not to burn out. Nobody actually teaches you this, and the assumption that you'll just push through/work like a demon/code till your eyeballs fall out is still way too present in the industry. Don't lose your mind, I've done it once or twice and it'll hold your progress back.
In terms of tech - how to isolate root causes. Extracting the smallest piece of code that reproduces the issue you're trying to solve will save you tons of time. Unit testing will definitely get you most of the way there.
@rhymes hits paydirt below too.
I'd also add that it's way less about the tech stack of the day than the principles that lie beneath them. SOLID/DRY principles, MV*, abstraction, source control skills, debugging, caching and being able to decompose the problem will serve you longer than any particular stack will. For example, because I'd encountered MV* stacks in other languages, I was able to pick up Laravel in next to no time this year - got an app up and running in hours. I fully expect that when I pick up my next unknown framework (probably some iOS dev) it'll be the same, because I understand the patterns and principles at play.
Well said! I burned out once too and it isn't pretty.
Yeah it totally sucks. I just got inspired to write a post about it. There are things we can do to prevent it and work with it!