Problem Solving

Tell your non-tech friend a story about a time you were blocked on a simple problem:

This is a difficult blog to write because my mind is blank right now… I’ve fallen behind with Sprint 4 after dealing with a really terrible headache most of the week. And then the Kata exercises gave me a new wave of (albeit, different) headaches. So I just did what I could to finish because I really need to start on Sprint 5 now.

I guess a simple problem is when I knew I needed to use a particular method to solve a challenge, but I had no idea how it would fit into it. I did some pseudocoding, which is just making notes in plain English about what needs to be done step by step, then some Googling. I felt a little frustrated because I already knew what I needed to do, but just didn’t know the “how”. I learnt that looking at the same problem for a long period of time doesn’t really help at all. It’s better to just move on and then come back when my brain feels clearer. And my brain is the clearest in the morning.

Tell your non-tech friend a story about a time you elegantly solved a problem.

Never? I’m kidding. The first half of Sprint-4 felt pretty easy, but all I can think of now is how difficult all the last few Kata challenges were. I used every problem-solving method I could think of, including checking the answers, and often that wasn’t even helpful at all. It gives you the solution, but not really the thinking behind how to get there, which is what I really want. I think the combination of googling, searching Discord for answers, and then reaching out to more experienced friends were helpful in the end. But I feel like I really need to go through those Katas again.

Reflect on how confident you feel using each of these problem-solving techniques/processes:

• Pseudocode - The practice feels very natural in some situations, but less so in others. I definitely need to do this more.

• Trying something - I’m still not that confident with trying things, especially things I don’t really understand. I should work on this.

• Rubber ducky method - I definitely need to do this more! It doesn’t come very naturally, but I think the few times that I spoke out loud about the challenge really helped to simplify it.

• Reading error messages - I definitely do this, and it is very helpful when the messages are easy to understand.

• Console.logging - I don’t do this enough, and sometimes I’m confused as to which part of the code I should be logging…Definitely need to make a habit of doing this more often.

• Googling - This is my go-to help. Not that it’s necessarily helpful, but it feels a lot less intimidating than asking real people for help. I know Google is never going to judge me or be annoyed at me. I also youtube a lot.

• Asking your peers for help - I do this quite a bit, but I’m always aware that I might be taking up other people’s valuable time. I look through Discord for existing help requests a lot, but the replies and suggested solutions are often difficult to understand.

• Asking coaches for help - I don’t do this enough. It still feels a little intimidating. I feel like my questions are often so rudimentary that it’s embarrassing to ask professionals for help. Falling behind makes this gap even worse. I need to work on this.

• Improving your process with reflection - This is definitely important. But having the time to do so in a timely manner has been a struggle.