New Beginnings — Becoming a Better Software Developer

To know that we know what we know, and to know that we do not know what we do not know, that is true knowledge — Nicolaus Copernicus

Hey there! Thanks for taking the time to check out my article today. My name is Gabe, and this post is the first of many to come as I begin my journey of becoming a better software developer. Check out the rest of the article to see what this means exactly and get some idea as to who I am and what I have done so far with my life.

Who is this Guy?

A Little Personal Stuff About Me

Downtown NYC (left) and Miami Beach (right)

As I said before, my name is Gabe (at least that is what I commonly go by), and I am a Miami-born, NYC-raised, software developer, and I’ve been writing code since I was about 15 years old. I am an appreciator of many things in life — agriculture, medicine and biology, astronomy, nature, education, and more — and as such, I want to help contribute to all of these industries by creating and contributing to meaningful and helpful technology. That segues into why I am writing this article, but before that, I will give you a bit more info about myself.

Education and Past Experiences

My interest in games and mobile applications pretty much influenced my decision to pursue a college degree and led me to the School of Engineering at Bucknell University, where I obtained a B.S. in Computer Science & Engineering in 2019. The way I see it, there were pros and cons to me going to college right after high school; I won’t go into that in this article though. The main takeaway is that while attending Bucknell, I quickly realized my growth as a software developer would be highly attributed to my experiences outside of the classroom.

Where I had my first internship as a Back-End Web Developer

My first applied experience outside of the classroom was an internship I had with Citrix Systems, Inc. as a Back-End Web Developer. During my internship, I also helped some then-college acquaintances (now good friends) on a contract to create an Android Mobile application. By the end of that summer, both experiences ended off successfully, and more importantly, reaffirmed the fact that software development was the field for me.

The following Fall semester, one of the people I worked on the contract with approached the team as a whole and offered us the opportunity to be part of the founding fathers of the startup company he was creating. This led to Roots & Ladders (RnL), my first startup experience. At RnL, we provided web and mobile (iOS and Android) application consulting to clients. One of our most noteworthy clients was DermaRite. Overall, my time with RnL nurtured a space where I learned a lot about software development.

While working in RnL — and I am still attending college during all this if that was not clear by the way — I then found myself in my next startup company, One28. I co-founded the company alongside my RnL partners and two additional people — with the intention that the RnL team would be the development heads. While working on One28, I graduated from Bucknell University and dedicated myself full-time to working on my startup. After some time, I had to give up on actively working on One28 as I needed to secure an income for myself (I will say that One28 is still being worked on, it is just I am no longer part of the development aspects of things at the current time of writing this).

One28 logo

Rough times get Smoothed out

During this transition period, I found myself pretty depressed and began to question lots of things about my life. One of the most prominent questions being “what do I want to accomplish with my time on Earth?”. For me, there was no solid answer. All I knew was that I wanted to do meaningful work that will change the world. Meaning it didn’t matter to me what industry that meaningful work was in, so long as it was truly significant, life-changing work. Due to this being what I ultimately wanted, I realized there are multiple ways to achieve this goal, so I began to think as to how I can make myself so versatile that it did not matter where I found myself, and still be able to make significant and noteworthy contributions to projects. This is when I landed on Unity.

A company and technology that is pushing the gaming industry and making their game engine so versatile that it is touching on the health, automotive, architectural, and other industries, in the effort of pushing all of these fields and the technology available to them. As such, I began my adventure as a Unity developer. This was in October of 2019.

My early days in Unity where I created a shader in the effort to recreate our Sun

Since then, I’ve made a few prototypes to get my bearings in Unity, and within a month or two, I began development on a game I plan to release likely sometime next year (2022). As I started developing, I began to realize I would need a few more skills; namely in art and 3D modeling. As such, I began learning digital art to create great assets and concept art for the ideas I have, as well as some 3D modeling in Blender.

Soon after beginning development on the game, I found myself at my most recent job experience with a security startup called Drift Net Securities (this one I was not a founder of), and as such, development on my game pretty much came to a halt. I, unfortunately, cannot speak about what I worked on in detail due to NDA and all, but I can definitely say that I mainly worked with Unity. While there, I learned a ton, and the experience really solidified, for me, that I can indeed be versatile with this technology.

The Journey to Becoming a better Software Developer

Cell/Toon Shader I created to stylize my game a bit

While I have experience with many aspects of Unity (especially when it comes to the programming side of things), I know that I still have much more to learn at the end of the day. This is why I decided to join GameDevHQ under an apprenticeship to not only build my portfolio but mainly to hone my skills within Unity and as an overall software developer.

As part of this apprenticeship, one of the requirements is that I create at least one Medium article every day from here on out. Currently, I plan to release a combination of tutorials alongside progress updates for how things are going with the projects I will be working on for my portfolio. The projects I will be working on will be the following:

  • 2D Game
  • Cinematography in Unity
  • 2.5D Game
  • Mobile Game
  • 3D Game
  • Enterprise Applications

The goal is to finish my apprenticeship by the time Q4 of 2021 ends, leaving me with at least seven projects to show off in my portfolio, as well as even greater confidence in my skills as a software developer. Throughout this process I will also be working on my art skills, so definitely expect some more art as I work on these projects for my experience so far has shown art is highly involved in many aspects of game development.

Recent sketches as a result of my art lessons

I definitely hope you join me on this journey to becoming a better and more versatile software developer. Tomorrow I will be posting a tutorial on Installing and Getting Started with Unity, which will go over installation and some Unity basics. Have a good rest of your day (or evening), reader!