What better place to start than at the beginning.
My first introduction to programming was my father helping me with my school math problems using MATLAB and Excel. He is an electrical engineer that works with radar where MATLAB is used extensively. When I was struggling with a graphical problem he would whip out MATLAB to quickly graph functions and help me visualize them, other times when it was computation based he would use Excel and VBA to show me how algorithms could be broken down step by step.
I wouldn’t say at this point I was hooked, but I was very interested in making computers do the heavy lifting for me. My next brush with programming was playing video games with my friends throughout my freshmen and sophomore years of high school. At the time we were playing a game called Garry’s Mod. It started out as a mod of the Source Engine that Valve used to make games such as Counter Strike and Half Life. Within Garry’s Mod there were certain servers that had tools baked in for making complex circuits that could control doors and automated defense systems to ward off attackers. These servers and game rules were coded in LUA and allowed for customization of how the game played.
The first piece of software I ever wrote myself was using LUA to create my own game mode within Garry’s Mod that resembled soccer. I took a generic flat map that existed within the game, put some boundaries on it and added two soccer goals and a ball. Then I wrote a script where the goal entities would detect when the ball had crossed the plane of the goal and kept score. There were not time limits or a score to reach to win, but I had made something and to me it was awesome!
From there I went on to enroll in an Intro to Computer Science course that was offered at my high school. The course was taught in Java, and followed a typical college level into to programming course a the time. I learned the basics of Java syntax and the ideas behind object oriented programming. One notable app I wrote during this course was a GUI password generator. It allowed a user to select their desired password length, to include mixed case characters, numbers, and special characters. I had a lot of fun in the class, but when it came time for college I wasn’t sure if I wanted to spend my days in front of a computer screen.
Ultimately I decided that I didn’t want to spend my time behind a screen and chose to pursue a degree in Petroleum Engineering. The main draws were the ability for field jobs that would take me all over the world and allow me to not be confined to an office. Unfortunately while I was pursing that degree the oil industry changed a lot and the ability to travel the world was off the table. Upon graduation the jobs that I worked were all around the U.S. in a lot of different locations, but instead of sitting behind a computer in an office I sat behind six screens in a trailer in the middle of no where.
While working in the field most of our reporting was done through Excel spreadsheets. Along with some colleagues we were able to automate a lot of the manual inputs using VBA within excel. We implemented a crude database system that took us from using 100+ workbooks on an individual job to using a single workbook that stored all of our information and allowed us to look it up as needed.
During the programming of those Excel macros I rekindled my love for programming and started to fiddle around with Python in my free time. I never made anything note worthy, just small scripts here and there. Eventually during this time I got married and was tired of being away from home all the time. My wife and I started talking about ways for me to use my skills to find a job that allowed me to be home and one recurring theme was programming.
I contemplated boot camps or the self taught route, but knowing my own learning styles I knew that if I really wanted to make a career change then I needed a structured program that would force me to be disciplined and stick with it. That’s when I found this program at OSU and made the decision to quit my job and pursue this degree full time.
I was very apprehensive about going back to school and starting all over in the beginning, but as I have progressed through this program I realize that I was just putting off the inevitable. I didn’t take to programming immediately and I still struggle to wrap my head around some concepts, but it is a fulfilling discipline that challenges me at every step. I can’t believe it took me this long to realize that this is where I want to be.
I look forward to sharing my adventures through this final semester with you, this is just another stepping stone on a life’s long journey.