I've been employed to work/develop on C++ projects since 2004, at a handful of different companies.
(Yes, I'm still working, and have far surpassed "FI", but yet to have pulled the trigger on "RE", so I guess you could consider me an "ERE Failure".)
With regard to "Puzzle Solving" -- Many many times throughout my career, I've encountered problems that were difficult to solve -- and I've frequently questioned my own abilities (imposter syndrome?). Often I thought of quitting jobs or changing careers based on being frustrated that I could not solve these "puzzles" as fast as project managers would want me to.
Over time (and possibly, due to reaching "FI"), I've learned to "chill out" about it. I've realized that there are a few different kinds of "puzzles".
Sometimes these "puzzles" are because you need to learn something new -- some new technology, some new API, or learn that I'm doing something wrong. These are the "good" kind of puzzles.
The more insidious type of "puzzles" are the ones that are created by co-workers. Sometimes the software is just poorly designed. Sometimes changes are made to the software by other developers who don't have a full understanding of the ramification of their changes. They might fix their most immediate-issue at hand, but end up causing a lot more other problems that they haven't even considered. The fall-out from this may not be realized until much later, and someone else usually has to clean up the mess. This can be exponentially magnified if project management isn't understanding of these facts, and try to crack-the-whip to get you to complete projects faster.
In recent time, I consider myself to be incredibly fortunate to find an environment where I work on a software project with other highly-experienced developers. We are able to rapidly churn out high-quality changes to our app. We have amazing management that is understanding to when the devs need to take a "step back" to clean something up (within reason.) It helps that the project we work on (a mobile game with in-app-purchases) has been incredibly successful and profitable to the company. Had I not found a job like this recently, I'd like to think I would have almost certainly pulled the proverbial rip-cord on my FIRE parachute.
My advice to the OP is to try to identify what category of "puzzles" that s/he is struggling with. If the "puzzles" are of the "need to learn" variety -- and you don't like it -- then perhaps consider a career change. If the "puzzles" are of the latter variety, then try to find a different team to work on, or different company
