I think it's time that I gave some context as to who I am and where I am on my journey into the world of Computer Science. I tend to post blogs without context, so I am starting this series to document:
- where I am in my journey,
- interesting things I have learned and
- projects that I have built that took a significant portion of my time and effort.
So without further ado, let's dive right in.
I'm a second-year student, so I don't have to worry too much about my career, but I still keep it at the back of my mind. The nice part about getting a CS degree is that it gives me so many options, and the bad part about getting a CS degree is that it gives me too many options. I am at the point where I'm afraid of over-committing to a particular language or framework because it won't help in whatever career path I end up deciding to take on. I end up hopping between different technologies and never really take the time to learn one thoroughly.
I am seriously considering a career in Web development. Whether I start with Front-end or Back-end development doesn't really matter because I plan to go Full-Stack eventually. I don't see myself doing Web-development forever, so some alternatives I am considering involve AI, Cloud computing, CyberSecurity or Robotics.
The first project that I set out for myself is a little tic-tac-toe game made with Java. The fun part about this project was designing classes that would communicate with each other to create the game logic. It made me feel like a real software architect. I'm also quite surprised at how little I had to use the internet to look up syntax and method names. I think this speaks to how well I have learned the Java language.
I recently finished this project, and I have made all the source code available on my GitHub.
I have been trying to create a website for my friend's Instagram account. The idea is that I want to display all their pictures on the website. The problem is I want it to update every time they make a post, so they only need to maintain their one page instead of having to update their content in two separate places.
I approached this project with one strategy, and it only recently became apparent that my approach is not technically feasible. Now I've got to use a different approach which entails learning technology that I am not completely familiar with. That technology being Google's Firebase Firestore. I have worked through a NoSQL database tutorial in MongoDb, so I hope that will help me get my project back on track.
Even though I have been building quite a bit, I still want to learn simultaneously. I know that building projects are the best way to learn to code, but I also need to supplement my knowledge with theory to ensure that I know the capability of my tools. The two courses that I am following on YouTube right now are
- JavaFX playlist by The New Boston and...
- Firebase Firestore Playlist by the NetNinja
- I Dual booted my PC with Linux Ubuntu about a month ago, and I almost never use Windows now.
- It turns out I have to take an extra subject this coming semester, so I'm in for another long haul. I know I'm capable of taking on the extra work, but I would much rather spend my time doing something I find more meaningful.
- Last but certainly not least, I've recently been accepted into the VWSA Bursary programme, so I am officially being paid to study the thing I am most passionate about.
During school vacations, I reserve most of my time to build all the million-dollar app ideas, or more realistically, projects that improve my portfolio and automate my workflows. My vacations never last very long because of how much the pandemic set back the school calendar year. Our school has increased the pace at which we work to finish within the academic calendar. So, once the next semester begins, I will have less time for all these endeavours. As the year progresses, I don't know if I will build all the projects that I have on my to-build list, but there's no harm in trying.
I plan on maintaining this series monthly if you are keen on keeping tabs on my journey. If that time-lapse is too long for you to remember to come back, then you can find me on Twitter, where I share what's on my mind on a more regular basis.
As always, thanks for the read, and Happy Coding! 💻