Today is the last day of 2022. I began coding about nine months ago. Although this isn't quite a full year, I want to use this time frame to represent a year of coding for documentation purposes.
This article is an end-of-the-year review of my journey in the tech world over the past nine months. It will be a brief article, as not much has happened in my tech life during this time. This article will also be a bit unconventional. When I started, I had high goals that I thought I would achieve by the end of the year. I told myself that by the end of the year, I would be skilled in React, have built many projects with it, and be a proficient writer on tech topics with at least ten published articles. LMAO.
It's the end of the year, and I still haven't started learning React. I've built a few projects with HTML, CSS, and JavaScript, but most of them aren't really worth showing off in a portfolio. As for writing, I've only published three articles this year, including this one (if it gets published). A small part of me is disappointed; maybe I didn't work hard enough or I wasted too much time learning things that should have been easy. There were moments when I was too scared to move forward and learn new things because I thought I wouldn't be good enough at them.
I experienced imposter syndrome so many times. I would scroll through tech Twitter and see all the amazing things people were building and wonder if that was really something I could do. I would come up with ideas for things to write about, but then I'd start doubting if anyone would want to read what I had to say. While a small part of me is disappointed, a larger part of me is proud of myself. I've learned more new things this year than in any other year of my life. Some people say that deciding to start coding is a tough decision, but for me, it was one of the best decisions I've made.
A little recap of my first year in tech
Reflecting on my first year in tech, it's clear that I've come a long way. I've learned a wide range of new tech-related stuff, some of which came easily to me and others that took more time and effort to grasp. Some technologies were more challenging for me than others, but overall, I'm proud of the progress I've made and the things I've accomplished in my first year.
It all started with HTML, obviously. I learned it in less than a week, following The Odin Project's web development curriculum. At the end of the HTML course, I was required to build a recipe website with just HTML. When I finished the project, I was so proud and happy—it felt like a dream come true. I had created a website, sort of. I deployed it on GitHub Pages and even viewed it on my mobile device (it didn't look that good on mobile, though). With a bit of Googling, I added some basic styling to give it a better look. If you're curious, here's the link to the website (it still doesn't look great on mobile!). I remember telling myself back then, "If web development is this easy, I should be able to accomplish a lot before the end of the year." Lol. If only I knew how wrong I was.
After HTML, I moved on to CSS. Most web development roadmaps suggest that it should take about a month to learn CSS, but it took me almost three months to really get the hang of it. If you include the one or two weeks I spent learning Tailwind CSS, that brings it up to a full three months. CSS wasn't necessarily difficult to learn (and Tailwind CSS made it even easier), but I was obsessed with mastering it. I thought I could actually do it, but I failed. Despite this, I'm glad I spent so much time practicing styling. It saved me from a lot of unnecessary pain that I might have experienced later on.
The next challenge for me was learning JavaScript (JS). I'll admit, the thought of learning JS scared the hell out of me. Now, I look back and wonder what I was actually scared of. At first, learning JS was very difficult for me. I would learn a concept one minute and forget everything about it the next. However, things started to click when I started building projects. I have to thank The Odin Project (TOP) for its project-based, hands-on approach to teaching. Without them, I might have spent a lot more time stuck in tutorial hell.
The code in the first few projects I built with JS was utterly horrible. So many bugs surfaced in these projects that I spent more time fixing them than actually coding. But it was all worth it. Now, when I look back at those first JS projects, I am amazed at how far I've come and how much I've improved. That's another reason why I'm proud of myself, despite any shortcomings I might have had. As I write this blog post, my latest JavaScript project—a to-do list app—is miles ahead of the first project I built (the recipes website, remember?). Yes, the code might not be the cleanest (I'm still very far from being a JS pro), but it's readable, mostly self-explanatory, and well-organized. I even had to learn how to use Webpack and Babel to use JS modules and make the code more organized. Here's the link to the to-do list app in case you're curious again.
Goals for the next year
Even though I didn't achieve all the goals I set for myself in 2022, I'm still planning to set ambitious goals for myself in 2023. As I write this, I'm currently learning TypeScript (TS), and it's been going smoothly so far. I plan to continue learning TS as the new year starts, and I'll also build one or two projects with it to solidify my knowledge before moving on with The Odin Project's curriculum.
I plan to start learning React next year, and I'm confident that I'll be proficient in it by the end of 2023. I also plan to learn another programming language, although I haven't decided which one yet. I'm considering Python, Java, and C#. Additionally, I'll be practicing a lot of data structures and algorithms in both JavaScript/TypeScript and the second language I choose to learn. My goal is to finish The Odin Project's curriculum by the end of 2023, which means I'll also need to learn Node.js for backend development.
As for writing, I won't be setting any specific goals. I'll aim to publish a technical article once a month and maybe a non-technical blog post every three months, although this plan will be very flexible.
I also hope to land a job or internship in the tech industry next year, or at least some freelance work. I might not succeed in achieving all these targets I've set for myself, but I'll do my best.
Thank you for reading. Feel free to connect with me on Twitter.