/home/john-c-allwein/

Moving Forward

It’s really hard to believe that 2018 is already coming to a close. This year was honestly a year filled with personal growth, which I think is a rather good thing. I guess the obvious thing is that I became a legal adult, which has been a weird feeling, considering I’m very much still in a transitional period in my life, so its mostly like being 17 but I can vote and I go to college now. Oh, and I can sign financial responsibility forms for student loans. That’s always helpful :).

The largest accomplishment in 2018 was graduating from high school and futhering my computer science education at RPI. I managed to finish my first semester with a 3.91, achieving As in my Data Structures, Economics, and Calculus II classes, along with an A- in Physics 1. I had brought 22 AP credits from high school with me, which allowed me to start as a second semester freshmen, so I went from high school senior to college sophomore in a year. I learned a tremendous amount from these classes, with the most knowledge definitely coming from my Data Structures course. I’ve been “seriously” programming for around 6-7 years now, with my definition of serious meaning that I actually have been able to develop things and not just modify tutorial code. Don’t get me wrong - following and modifying tutorials is an important part of getting into programming. It gives you an opportunity to a) get a working program that you can tamper with and explore in real time (that awesome instant gratification!) and b) allows you to pick up different skills, such as library familarity, language features, etc. However, being able to start with int main(int argc, char** argv) or public static void main(String[] args) and turn that into something of your own is another ball game. And it’s a ball game that I really enjoy and hope to coach someday.

Over time, I’ve become much more competent with turning ideas into reality; however, I didn’t really care about nor understand a lot of the core Data Structures concepts of what I was working with. I knew a Java HashMap allowed me to have Key,Value pairs, I knew what concurrency was and some approaches on how to deal with it, I knew about IO (file / networking / console), binary, lots of hardware stuff, but I really lacked a foundation of what it meant to be efficient, how things worked underneath, and how they could be extended. Leaving Data Structures, I not only picked up C++ & manual memory managament, which I’ve grown to actually really like, but I can happily explain to you how a binary search tree works, how a hashtable is implemented, what big O notation is, and most importantly, I have implemented all these things myself. I can now easily break down problems and figure out what tools would be the easiest to use to help me achieve a problem. Additionally, I can also figure out what would be the most efficient option, as for better or worse, the most efficient may not be the easiest in a lot of circumstances.

On a less technical note, I’ve also quickly begin to (re)discover how quickly life can change. People who were with you for about 1/4 of your life just vanish. People who were with me my entire education (grade, middle, and high school) also have become strangers. I’m not particularly upset about this, it is well-defined behavior. There are definitely some people that I wished we kept in better contact, and that is perhaps my fault as well. However, I am very greatful for the people that are still a part of my life and I wish those who have already fallen out of contact the best. I get it, life keeps going, things change. I’ve met a lot of fantastic people over at RPI that have only been a part of my life for a fraction of a year; however, they’re very important to me now. We can’t dwell on the past, we can only use it to make a better future.

I’ve been doing a lot of reflecting on the new year and what I want to accomplish in 2019, the next semester, and just the future in general. Throughout these reflections, I’ve come to realize that fundamentally I’m a lot happier than I was a year ago, which I consider a major success. I’ve also learned a lot in this past year: about computers, physics, economics, and math; about friendships; about relationships; and about life. So starting off the New Year, my primary goal is to a) keep learning and improving as a person, computer scientist, friend, brother, son, grandson, nephew, cousin, roommate, guy from across the hall, etc. Thinking a little more specific, I’d like to continue on improving my physical well-being. I’ve begun to become a lot more active and I am determined to continue to improve throughout 2019 and beyond. To help me accomplish this, I’m trying to further improve my time management. It’s definitely gotten much better, and I managed to do well this semester in a large part because of that. However, I find myself spending a bit too much time on my phone and just doing unproductive stuff on the Internet. I’d like to refocus this time in studying, exercising, and spending time with people. It’s far easier to waste time on Reddit / Discord as a form of downtime than it is to focus on self improvement, but ultimately they both relax the mind and that is the objective.

Thank you everyone for a great 2018: looking forward to a great 2019!


Published on 12/28/2018