DEV Community

Cover image for Got Any Unconventional Hacks to Boost Problem-Solving Skills?

Got Any Unconventional Hacks to Boost Problem-Solving Skills?

dev.to staff on July 20, 2023

Have you discovered any unconventional or out-of-the-box techniques that have significantly enhanced your problem-solving skills as a coder? Like G...
Collapse
 
ibrahimraimi profile image
Ibrahim Raimi

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.

Collapse
 
ryencode profile image
Ryan Brown

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.

Collapse
 
ryencode profile image
Ryan Brown

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

Collapse
 
bradtaniguchi profile image
Brad

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.

Collapse
 
fyodorio profile image
Fyodor

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.

Collapse
 
inovak profile image
Ivan Novak

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.

Collapse
 
irinabert profile image
Irinabert

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.

Collapse
 
ashgkwd profile image
Ash Gaikwad

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.

Collapse
 
darkterminal profile image
Imam Ali Mustofa

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...

Collapse
 
rafaftahsin profile image
Rafaf Tahsin

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.

Collapse
 
efpage profile image
Eckehard

Keep things simple as possible... So you get much less things to solve!

Collapse
 
chantal profile image
Chantal

Attempting practice questions on LeetCode and Codedamn.

Collapse
 
arvindhs1212 profile image
Arvindh • Edited

Refer Problem solving 101 book , that can be good start to problem solving
that book offer a different tool kit to problem-solving ,