Problem Solving
Anahera
28 June, 2024
A time I was blocked on a simple problem
I was working on a bunch of small challenges and I got stuck on all of them atleast once! There was one in particular that I was so sure should work.
I checked some of the conversations other people were having about the same challenge and I googled each concept in my solution to make sure I was structuring it correctly - I couldn't figure out why it wasn't working!
Then out of frustration I decided to read it aloud to myself, literally going line by line and explaining what each bit was doing. And then I I said something aloud that sounded funny and I found a typo 😭 I had used the plural of a word that should've been singular.
So I guess reading aloud and explaining things to yourself again is a really great problem solving method.
Solving a problem elegantly
Not sure if this is elegant 💅 enough but in Javascript you can repeat tasks over and over using 'loops' rather than having to rewrite the same task each time. There are a few different ways to write loops and some might be better in different scenarios. There is one type of loop I feel semi-confident in, it's the 'for' loop. But it's pretty long to write and other loops can acheive the same thing a bit more efficiently.
So I had a challenge where I needed to use a loop but the way I was writing it out felt really long and I had to add layers of other functions to be able to get the solution I wanted. I got about half way and then thought "nahhh, I have to try them other loops people keep mentioning". So I did a youtube search of people explaining one of these fancier loops and I was able to write my solution in like 3 lines!
I think I could have done what I needed to with the skills I already had (the longer for loop version) but it just wouldn't have been as efficient and I wouldn't learn anything new. Afterwards I felt very cool and proud, it was very satisfying!
How confident I feel about problem solving techniques
| Technique | Confidence | Reflection |
|---|---|---|
| Pseudocode | 🥹 | I found this helpful but I don't think I'm very good at breaking everything down |
| Trying something | 🤝 | I'll try anything! Sometimes things I probably shouldn't try |
| Rubber ducky method | 🏆 | New fave! Even though it feels weird and embarrassing |
| Reading error messages | 🫠 | I'm not always so good at this. They can look pretty complicated |
| Console.logging | 🥹 | I found this SO helpful. I didn't realise you could do it using npm test until late |
| Googling | 🏆 | My best mate. Don't ever take googling away from me pls |
| Asking your peers for help | 😭 | Too scary to do over Discord but I think I'll love this during bootcamp |
| Asking coaches for help | 🫠 | I'm not so good at this but usually find other people ask my questions first |
| Improving your process with reflection | 🤝 | I really like reviewing my work right after and tidying it up |
A time I was reluctant to ask for help and what I'd do differently next time
On my last Kata challenge I couldn't figure out how to select words that matched an annoying word despite capitalisation and it almost took me out! It was the final challenge and I was SOOO close!!
In this situtaion I was reluctant to ask for help mostly because of my pride. I wanted to finish off on a high having done most of the other challenges without asking for help.
In the end I got there but it definitely took me longer than it would've if I had just asked. Actually every challenge took me longer because I didn't just ask!
If time is going to be essential for any tasks, I am going to prioritise asking people for help.
Some kinda call to action copy goes here.