My JavaScript Journey
In an effort to chronicle my journey through the JavaScript ecosystem, I will be posting my solutions to CheckiO challenges as I solve them. Each story will be a step-by-step explanation of each solution, including my thought processes and whatever insight I have to offer. This isn’t a collection of tutorials nor a road map, these are breadcrumbs.
One caveat, no Stack Overflow.
The goal of this exercise is to remember where I started as well as track my real growth. Well, not technically where I started, but when I started to take it seriously. I will complete my two-year CS degree in two months, and while I have learned a lot, I feel like I haven’t yet begun to dig in to the core of the computer programming.
I’m leaving BridgeValley feeling like a jack of a couple languages [Python, PHP, C#] but not even an amateur of one. (This speaks more to an honest appraisal of my skills than to the quality of the curriculum.) I have, however, fallen in love with JavaScript. Perhaps because it’s loosely typed. Perhaps because it’s in vogue. Either way, I decided some months ago that it would be my forte as I foray into the wild, searching to find my future career.
Let’s be honest, making money is undeniably a primary motivating factor for learning to write code, but even more predominant is a desire for fulfilling employment. The task of authoring a more elegant bit of code than I did yesterday is appealing in myriad ways.
Why CheckiO?
Short answer: “Why not?”
I recently realized that I suffer from (am blessed with?) the gift of imperfection. It’s easy to get bogged down in the swamp of trepidation teeming with feelings that one’s code isn’t good enough to share, that this blog post isn’t worth posting, that everything isn’t laid out exactly the way it should be in order to be considered a “good enough”. Rapidly, the desire for a polished product turns into a lack of production, and instead of doing “just okay”, you’ve done nothing at all.
Knowing this about myself led me to realize that completing CheckiO challenges and writing about them offers dual benefits. These actions will provide:
- the intended effect of mastering the current most popular programming language in the world
- the unintended effect of helping me overcome the paralysis that desired perfection can bring about
Bonus: I’ll get to add some green tiles to my gloomy, grey GitHub.
I could dig out all of the code from the past two years then refactor and talk about it (and I still might), but it seemed cleaner to start at zero and publish write-ups on my CheckiO solutions. For a marathon with just as many starting lines as finishes, this seems as good a place as any.
Intellectual honesty is the goal here. If you can’t be true to yourself (what else is a blog that no one may ever read), then how can you be true to future employers or team mates? So, I will share exactly what I know or have recently learned, and not something I just read. There is, after all, a difference between reading and learning.
Novicedom
This semester I’ve been learning to develop inside the Node.js environment. Here’s my current progress on my MEAN capstone project (So far, no A in my MEAN. And now I keep reading about MERN!). Mongo’s document-based database schema feel so much cleaner to me than RDBMSs’.
JSON just makes sense.
My affection for JSON should be self-evident, JavaScript is right there in the name. And, since Node is my most mature discipline, I will posting each of my solutions as single file Node apps full of documentation and notation.
Conclusion
Hopefully, you can learn something from my stories. Maybe you’ll even enjoy them. If not, that’s okay. I’m doing this for me! Please feel free to correct anything I type. I’m here to learn.
I don’t know if you can edit a Medium story to include the next story in a chain of stories, but hopefully you can. If so, you’ll eventually find a link to my first solution directly below this section.
Here’s to my ten thousand hours.
Here’s to my mother, my sisters, my father (RIP), and everyone else that always believed in me through multiple major changes and college transfers.
Here’s to a life of pushing plastic keys in hopes of getting certain electrons to move how I want, so that people with more pieces of green paper than I will reward me with some of them.