Five months and one day after I discovered Free Code Camp, I’ve completed my Front End Certificate.
It took a little longer than I had originally planned, but considering that in addition to learning HTML, CSS and JavaScript from scratch, I maintained a full time job and tried to spend (at least some) time with my family (including coaching a season of baseball), I’m pretty happy with the accomplishment.
A couple thoughts on the process….
When I discovered Free Code Camp, I rolled up my sleeves and began the front end development section with tunnel vision, focused only on completing the certificate. Along the way, my focus broadened… I began to realize that this process isn’t just about completing a certificate, but becoming a strong developer.
To that end, I searched for additional resources to supplement the Free Code Camp curriculum. I covered a lot of these resources in a previous post, but mostly it involved listening to podcasts, reading books, watching YouTube videos and practicing algorithms.
I also started this blog. If you would have told me before I started this process that I would start a blog on learning to code, I would have labeled you crazy…
I’m an introverted guy and generally keep my thoughts to myself, so expressing myself in these posts isn’t exactly second nature. I think, however, that doing so has significantly enhanced what I’m getting from this process (and hopefully helped at least a couple others in return).
I’ve also found that trying to explain the solution to an algorithm is, in many ways, much harder than writing the solution itself! I think this has certainly helped strengthen my coding skills and plan to continue working through the solutions to many of the freeCodeCamp algorithms and projects here at crookedCode.
So, if you find yourself getting frustrated with your progress in your own learning to code journey, take a step back and ask yourself what else you could be doing to broaden your learning experience.
And finally, I want to say – Learning to code is hard!
This journey has been difficult in many ways I could not have predicted at the onset. First, of course, learning a new skill (any new skill) can be difficult. Coding is certainly no exception, in fact, I’d argue just the opposite.
I feel the difficulty is often overlooked in the many articles (at least the ones I’ve read) that proclaim everyone can learn to code. Many of these articles fail to mention that it’s going to take a lot of work and a lot of extremely frustrating, trying moments, especially if you’re teaching yourself.
I’m not arguing against the idea that people should learn to code… If learning to code interests you, then by all means, let nothing stand in your way. Before you start, however, make sure that it’s something you really want to do and make sure you’re prepared to commit the time and mental energy to accomplish your goal.
In addition to the difficulty inherent to learning to code, many other aspects of the journey add to the difficulty…
Time management has been a big one for me. Keeping a full time job, having a wife and two active sons and learning to code is a very full plate. Through most of baseball season, I just coded whenever I could fit it in the schedule…
It seemed like there was something going on every night and throughout the weekend, so whenever there was a break, I would try to put some work in. I’ve got to say though, that pace is unsustainable if you value your mental health and the happiness of your family.
Since baseball has finished, I have blocked off two evenings and one day on the weekend that I devote to learning to code. Everything else (at least when I’m not at my full time job) can be spent with family or catching up with stuff around the house.
If you are learning to code and have other personal commitments, I highly recommend blocking off a schedule of when you plan to work. Otherwise, you always feel like you should be working and everything else in your life takes a back seat, and suffers because of it….
Of course, there are other things like maintaining self-confidence, battling impostor syndrome, deciding what to learn, setting up a development environment, etc., etc. but this post is already longer than I had planned. Just know that if you are struggling in your journey to learn to code, you are not alone, there are plenty of us out there in the same boat.
So, if you’re still reading this, thank you and good luck on your own journey. I’ll keep posting here at crookedCode to try to make things easier for those that actually read it. As for right now, I’m off to start the back end development certificate at Free Code Camp…
-Jeremy