27

Brain Training (For General Problem-Solving Skills)

Profile picture
Software Engineering Intern at Taro Community4 months ago

Hi everyone! I've been struggling with problem-solving, not just in coding challenges like LeetCode, but also in day-to-day activities such as figuring out new places, playing chess, or solving puzzles in escape rooms.

People often say that to get better at something, you just need to do it more. For example, solve more coding problems to improve in LeetCode, or travel more to get better at finding your way. But I'm wondering if there's a simpler, overall way to boost problem-solving skills that applies to various situations. Are there any general brain exercises or techniques that could help make problem-solving easier across the board? It feels a little disheartening to constantly see other people being smarter than me when learning new things or navigating things on the fly.

This question might seem a bit broad for a software engineering group, but I'd really value any advice or tips you could share. Thanks a lot!

810
4

Discussion

(4 comments)
  • 18
    Profile picture
    Sr. Software Engineer at LinkedIn
    4 months ago

    I have been there, and I can assure you that it might be a good thing to feel "other people being smarter than me". That means there is a growth opportunity, and you have the right amount of motivation fuel to improve. With some practice, you would be far ahead of those "other people".

    When I had "not good" problem-solving skills and felt "not smart", I tried some challenges on Brilliant. They were fun and required good amount of logic + problem solving. I was on free tier and used to do the daily challenges. For some reason, now I am not able to see the daily challenges, but a quick Google search landed me here and I can see the free challenges.

    At the same time, I kept up with Leetcode. Doing 2 problems a day, mostly easy ones. But I used to spend a good amount of time thinking of the solution. A few recommendations from my side:

    1. Improving problem solving takes time and it's difficult to quantify the improvement, specially by yourself.
    2. Spend more time on problems. If you are not able to solve, sometimes take rest, play games and the mind may automatically try to solve the problem in the background. Many times, it works and the solution "clicks".
    3. A big factor in improving problem solving skills is consistent practice + rest + fun. This is what works best for the mind to be able to develop the mental models.
    4. In 2-3 months, there would be a significant improvement in the problem-solving skills if you stay consistent. If you also face imposter syndrome, you might feel you haven't improved at all, but you definitely have.
    5. For coding, try giving mock interviews. Problem solving is one thing but problem solving under pressure is another. It will make you a bit more habitual so that when the skills are really needed, you can pull it off.
    6. I would recommend this highly rated course on Coursera: Learning How to Learn: Powerful mental tools to help you master tough subjects. Initially I used to think the more I study, the better. This course taught me otherwise. It helped me optimize the studies for greater results.

    I hope it helps. Happy to answer any follow-ups.

  • 6
    Profile picture
    Senior Software Engineer at Unemployed
    4 months ago

    One of the best intellectual (brain training) learning experiences I have had so far is studying:

    • Aristotelian logic.
    • Philosophy (Objectivism).

    Reading Aristotelian logic is one of the best learning experiences:

    • Principles of Aristotelian logic.
    • Deduction process (syllogisms).
    • Logic fallacies.

    Also, you can relate that with modern logic theorists, like symbolic logic (related to discrete mathematics, I remember that there were some programming languages that uses this kind of logic).

    For philosophy, my suggestion is not be dogmatic with a philosopher or a philosophical theory (it happens).

    For brain training purposes, the Introduction to Objectivist Epistemology book, from Ayn Rand. This is like the upgraded version of Aristoteles philosophy. Goes more beyond: how we humans actually know that we know, and even if what we know really is true and how could we know it (Metacognition).

    My personal recommendation is: if you have not studying philosophy, start with Greeks, their influence on Western history is among the most important in the world.

    Here are some links you may find interesting:

    I hope this helps!

  • 5
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    4 months ago

    ...but also in day-to-day activities such as figuring out new places, playing chess, or solving puzzles in escape rooms.

    These are all great ideas to keep your brain healthy and stay mentally engaged - You should try these!

    To get better at engineering problem solving though, I highly recommend building side projects! If you can build a legit side project as an intern, you'll be so, so far ahead of everyone else. I built several successful side projects in college (one of them has 500,000+ users now), and you can too! I shared my process behind side projects here (check out the related resources in the description too): [Case Study] Building An App With 1,000,000+ Users To Get Into Facebook

    When building side projects, I also recommend following the advice here: [Course] Level Up Your Code Quality As A Software Engineer

  • 4
    Profile picture
    Eng @ Taro
    4 months ago

    It feels a little disheartening to constantly see other people being smarter than me when learning new things or navigating things on the fly.

    I can totally understand how this can feel bad because you are judging the rest of your trajectory based on this one piece of information. But, you don't know what kind of prior experience someone else might have that could have given them a leg up on that thing in that one moment.

    It's more fruitful to focus on where you are at now and how you can improve that situation. Think more about how you can refine your process of how to get better at something.