Have you discovered any unconventional or out-of-the-box techniques that have significantly enhanced your problem-solving skills as a coder? Like G...
For further actions, you may consider blocking this person and/or reporting abuse
Rubber Duck Debugging
This technique involves explaining your code or the problem you're facing to an inanimate object (like a rubber duck). The act of verbalizing the issue often helps me gain new insights and find solutions.
I do a version of this with an actual thinking human being: My wife.
Usually when I talk about work (the programming side) her gloss over and I hear her version of "yes dear, very interesting." However, if I can frame the issue as "I'm stumped having a problem with X, this is whats going on (in as much non-technical terms as is appropriate) and this is what I've tried." or "... these are some of the options I have." She usually comes up with something worthwhile to try. Not having the background her mind is free to come up with stuff I might have missed or discounted subconsciously. Even if its something I might have discounted for one reason, her reasoning may bring it back into the options.
It's a case of different perspectives.
Similarly I liked to bring my programming conundrums to our Database Architect, and Visa-versa. Our different perspectives on how to tackle problems helped us to see things differently and get out of our mind-ruts.
self reply time...
Also never forget that behind most technical problems (in business) there is a people problem that can be solved instead or at least reduce the complexity of the technical problem.
Example: OCR on that faxed in purchase order? Nay good sir, try just letting the sender know of your Email Address to send the document so they don't print & fax while complaining about your outdated system. :D
occam's razor - "the simplest explanation is preferable to one that is more complex"
Most problems have simple solutions. Its easy for engineers to build complex solutions for simple problems. Its hard to break a complex problem down to simpler ones.
Ultimately if you feel like your solving a "complex" problem, make sure you can't just make it simpler.
This principle can be applied to debugging as well.
Writing tests (quite unconventional in UI development 😅). Helps to find problems/bugs even when it's not intentional.
Specifically I found writing component tests with Cypress very satisfying and productive lately.
One of my favorite ones: Make the change easy, then make the change.
If the change isn't easy to make, ask why? Refactor (with tests) to make the change easier to make. Then go ahead and make the change you're after.
I do LeetCode every now and then. Just to not loose the grasp.
Also, I haven't tried it, but I think working on an open source project also helps to improve your exposure to the different kind of problems.
I read about how engineers from different backgrounds solved similar problems. Such as C++, Rust, Python. I watch their conference videos and read articles. With different tools (and being expert in those tools), people approach same problem differently.
I'm trying to unravel a mess in the world of coding, and try to see it from the abstract side of art. While everyone was chanting "The Art of Clean Code" in the dark alleys, I ventured farther into the Mariana Trench to find the glow that strange creatures on the dark seabed produce as "Strange Beauty" and turn it into eccentric and innovative solutions that redefine what it means to be "Organized Chaos".
And I'm writing a book which of course you know what it's going to be called...
May be it's way unconventional, but when the problem is really interesting, I print the question, quit from screen and start coding on paper.
Keep things simple as possible... So you get much less things to solve!
Attempting practice questions on LeetCode and Codedamn.
Refer Problem solving 101 book , that can be good start to problem solving
that book offer a different tool kit to problem-solving ,