Take breaks
When I’m struggling to solve a problem, I can get pretty wrapped up in it. Historically, it’s not been uncommon for me to spend several hours, stubbornly grinding through some annoying code issue I’m running into. More often than not, the moment I decide to take some kind of break, I come up with a new approach or the solution outright.
Keep an open mind
Being for or against some technology or approach under all circumstances is very rarely a thoughtful position. Pattern matching can help you move quickly but working from first principles or the baseline requirements needs to be in your wheelhouse as well.