../blog/problem-solving

Problem Solving

Problem Solving a Simple Issue - My Process
What was the problem?
What wasn't the problem! Honestly. Picking up the material was hard, learning and remembering was hard. Everything was so so foreign. At first I honestly was so scared about learning that I became resistant to actually learning anything.
What problem solving techniques did you use?
I knew that I was the reason I was finding everything so difficult. I had built up this imaginary barrier, and it took me a really long time to metaphorically tear it down with encouragement to myself from myself, and just reading through material and reading it out loud to try and put words to thought.
How did you feel throughout the process?
Pretty scared and annoyed with myself. I think this was the most frustrating sprint so far in terms of learning from scratch. I found learning a brand new language with little to no understanding of it beforehand to be really difficult. I had encountered JS somewhat in the past, but thought that somehow my encounters with it wouldn't matter because I would be taught it in a way which would help me understand it. In a way, that is true. But the material came from this sprint and also from the internet. I felt pretty frustrated and very hesistant to really push myself back into it.
What did you learn?
I learned a fair bit more than I thought I would. What I am telling myself is that I now understand the whole flow of JS a lot more than I did when I started, which comforts me a little. Resources can be found online, and that's also what I think about when I get a little sad that I can't retain all of this newfound information on my own.

Reflecting:
  • Psuedocode:
    Notation resembling a simplified programming language. This made sense to me, since it was like mathematics, like reading an equation off a page. I'm alright with using this for problem solving.
  • Trying Something:
    This was the main problem solver I used. If something didn't work, rewrite bits of it and try again. I did hundreds of attempts on some of the provided exercises before finding something that even remotely worked. When I made real progress, I felt like I really had accomplished something.
  • Rubber Ducky Method
    A kind of de-bugging method, referencing the book The Pragmatic Programmer.> I never actually used this myself with the actual rubber duck method in mind. However, I did read code aloud about 60 per cent of the time to understand it myself.
  • Console.Logging:
    In some of the Eloquent Javascript exercises, I would use console.logging to try a whole bunch of different lines of code to see what outcome I could get. I guess this helped a fair bit in the problem solving aspect.
  • Googling
    Google definitely saved me more than once. Would 6/5 recommend.
  • Asking your peers/coaches for help:
    Even though I absolutely feel comfortable coming to my peers and tutors for help, I felt like this sprint was a personal challenge, and so I tried to solve every problem on my own. Just to see if I was able, not because of any other reason (I don't think). I think it was mainly a personal goal to try and make progress using my own brain and the resources provided to me.
  • Improving your process with reflection:
    I feel like these reflections have helped me review my process, see what worked and what didn't work. I do enjoy these check-ins, since it does clear a lot off of my mind and make me think about my progress, when I otherwise might not.