Graduation!

Today is the day I graduate from college! I think there is no better time to reflect on my college journey.

Back when I graduated high school, I didn't know what I wanted to do; or where I wanted to go. I felt rather lost; and it seemed like everyone else had a solid plan.

 
How was everyone else so sure? Everyone talked about their future plans with such certainty. It blew my mind because; I knew myself that there is no way I could ever be that certain. It turns out that mostly everyone ended up changing their minds and going down as many different paths as me.

I figured it would just come to me after exposing myself to different things at a college, so I started up college immediately after high school.
 

Freshman year at UCM

I spent my freshman year at the University of Central Missouri.
 
I'll be honest, I hated it there. I wanted to go to college to learn something but my peers were way more about the drinking and partying. The majority of my professors couldn't care less about students. There were so many reasons I felt like I didn't belong; and I questioned if college was for me.

I walked away from UCM with hardly anything of value. There wasn't anything really ground-breaking I learned there, it basically felt like a re-hash of high school.

I did marching band there because I had enjoyed it in high school, but it really was just unnecessary stress and I did not enjoy it at all.
 
I was running a lot too; I had grown to love running in high school with cross country. It became a way for my to relieve stress and have a time away from everyone. Being an introverted freshmen living in the dorms can be a difficult, so I basically spent my large amount of free time that year either gaming or running. My classes were so easy that I didn't need to study very much if at all.

I thought that if this is all that college is, then why am I even going? I made the decision to drop out until I could figure things out for myself.
 

Life as a dropout

Of course, everyone in my life was judging me for leaving college, but I didn't care. I dropped out for good reasons. It was a nice break; and to this day I'm very glad I did it.

I worked a few jobs during this break. I worked as a deli clerk, at a doughnut shop, but probably my favorite gig I had was working as a waiter at weddings. I would only have to work once a week. The owners were super nice and made it a lot of fun. I got to see a lot of weddings and drunken toasts. The best part was we got to eat as much of the left overs that we could manage.

I took some online classes in nutrition during this break, something I've always been interested in, and something I wanted some more formal understanding of. There was a point that I thought I would become a nutritionist, or dietitian. After about eight months; I began to realize that almost everything I was learning was really subjective and that there are few things about the field that are concrete. I didn't feel like I knew anything because everything I was learning had lots of other sources that contradicted it. It's so hard to know what to believe in that field. I concluded that we just don't really know how to eat well or be healthy. We have some vague idea but that is not concrete enough for me; certainly not enough to build a career around.

I decided around May of that year that I wanted to go back to school but I was too late to apply by that time, so I just tabled the decision. In the meantime I was still working and doing my thing.

On my 21st birthday, my girlfriend at the time broke up with me because she thought I was a loser and thought frat guys were way cool. I find out later she slept with some random dude not even a week after she left for college, before we even broke up. I did not see that coming at all; at that time, we had been dating for about a year and everything was great so far as I knew. A few days later, I got fired from the deli because of something I didn't even do; and on top of that I had an extremely painful and debilitating medical condition arise. And because I got fired, my mom was on the verge of kicking me out of the house for "being too lazy". It all came out of nowhere and I was definitely not ready for it.
 
At this point in my life; I really didn't think very highly of myself and saying I was depressed is an understatement; I probably had the worst 21st birthday you could have. When I took stock of my life; I realized that I didn't have a support network. My family has never been supportive in any way and my "friends" all vanished when I needed them most. It became abundantly clear to me that what I was doing was not working and that if things were going to get better it was going to be a result of me taking action.

As depressed as I was, all this actually made me want to go back to school even more. I had heard a lot of good things about Mizzou from various people; so I figured it was a solid choice. It was close to home, a big school with a lot of social life things to do and it sounded like it would be a lot of fun. It would be a way I could get away from all the bullshit. I needed to change and this was a huge step towards doing so. I applied to Mizzou that fall and got accepted at the beginning of December.

On the upside of all this, with the free time I had; I really got into programming. I had been a gamer for a long time; and I was playing a lot of Diablo 2 at the time. I learned programming almost out of necessity because I wanted to have a Diablo 2 bot do cool things and improve it's behavior. I reverse engineered the bot API and taught myself JavaScript in about a week. I wrote a lot of really fun scripts that allowed our Guild to become the top on BattleNet; and I very quickly became an expert on how to use the bot. It was a great project to work on to get my hands dirty with software.
 

Starting at Mizzou

I started school again in that January. Mizzou requires transfer students to declare a major and again I was like how am I going to be sure? I figured that since I was able to teach myself programming, I would have a taste of that major for a while; I planned to revisit the idea down the road after a few classes.

I declared myself a computer science major; and honestly, my initial motivation for being CS had nothing to do with career prospects or money or anything like that. It was just so I could enhance my gaming life like I had done before. There was a lot of cool hacks that I had seen or used, but didn't have the knowledge to know how they worked and I really wanted to know how that all worked.


The first 2 classes I took; we didn't really learn a lot of new groundbreaking ideas for me; and I craved more knowledge, so I started learning things outside of class just for fun. I fully embraced my own curiosity and ability to teach myself. I learned a great deal of self efficacy from that. I kept writing new scripts for my bot; but also got into the web stack. I learned some HTML and CSS and played with that a lot. I also started learning about networking so I could come up with a way to prevent the IP blacklisting that happened when Blizzard thought you were botting.

