Get enough experience and you just have a brief moment of stage 3 as you dive straight to stage 4.
Unless it's a customer/that-one-guy-at-work (it's a title, but there's usually a handful of them) and then there's this vast stage 0 of back and forth of "are you sure that's happening, run these commands and paste the entire output to me" to be sure of what they are saying then you jump to stage 3/4.
Yeah honestly who ever starts at stage 1 is a bad programmer IMO. Unless you get your bug reports from the general public, it's unlikely that someone is lying in their bug report. Being at stage 1 pretty much means you have too much confidence in your product.
Every time that last part happens I have to check the proper spelling of Berenstain. I've had some that really seem like they should have been impossible lol
I have some Excel VBA scripting that I've been on 1-4 for a while now, so there's a branch off of 4 that should be "fuck it, here's the workaround" or "that part isn't that important anyway, ignore it".
(it's actually not Excel that's the problem, it's the change to its call to IE that throws up a stupid security warning.)
One of the best pieces of advice I have ever gotten was to build diagnostics first. The time it takes to do will pay for itself 100X over the course of development.