2021: Year in Review
Published: 2021-12-31 11:49:38

Hello world! To most of you this is probably the first time you've heard of me, but to a certain group of people this is the first time you've heard from me in a really long while. A lot has happened not just this year, but coming back from the 2020 lockdowns as well. Now that I'm feeling much better after this honestly amazing year, I think I can finally take a step back and talk about the mess I made and what I've been doing to make up for them. And what better way to explain myself than write my very first blog post about what exactly I've been up to?

Let's talk.

## Crash and burn

2020 has not been a kind year to me, which I assume can also be said for a lot of other people. I had big plans at the time, ready to bounce back once and for all with a clear roadmap to graduation thanks to the help of my friends and mentors. And then the lockdowns started, and even in the comfort of my own home I found myself unable to fulfill even the simplest most basic requirements, and it snowballed to me ending up dropping literally every project I had.

Looking back, I have to admit that this problem wasn't entirely caused by the lockdowns. Even a few years before I was barely scraping by, managing to do the bare minimum of tasks in both my work and at university so that I can at least call myself "productive". In hindsight I think that stubbornness only prolonged the inevitable, and failing to adjust with the _"new normal"_ of the lockdown period was the final nail in the coffin. I started dropping projects at work and even wasted my progress in my university thesis project, and the shame I felt from my failures made me cut off contact from basically the entire outside world, and isolated myself for months during the lockdown.

One of the most memorable lessons I learned while I was working at startups was to fail fast, and fail often. What I think these lessons neglect to mention is that failures cost a lot. Even moreso when that one little misstep snowballs into more serious failures, and suddenly I find myself with a lot of burned bridges, friendships destroyed, and my reputation completely and utterly ruined.

## Going up from rock bottom

Somewhere along those several months of isolating myself, I realized that I needed to move forward somehow. I wanted to get rid of that nasty feeling of shame and disappointment, and if I can't do anything to make it up to the people I failed, the least I could do was to offer a genuine apology with the intent to work on improving myself and maybe not fail any more people next time.

Towards the end of 2020, I started reaching out to a certain few of my most respected people (of which I felt that I disappointed the most) - At first I just wanted to apologize for my mistakes, not even expecting any response in return, I really just wanted to get some closure for my mistakes and maybe start moving on and screw up less next time. To my surprise I was actually greeted back with open arms, and after a few weeks of me sorting myself out I was offered back my job and before I know it, I got myself a miraculous second chance to continue the project I was previously working on.

For the first few months of me getting back to work, I was playing it as safe as I possibly could, purely because I absolutely did not want to waste this miraculous second chance that I got and disappoint the people that put their trust in me yet again. Regardless, I contributed whatever I can to move our projects along, and going into 2021 I decided to make the most out of this opportunity to climb back up from rock bottom, and work on improving myself to contribute better on the job that I just got back.

I started 2021 with a pretty simple goal: Make what used to be an insurmountable, monumental task for me right now into a lazy Sunday afternoon for me in the future. With the help of my online course backlogs I started (re-)learning everything from the ground up, contribute to my work using the things I learned, and then rinse and repeat, and maybe make a little bit more progress the next day. At the start of 2021, there were a lot of days where I'd consider it a massive win to even be able to open my code editor, and at best I would just watch a couple online course lectures without actually following along with the code. There's a certain value in those small actions however, and over the course of this year my progress steadily kept getting bigger and more consistent, and I've started to gain back the strength and confidence that I once had thanks to that small start.

## Starting #100DaysOfCode

Once I felt a bit more comfortable with my workflow, I started taking on a tougher challenge, focusing on what's going to give me the best value for my time learning new things and contributing more to my work at the same time. To achieve this I started my [Perpetual Testing Initiative](https://github.com/Insidiae/perpetual-testing-initiative), a spin-off of sorts to [the #100DaysOfCode challenge](https://www.100daysofcode.com/) that I came up with just to start with a more casual ruleset:

