I've been studying JavaScript for a looooong time. It started with FCC in 2016. Event listeners and DOM manipulation didn't make a whole lot of sense; I had a hard time connecting the dots. I had a lot of warning that this might be the case so I'm happy that I didn't give up or give in the temptation to believe I just wasn't cut out for software engineering.
This program has taken me a lot longer to finish that I had originally planned for. I'm sure there are many who have had the same experience due to Covid, and, well, just life. I know I would have thrived in a part-time or full-time cohort but I knew it just wasn't an option. We all have to work with what we have. If it takes four times longer, then it will take four times longer and it will be ok.
As with all my projects thus far, they seem to take me awhile. I'm sure there are ways I could have moved faster but I'm still showing up every day and realizing more and more, life will ALWAYS get in the way. You just have to keep moving ahead.
While I'm preparing for my assessment, I've taken some time to reflect on this project. There were some challenges, of course and also some things that I am learning over time in this program, that move me forward and confirm I'm in the right place.
Challenging things:
-
JavaScript's Office Hours were not friendly to my schedule.
That isn't Flatiron's fault. I tend to be the odd ball self-paced student and prefer study groups before my kids get home from school (3:00 PM EST). All the sessions for JavaScript were in the late afternoon and early evening. I really pushed myself to re-arrange my day (and my family's schedule) to be able to make the study groups. No one was happy about it but I think it was a good lesson for all of us.
-
I worked on my project over the summer holiday.
My kids were home from school and had a different activity schedule every week; balancing my needs with theirs was a huge obstacle (with no back-up childcare) and slowed me down considerably. Can I wait while you participate or do I need to drive home and back? Will there be WiFi? What if it rains? Can we carpool? Agh....!!!!
-
A (relatively) long period of time lapsed from when I started to when I finished.
This meant I had to review many concepts A LOT and felt at times that I was going nowhere, or worse, backwards. (However, see silver lining below.)
Good things:
-
I'm solving my own problem with my project.
- My projects tend to be very specific to my needs, which has served me well. I know there are more standard projects to build (i.e., make an instagram clone) and by not sticking to that, I tend to struggle more, but I know I stay interested longer. I'm more curious and passionate when I work on something that I want to use and is totally relevant to me or my family.
-
I'm using a lot of different resources.
This has the benefit of really solidifying the context or syntax in the language. While I've definitely benefitted from Flatiron's curriculum, I think it's good to get instruction from different voices and different mediums as well: videos, tutorials, build-a-longs, etc. I use them all.
-
I learned a lot over the duration of building my project.
Here's the silver lining from above. By having to repeat a lesson or a tutorial, I added layer upon layer of understanding. By reviewing my code so much, a mental model of JavaScript is finally taking shape and I like it! In reviewing material, I found that the second (or third!) time around I had an actual instinct as to what to do. I was faster and faster each time.
-
Refactoring does not terrify me anymore. Mostly.
That instinct I mentioned in #3 comes in handy here. I feel more and more fluent and confident in making changes and trying things out without the paralysis of thinking the whole thing will fall over. I'm better at commenting code out that works and trying my ideas. I'm also much better at debugging in JavaScript, something I really struggled with when I first started.
I know I have yet to pass my assessment, but I also know that is just a matter of time.
Top comments (0)