I also got into the social life at Mizzou quite a bit. Being 21, I could go out to the bars and there was always something to do; though I still really didn't feel like I fit in there. A lot of the times I was out 'partying' I really just wished I was home doing one of my nerdy hobbies.
 

Computer Science major

There was a distinct point when everything just suddenly made sense for me; and I really understood how computer systems work.
 
I took a class called "Unix OS", where we learned how the Unix file system works and how to use basic commands as well as how the operating system works on a deeper level. After about a month in that class, light bulbs turning on for me everywhere, I installed Linux on my laptop and used that for the rest of college. Living in a Linux environment; and all the information about it on the internet, allowed me to understand every little bit about the operating system that I could. A lot of the things about Linux are applicable to all systems.

It was at this point I was absolutely sure I wouldn't be changing my major again; it felt right. I was much more confident in myself and my abilities. That, and I started looking at my career prospects as a CS major and was dumbfounded by how in-demand software engineers are and how much they get paid.

One of the things about that class I really loved was how our professor would rather you be a self-learner, and didn't really grade harshly for not following an arbitrary set of rules. The class was more focused on fostering the students desire to explore. We would have an assignment; but it was for completion; and if you could demonstrate that you learned something you didn't know before. I had a few more classes like that, and looking back at it; those are the areas in my major that I'm strongest at. Big shout out to Matt Dickenson, defiantly my favorite professor at Mizzou.
 

ACM & Cyber Security SIG

From the get-go at Mizzou, I got involved with the ACM. I attended the meetings and went to a few workshops but was never as involved as I would've liked. I didn't know anyone and didn't know that such a thing as a SIG (special interest group). There was one semester that they had elected new leadership and kickstarted a lot of new things.

Out of the handful of existing SIGs, I gravitated towards the cyber security one. Not many people stuck around after the first meeting, so myself and one of my classmates basically were now leading it. I had next to no knowledge of security prior to this so being it's "leader" felt very much like imposter syndrome. But we ended up doing a lot of really cool things and messed with things you would never see in class.

I think at one point we were the largest and most active SIG; which is pretty awesome. We taught each other stuff and discussed cyber security news and shared interesting tidbits of things we saw out in the wild or elsewhere. It was a lot of fun and I got to meet a lot of cool people in the process. It's also been very beneficial to other areas of my computing knowledge; since security is everywhere, and to be able to understand some of the sophisticated attacks; you are forced to know a lot about all of the individual parts.

ACM was a great organization to join. I got to meet so many cool people and it was a place that I fit in very well. We did all kinds of fun things and everyone was super helpful. They even hosted a hackathon which for me was like a party. A whole weekend of engineers tinkering with new and interesting things, junk food galore, all nighters; sign me up!
 

Internship at Carfax

During my junior year, I went out applying for internships.
 
I wasn't very confident in my ability to work in a "real" environment. My only non-trivial project was my Diablo bot; not really something a company would find valuable.
 
The first time I went to the career fair was quite intimidating. I was afraid that I didn't know enough or that all the time I spent on learning random things was a wasted effort.

However, to my surprise, almost every recruiter was super nice and genuinely interested in what I had to say. I made myself a list of about 20 employers I wanted to talk to, all by priority of how much I wanted the job. I knew I'd probably stumble on my first few chats, so I picked a company low on my list first. After a handful of awkward conversations and just throwing things at the wall and seeing what sticks; I got the a good idea of what I need to do. So I went right in and talked to the one at the top of my list; Carfax.

It went great and turns out the recruiter also went to UCM. I remember walking away from that thinking that I totally nailed it. Sure enough; they brought me in for an interview. I stumbled a little bit through their programming part but I must've done something right because they ended up hiring me for the internship that summer.

I wanted to use this internship as an opportunity to get as much knowledge as I could. Working directly on production code with folks who are much better and more experienced than yourself is an excellent way to learn. I would ask so many questions to try to absorb as much as I could. As far an internships go, it was exactly what I wanted. It was close to my house in Columbia, it was within my skill set, and the work environment is very laid back and fun and I got paid pretty handsomely. It wasn't uncommon to play a game of mario kart in the middle of the day against co-workers.

At the end of that summer; I was asked if I wanted to stay on part time during my next semester. Hell yes! This was awesome, I could pick up a few extra bucks, and get some more experience.

As it turns out however; that it was a lot to handle; I was working around 25 hours / week, I had a full class load, I was running the cyber security SIG, I was partaking in the college nightlife, and trying to have a relationship. It got out of hand how little free time I had. It was not unusual for me to get about 3-4 hours of sleep per night. Defiantly the busiest semester of my life, and I really didn't like it because there were so many things I wanted to work on or play with but just simply didn't have the time.
 

Finally, Graduation!

I think that looking back; while I might have spent and extra 2 years to get my degree, it was well worth it. I never would have thought in high school that I would be where I am now; that's for sure.

 
Of the many things I've learned, the most important things I learned from my time since high school was that I should just embrace who I am. There were many times I put too much pressure on myself to make a choice; or times where I didn't think too highly of myself because I let others influence me way more than I should've.
 
I found something that I really enjoy learning about and doing. I proved to myself that I am capable of shaping my own reality and affecting positive change into my life.