- I was tracking my progress not by time spent, but rather an arbitrary amount of progress that I feel is _"just right"_ for the day,
- Focusing less on the complete 100-day streak and more on the learning experience along the way (i.e. taking breaks as needed to preserve what little stamina I had 😛).
- Relying heavily on online courses to (re-)learn my skills and improve my work.
- Working in silence until the round is complete (See: [I Triggered It Thirty-Five Minutes Ago](https://www.youtube.com/watch?v=EuSGUhhmYfk))

I also selected a set amount of online courses to work on for this first round, as a way to direct my focus rather than getting distracted by the shiny new stuff, and also to use the knowledge I gained from these online courses to improve the quality of my work. Here are the twelve courses I chose for this round:


![Initial course progress](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tu9zl48p35s6mjca4fjv.png)

I've also marked each course as follows:

- **BLUE** - Priority courses to complete (i.e. get 100% progress and complete the major course projects)
- **ORANGE** - Optional courses, but it would still be nice if I can also complete them within these 100 days

I dubbed this initial round `Round 0` for a number of reasons: When I started this round I really wasn't sure if I was going to be able to complete the full 100 days, so my initial objective was to just do as many days as I can and then peace out when my stamina runs out and I did not see myself being able to continue further, and so I just wanted to see how well I can do on this round without making it fully _"official"_. I also saw this round as kind of a new starting point - or in other words, staring from _zero_. And hey, who doesn't like some good ol' 0-indexing puns?

Throughout the first few weeks of this round, I'd already consider it a whole day's worth of progress to be able to complete just a few lecture videos. I also immediately broke my streak to remind myself to preserve my stamina and take a break whenever I start to feel like not coding anything. Taking breaks as needed also played a large part of preserving my motivation throughout this round, and I think it's even one of the main reasons I was able to do so much progress in this round at all! After taking a break for a couple weeks about halfway through the round, I started to find myself actually _wanting_ to write some more code and watch a couple more lecture videos. Towards the end of this round I'd say I've actually accomplished my main goals: I went from being barely able to muster up the strength to even open up my code editor to casually breezing through multiple sections of the online courses I'm taking without breaking a sweat - and not only was I able to complete the whole 100 days, I also fully completed most of the courses I picked for this round, along with a few more extra courses whose progress I wasn't even counting for this round!

Here's my final progress in the courses I selected above:


![Final course progress](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bq9940zdemoe4uvpq1wl.png)

Throughout the 100 (not necessarily consecutive) days of this round, I've managed to complete 10 out of the 12 courses I selected. I'd say that's some pretty good progress!

### Highlights

I've managed to surprise myself with how much progress I made this year. Here are some highlights I particularly liked:

- [Completing all five of freeCodeCamp's Scientific Computing with Python projects in one day](https://github.com/Insidiae/perpetual-testing-initiative/blob/main/Round%200/log.md#day-63-tuesday-november-2nd-2021)
- Completing 3/4 of the Pull Requests I needed for the [Hacktoberfest challenge](https://hacktoberfest.digitalocean.com/) in one day, and adding more pull requests throughout the month of October
- Starting to deviate from my comfort zone of simply following along with the course lecture videos, culminating in remaking the final major project in one of the courses from good ol' Node/Express/EJS into [a full blown MERN stack project](https://github.com/Insidiae/yelpcamp-mern)

### Fun stats

2021 ended up being a very productive year for me. Let's take a look at some fun stats.

Here's a pretty neat visualization of my GitHub contributions in 2021, thanks to [GitHub Wrapped](https://wrapped.run/):
![GitHub Wrapped 2021](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hg6zwliy79lq6iz7eae0.png)

There's also my [2021 GitHub Skyline](https://skyline.github.com/insidiae/2021), where my GitHub contributions are visualized into a 3D skyline.

I also managed to keep up a fairly decent streak on [Duolingo](https://www.duolingo.com):

![Duolingo stats](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7od1qprr8nlihrykd2pn.png)

## What's next?

I dedicate this year to the many people I disappointed with my mistakes and failures. At this point I feel like it's already too late to fix my mistakes, but the least I can do is to move forward with a genuine conviction to never let other people down the way I did back then. Throughout this year, I made it my number one goal to keep improving myself, and maybe through a continuous effort and an honest motivation to do better, someday I can have the power to mend the broken connections and the bridges I burnt back then. And so moving forward this upcoming year, I'll keep building even bigger and better projects in the purpose of doing better than I did last time.

While 2021 has been a really amazing year for me in terms of progress, both in doing #100DaysOfCode and lots of extra stuff I've also done outside the challenge as well, I can still see quite a few improvements to be done and incorporate as I move forward in 2022. I'm already cooking up some big plans for the next round of #100DaysOfCode, and it honestly feels exciting to look forward to the projects I'm planning to do in 2022. For now, I'm happy to report that I've accomplished everything I can for this year, both personally and at work, and I'll be taking a much-deserved break for the time being while I flesh out my plans for the upcoming year's round of #100DaysOfCode. Until then, stay tuned!