Progress Blog

Please feel free to navigate through my website below.

- Problem solving

I've been working through some JavaScript problems and this has helped me to try different methods of problem solving. I especially used this when working with objects. At points I was struggling to understand what the exercise was trying to get me to accomplish. In the past I always use the trial and error method. On this occasian I tried the rubber duck method and tried to explain the problem in simple terms to figure out where I was going wrong. This process worked well for me as I reread the requirements and found the solution quickly. Being able to explain what I'm trying to do in simple terms will be helpful in the future for more complex tasks and to break them down into smaller steps.

While completing the fizzbuzz challenge I found a way of completing this in only a few lines of code. When having to extend this from simply a number as the argument to an array, I was able to simply copy most of the code and make small adjustments to complete the exercise. I found this straight forward and didn't learn anything, it was good for my confidence however.

Problem solving techniques

  1. Pseudocode - I've been trying to improve on this. I like commenting about different sections of code but this is easier with import/export of different files. It's a great tool in breaking down large tasks into smaller ones. I'm hoping to improve greatly at this.
  2. Trying something - I do this all the time. I feel like I throw many darts at the board in the hope that something hits (especially with CSS). I'm confident in this technique.
  3. Rubber duck - I've only just started using this but it incredibly helpful. Being able to explain things in simple terms allows me to figure out what I need to implement and what I should google.
  4. Reading error messages - I've practiced this a lot, I'm confident that I can understand most of them and deduce why my code isn't working.
  5. Console.logging - I do this all the time. It's a great tool to ensure that I can confirm what the code is doing. Great for debugging when code has errors or isn't working as expected.
  6. Googling - I'm trying to improve in this area. ChatGPT comes under this now as well which is a great tool for finding errors in my code. I am trying to be more specific in the questions I google to find specific answers quicker.
  7. Asking peers - I need to improve in this area. At the moment the content isn't at a difficulty that I need this tool but coming into bootcamp I'll likely need to start relying on this
  8. Asking coaches - Same as above. I should ask them about strategies and areas that I want to research more and specialise in.
  9. Improving my own process - I'm slowly getting better at breaking down problems into smaller steps using the techniques above. As I get further down my learning journey I'll have to rely more on peers and coaches to help me through.

I was once reluctant to ask for help when I was stuck on a problem that I was sure had an easy solve. I was trying to setup a React project and store my private keys an a .env file. When I tried to access these using process.env.private_key it wouldn't have access. I spent a couple of days trying to debug this before I asked a friend. I then managed to solve the issue within 10 minutes of asking him. Next time I'll try ask for help sooner rather than being defeated for multiple days.