My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
Learning to Code—to *Really* Code—in 18 Months

Learning to Code—to *Really* Code—in 18 Months

Becoming a Developer by December 2022

Bret Zawilski's photo
Bret Zawilski
·May 7, 2021·

5 min read

Starting the Slow Burn

What can be accomplished in a year and a half? It's a span of time that can feel like an eternity, but at the same time if you blink, you might miss it. My goal is to use that time to become a developer.

When I say I want to become a developer, I think it's helpful to break that down into a more specific target. Over the next 18 months, I intend to gain basic proficiency in web development. That means frontend languages like HTML, CSS, and JavaScript alongside frameworks like React. It also includes an awareness of the backend, which has always been a black hole of arcane knowledge for me. I know Node.js exists, and I generally understand how servers work, but on the most superficial of levels.

In my time researching pathways, I've heard a lot of more experienced developers give a timeline of 1-2 years for becoming more comfortable coding. So my target, December of 2022 is a spot in the distance I can keep in sight so that I don't lose my balance along the way. It's short enough to provide some pressure, but long enough to develop a routine that leads to progress without burnout.

Why 18 months? Why a developer?

I'm a lecturer, and most of my academic career has been spent researching digital rhetoric and digital tools for writing. I also love to make things. Writing and coding share a lot of similarities, although I never thought to look into the incredibly complex discourse space of developer communities. Both writing and coding engage with messy problems. There's not one objectively true path to creating a program, in the same way that there's no formula for the perfect piece of writing. Both tasks ask us to step into the world of affordances and limitations, taking up tools we're continually learning to make "texts" that shapeshift constantly.

So there's a lot of crossover, and recently I decided to embrace a growth mindset. It's something I've encouraged in my students for years--the idea that no one is born with innate expertise, and that the learning process is as important as any destination in mind. And yet, for years I told myself that I lacked certain qualities that I imagined all developers possessed. I knew enough code to be dangerous, but I stayed far from the spaces where the real magic occurs.

pankaj-patel-Ylk5n_nd9dA-unsplash.jpg Photo by Kevin Ku on Unsplash

My Background

I learned to code in the days of geocities and tripod, patching together barely functional HTML code before ever hearing about CSS. I molded the bare foundations of HTML into ungodly creations of framesets and animated gifs, as was appropriate for the time. In short, I became a dabbler in the technology. Over the next decade, I revisited coding every so often, but it never quite "stuck."

I served (and currently serve) as an editor for an online publication, doing miniature code reviews and learning about accessibility and design standards. I picked up enough HTML and CSS to know my away around a webtext, but Javascript left me staring into the abyss. I dove into Python (on a surface level) and toyed around with Gamemaker, Unity, and Godot at different points in time. But, in much the way that life works, I often had other concerns that were higher priority than dabbling with code. It was a side project.

Side Project No Longer

Recently I tried getting back into the coding mindset again, and something different happened. I found myself tackling coding challenges and losing hours to the editor. I sunk into really grasping the fundamentals of JavaScript and learned that I enjoy this kind of thinking. I love the puzzle-like mindset required to get my (shoddy, bug-ridden) code to run, and I like playing with the results, trying to find ways to simplify the patterns in my programs.

I want to incorporate these skills and this world into my career, and I want to feel proficient enough to contribute to open source initiatives. And writing my way through the labyrinth of knowledge is part of this process. So, consider this blog as an accountability partner and a way to step into this incredible community. I'm used to being a teacher at this point, but stepping into the role of a learner once again is a breath of fresh air.

For the next 18 months, I'll be sharing my thoughts, reflections, and inevitable failures. And I'll be connecting the steps into this journey to conversations from my own areas of study--knowledge transfer and metacognition. I'm looking forward to it.

The Learning Stack

Part of keeping track of the journey will involve considering the resources and tools that currently fuel my studies in code. So, to start off, here is my learning stack, not including all of the wonderful articles being written by talented developers on dev.to and hashnode:

  • freecodecamp.org: A fantastic resource for learning (and re-learning) the basics while also offering a great deal of depth with frameworks like React and NodeJS.

  • The Odin Project : The best resource I never knew existed. While there's a place for the overt instruction of freecodecamp.org, The Odin Project leaves things a bit more nebulous. It strikes a wonderful balance between providing detailed information about concepts while also leaving projects a little less structured.

  • Zero to Mastery Academy : The only "premium" resource I'm currently using, mostly due to its depth of topics that work well to augment the information found elsewhere.

With that, I'll be back before long to talk through some more tech-oriented topics, like getting a handle on modular Javascript prototype inheritance. Constructors, factory functions, and modules? Let's get to it!