Introduction
Many people see software development as an avenue to easy money. Lately, with the drive of "anyone can code" promoted by major companies, this holds true even more. People run with this naive misconception that they can attend a 4-6 month coding bootcamp and then land a 6 figure job.
And sometimes, this holds true, and I'm always amazed by such people.
But oftentimes, I witness people entering discords and asking questions because they just completed a course and landed a job, but do not know how to accomplish what is being asked, and fear they will get fired soon.
Impostor syndrome; it haunts me to this day.
What makes a software developer
I believe developers should have a strong love or passion for what they're doing. Of course, for some people, programming really is just a job they do while at an office. But many developers I look up to are always tinkering and dabbling away during their spare time, participating in discussions on the direction of software, working on the open source software themselves, and more. Many of them have beginner stories of what inspired them to become developers, which includes programming as a child, or wanting to learn how to make a game or service for themselves or a close one.
And my story is no different.
What got me into software development
I always used to draw random games in primary school, and funny enough drew a 2D version of Minecraft in checkered-line books back in Standard 5 (grade 5).
I do not remember if it was inspired by Minecraft of not, since that was in 2010.
Fast forward to 2013 in Form 2 at secondary school (grade 7), my little bother found a 2D minecraft game called Mineblocks created by an amazing developer called Zanzlanz. As a hardcore fan, I found an option to contact him and sent him spam mail about how I can go about creating my own games.
Prior to this, I also did the same to Notch, to no avail. So I had no big hopes Zanzlanz would respond either.
Fortunately, what followed was him linking me to his YouTube and me watching his "How to Create 2D Minecraft in Flash".
Trying Development Myself
Before actually getting a response though, I remember being in the vehicle one day from school playing Mineblocks locally on my laptop and testing out GameMaker. I had tried the tutorial at the time, but at the end had no idea how to continue on my own. With Zanzlanz's tutorial on YouTube, what followed was a series of me googling "How to make racing game in flash", "How to make shooting game in flash"... basically "How to make x in flash". Furthermore, I even began googling more of "How to create 2D Minecraft" and saw a series in Java by Ulixava.
As you can see, I was really obsessed with Minecraft clones.
Understanding Programming at Last
What followed (again) was about a year or 2 of me copy pasting code from YouTube tutorials, first in flash, then in Java. One day, I returned to flash, looked at the code...and just...understood...what it did.
Since then I've branched off from game development alone to web development and (since Flash support ended) it was easy to adopt the JavaScript language for my games. Then recently, as I completed highschool and entered college, I branched off more into full stack development, first watching videos from a creator named Kyle on his WebDevSimplified YouTube channel, checking out courses on freecodecamp, and much more.
How I Continue to Learn
During learning and development, I joined Discord servers for assistance, and gradually became a member assisting others. Having to explain how/why something works to others, as well as debugging with them, has helped give me a greater understanding of things I may not have been able to figure out on my own.
Since then, I've also participated in hackathons, building open source software that can be useful to others, such as endpoint loggers, and game engines. That was when I realized, I prefer making tools that can be used to make creations. That was when I realized I may be a software architect.
Additionally, recently I became an intern, and although I only knew NodeJS, it had been fairly easy adopting PHP, Python, some Vue, and more.
Sources of Inspiration
I'm always interested in how software works, and am inspired by those that build such software. For example, I was incredibly amazed by Tanney Linsley in React Summit, 2022. He built react table over 5 years, adopting Typescript over 2 years, and now moved on to TanStack Table, a framework agnostic version of what he started building 5 years ago!
His passion and love for development consistently radiated through his spectacular presentation, which inspired me much more to one day be developing projects on quite a scale as his.
Conclusion
It is completely valid to become a programmer, get a programming job, and aim for a 6-figure salary. However, software developers that love and have a passion for what they do, make remarkable contributions to everyone, regardless of salary.
I still have some years before I get to that level, with entering my final year in University, participating in more hackathons, or working on more hobby projects, but gradually I hope to contribute greatly to open source myself. One day, I hope to continue game development as well, since that is what I originally started with.
Stay tuned throughout the next 4 weeks for more articles like this!
Thanks for reading!