How I started programming

How did I get here?

Everyone starts programming differently. Some are forced to learn it for a job. Others discover it on their own. Today I want to share how I became interested in Computer Science and programming, and how I reached the point I am at today.

I had been introduced to programming when I was a small child (~7) by my older brother when he started making games with Blitz2D. I toyed around with it for a while. I thought it was cool to call myself a “programmer.” Eventually, however, I lost interest, especially since the way I was introduced to programming made it seem very difficult to produce anything useful (or even tangible for that matter).

Fast forward a few years and I find myself once again interested in programming. I decided I wanted to learn C++ as my first programming language, mainly because I wanted to learn game development. Additionally, I was told that C++ would make it easier for me to learn other programming languages later (I tend to favor learning a little about a lot).

I wanted to have my own laptop to program on, so I asked my brother if I could have his (very) old Dell. It was an old Dell Inspiron 1000 with a Celeron processor and no battery. When I booted it up however, I was not met with the Windows login I had been expecting, but rather, a terminal. My brother explained to me that the laptop had Backtrack Linux installed on it. Little did he know that this would send me down a path that is best encapsulated by this comic from xkcd.

At first, I was only interested in Linux because I thought (and still think) that Cyber Security is fascinating. However, I slowly discovered that Linux is capable of so much more. I got so wrapped up in Linux that for a time I forgot about programming entirely. I was happy running Arch Linux on my old laptop. I had gotten pretty comfortable with a terminal, and I started to understand Linux memes. However, every now and then I would see a programming meme and be reminded that I had not programmed in a while. I continued in this state until one weekend changed everything.

Earthack 2017 was a pivotal point in my life as a developer. My friend and I went there to make a hardware project (a shoe that could generate electricity when people walked), which won us a small prize. However, that weekend reminded me how awesome software can truly be, and after that I was dedicated to learning something real. It also created a love for hackathons in me.

I spent the summer of 2017 hopping from small project to small project. Eventually, I got focused enough to decide I wanted to make a game. So I researched. I started out using love2D, which made me fall in love with Lua’s tables. However, I also wanted to make a game I could make a little money from, and love2D didn’t seem like the engine for that. Because I still wanted to use Lua, I settled on using Corona SDK. If I had to start all over, I would probably use Unity instead, but hindsight is 20/20. I made a pong clone in Corona SDK and I was ecstatic. It was by far the coolest thing I had ever developed by myself. After that project, I gained enough confidence to try making a real game. Unfortunately, there were only about two weeks left before school started again. Once school did start, my progress was greatly hindered. It took me six months, but I did eventually release my game, Isaac (as in Newton): A Physics-Based Puzzle Game, on Pi day, 2018. An iOS port soon followed.

Before I released my game, I also went to TAMUhack 2018, where I got my first taste of using Go for writing backend server code and managing an SQL database. This was another major point in my story because it showed my how much I don’t know, and how much I am capable of. I had always considered any kind of web development to be out-of-reach for an inexperienced developer like me, yet I was able to overcome challenges and get a basic API functioning in a few hours.

Finally, in recent months, I learned iOS development through Stanford’s CS193p (love that course!) and I have started to learn React Native. As summer approaches, I am excited to see what I will make.

Want more Semi-Structured Thoughts? Subscribe here.

comments powered by Disqus