So, that was it! 5 perfect weeks of sticking to building a weekend project. Exams, school, and life weren't enough to stop me from consistently and constantly building something new every weekend. So there, be inspired :)
Part of the reason I'm motivated for my projects is the blog posts I get to write after. I'm happy people are reading them, and it's a great way to showcase my work. They're not just random personal projects.
I don't want it to be the end for weekend projects, but there's more I want to do instead. Weekend Projects helped give me some more insights into what I'm after.
Channelling Negative Anxiety
Most people would jump on Leetcode and Hackerrank for their weekends, and I did too at first. I stopped 3 weeks in. Something wasn't right. Cracking the coding interview for what means? Just to work at some big company. I get a few bucks and some recognition, but I never own any of my work. Not solving my problems - the whole purpose behind me learning to code.
So I turned to Weekend Projects to redirect my frustration. Something about them is more calling. More satisfying. It's OK. That's all I tell myself. I probably won't get hired. I'm still going to fail my interviews. I'm not a better candidate for doing this. However, you do sleep better knowing you did something that day. Something tangible. No one deserves to end a day with 3 failing test cases and 2 minutes of remaining time. It doesn't let you sleep.
Effects of Weekend Projects
I'd be lying if I didn't say I'm exhausted. Working on projects so late into the night has its detrimental effects. I'm constantly typing away at my computer. My entire weekend is spent indoors: programming and reading. My weekdays are spent juggling school work with any remaining features on these projects. My weekend project takes over from Friday Night to Monday mornings. They start in the morning, from the moment I wake up, and don't end till 2 or 3 AM. More often than not, my mom would walk out from bed and tell me to turn off the light and go to bed.
Passion or Obsession
Is it a passion? No. It's an obsession. I can vouch for this because even after I close my eyes, I'm still set on the problem I'm solving. Hmmm, what if I did it this way. Every weekend, I'd tell myself I'd wake up early the next day to get a head start, but it never worked because I'd be too tired from the night before. I sacrifice quality on my school work so I'd get more time to work on what I actually wanted to do.
I always joke with my friends that I'm single-threaded. When I'm set on something, that and that only becomes my sole goal. Nothing else matters. My only goal that weekend is get my project working by Monday morning!
My obsession grew to a point where my dreams were just me coding at problems and working on them very passionately. However, I'd wake up, and realize, that they were just images of me working, but for no purpose. I had no idea that I was working on. I became obsessed with building things. I wanted to build for the sake of building. Solving small problems, wanting to make some side cash preferably. I felt almost like a robot churning out automated work.
My initial motivation was turning against me. I was running out of ideas - and I became more critical of the ideas I had lined up in my book. I was becoming restless. Idea overload. I had to stop. Hence, here I am today, 5 weeks later.
What I want to do next?
So, now that I stopped weekend projects, I began to think what I wanted to do next? My weekends would free up a bit. Although the semester is racking up, I don't want to stop working and learning things on the side. There are two things that I've always wanted to do:
1.) Take a Crack at Teaching an Introduction to Programming
I've always had my own thoughts on how programming should be taught. I want to put it out there and see if my method and structure would help anyone. Perhaps a Youtube video series.
I was at a Hackathon last week, and I was speaking with a 5th grader who was interested in technology. I had faith that he could pick it up programming with ease with the right mentoring.
I want to build a course that's engaging, has tangible results and is designed around applicability! I've always had an idea on how to do it, but I need to flush it out and just drop it out there. My personal challenge is to inspire my younger brother to code. So far I haven't been successful. I want to change that.
2.) Work on more challenging concepts
A common theme I've realized with my Weekend Projects is the amount of learning is low. I'm constantly working and solving problems that I already know how to solve.Perhaps some mini-challenges here and there, but for the most part, the architecture is common. I do mobile, web and backend. It's the same routine, different problems. I need to learn new concepts.
The last Hackathon I attended, we were experimenting with image feature recognition to detect LCD screens. Something about that project was exciting. Perhaps it was the new information I was reading. The feeling of curiosity and accomplishment when it worked was unparraleled.
Serverless, AWS and some type of app development and basic website skills are the norm these days for most developers. It seems like full-stack is much more common than I thought. Being able to architect solutions and build out solutions isn't enough. I need to build solutions that are more challenging. Solutions that only a few handful individuals anywhere can do.
In Conclusion ...
So, I'm done with Weekend Projects, but I'm not done learning. In fact, that's what I want to do more of. That's what I lost passion for these past few years. Genuinenly learning content. I've built to solve so far, and now I want to build to learn.
Should I do LeetCode and Hackerrank? Yes, probably. But it's not interesting. It's far from my learning style and I never end up with anything to show after but a slower runtime than the guy who solved it before me.
It's OK. I'll continue to do what interests me. I'll let my interests guide me. Right or wrong path, I'll take it.