When I first started learning JavaScript in all of Sprint 3, I came across a problem that I knew was simple and that others were flying through. It was the Loops exercise in the JavaScript Introduction. I was just getting my head around loops and I couldn't for the life of me get it to count down backwards. I first did what I usually do which was Google and Try, so I repeatedly entered different commands but could not quite get it. Part of it was perhaps not knowing the name of the methods/commands or the best one to use. I was definitely in my uncomfortable learning space, where everything was new and I had the negative self-talk in my ear about not being able to get it; will I ever get it. Because I knew it was simple, I held back from asking my peers for help on Discord in the fear that it would validate that negative self-talk. After continued searching I finally got the solution, but I realised how much time and energy I had wasted by agonising over it instead of just reaching out. I know that from now, if my typical methods are not working or efficient enough, I need to be brave enough to try something else like asking someone.
As I incrementally learn and develop my JavaScript skill set, I have been somewhat more comfortable in Sprint 4. This time, instead of looking at the end and seeing a huge, scary, obstacle, breaking it down by pseudocoding and really trying to understand it one step, variable and function at a time has helped immensely. In a purely novice sense, I felt that I elegantly solved the Manipulating JS Objects exercise on repl.it. I was confident in how to break down the problem, research solutions and test them. Thus, a combination of Googling, trying code and reading error messages allowed me to proceed through this one without feeling overwhelmed or inadequate, and dare I say it, proud of myself.
| Pseudocode: | 4/5 | This method is proving to be very helpful in allowing me to break down a problem into smaller, easier to see steps. There is room for improvement as I still need figure out the best steps and sometimes go back and amend them, but I am confident using it. |
| Trying something: | 4/5 | This is my go-to method. Just trial and error until it works! Perhaps not the most efficient way though, as unless I'm on the right path it can take a very long time. |
| Rubber ducky method: | 3/5 | I haven't put this one to use yet, but I think could implement it when the time is right. Perhaps will be most useful when creating or developing something where I'm not clear on the end goal. |
| Reading error messages: | 3/5 | I like this method because it's instant, and I can see what part of the code isn't working and also a complex reason why. I still require some experience to decipher them, however. |
| Console.logging: | 4/5 | I have been trying to console.log frequently, and check if I am on the right track for particular lengthy or complicated problems. It helps to confirm that my function is behaving as expected. |
| Googling: | 5/5 | Love this method; helps me to see example solutions and alternative ways to achieve the same result. This is usually combined with my trial and error technique. At the very least, it can help with definitions and explanations to set me on my way. |
| Asking peers for help: | 3/5 | I have reached out now and then on Discord and my peers have been more than happy to assist me. I try to save this for when the above methods are not working. I'll also search Discord to check if the problem has been mentioned prior. |
| Asking coaches for help: | 2/5 | I know the coaches are there to help and guide, but I save this one until all my other methods are exhausted. I would like to improve on this over the course of Bootcamp, as I know I need to utilise my time as efficiently as possible. |
| Improving the process with reflection: | 3/5 | I like to reflect on past problems that I had difficulty with, and try to understand how the solution is working. It's also great to remember a method previously used and knowing it could work in a different instance. |