Frustration is part of an engineer’s day-to-day life. It feeds nothing, but it’s still there. Solving problems becomes a daily habit. Thinking from all different edge cases is like second nature.
I’m constantly in all of these states. I get frustrated, learn new skills to solve problems, then arrive to the solution.
When I get stuck I put my programmer ego aside and ask for help. Nothing wrong with that. I might have been working in the problem for so long that my view has been narrowed and need fresh perspectives.
That’s when the new frustration cycle kicks in; when the next problem comes.