This month I have been making some changes to my schedule to accommodate my studies for my second semester of college studies. I ended up needing to leave one of my jobs to make more time, but I thought I'd write down some of the things I learned there, and how it helped shape my future. Here goes!
I spent a couple years working this small business in Fowler, Colorado as an IT Consultant. My first few days were very interesting--I didn't know how much my new co-workers knew about a field that I had previously thought was reserved only for geeks and employees working at big corporations. What I found was a community of people who knew a very wide base of information, and used that knowledge (and the years of experience) to help everyday people with their problems. And it really could be just about any problem, from "My Internet is down!" to "The server isn't responding!" to "I have a virus!" to "My Internet is down!" (We got that one a lot.) Sometimes, I felt like we were solving problems that were just barely related to the computer side of things, but that was kind of the vibe I got from working there: that we could fix any of your problems if you are willing to throw it at us. Our job was to keep people up and running--happy. And that's exactly what we did.
This is also where I got my first experience with code (in the form of bash scripting, at first). We used a very wide variety of tools and operating systems--whatever the problem called for. But when the tools run out, and we need a custom solution, we were willing to create one. For instance, my first real project was a kind of web scraper that would go to a website and hit the right buttons to initiate the download of a program. It had to be more advanced than a wget command, as there were several steps involved. And if this sounds familiar, yes, I am still working on the program, and have it hosted on github.
That first project really opened my eyes to the opportunity code gives a person--to create something from scratch, out of seemingly nothing, that takes a given input and sends a specific output. I could finally control exactly what a computer does, and that got me hooked on programming. I am a creative person, and the creative outlets I knew of and utilized were things like writing, drawing, taking pictures, making short films. But this was a new one. It requires not only an ability to create something from nothing, to think outside the box to solve problems, but also an attention to detail and technical expertise on a level I had not seen before. This is what I feel I was made for!
Things got even better when I worked on a project in a group. We had a device (a BeagleBone Black, for you SoC enthusiasts) that we wanted to be able to plug in to a network, select a business profile using a couple buttons and a small, simple display, ping all the known IP addresses that needed to be up, and send the results of the test to said simple display. I got to talk with the other workers to figure out how to use the drivers that were written on the desk next to mine so that my part of the program would talk with the others correctly. It was a bunch of chaotic fun, and in the end, we had a version 1.0 that I was proud of. Definitely my very best memory of working there!
Here we are, a couple years later. I have shaped my college degree around what I feel I can best use to make a living and enjoy at the same time: computer programming. The years leading up to this one, I really wasn't sure what I wanted to do with my life. I wanted to go to college, but the more I read about it, the more I learned you don't need a college degree to run a photography business. As far as I can tell, going to film school isn't guaranteed to help much, either. These were the places I wanted to go, but I wasn't sure how to get there, or if I'd like being there for the rest of my life (the latter, of course, I will never truly know for about 50 years, I guess). But now that I had this passion for programming, the path became very clear: I needed to start working on a Bachelor of Arts in Computer Science so I can get a job and experience working with other people creating software tools to impact the world around me.
So here I am. I have just finished my A+ Certification, which gives me even more time to invest in my degree. I am studying from home, using a combination of CLEP tests, DSST and a program called CollegePlus. With these, I can basically sprint through most of the general education courses to get my Associate of Arts degree, then go through Thomas Edison to finish up with the really relevant materials. While I work on that, I am also learning new languages and coding every day as much as I can! I am also trying to follow this planner/document very carefully--as I can, on the side.
Because of all these new studies (and the steady bills that are coming with taking tests, buying materials, staying signed up with the programs), I have decided that it is time to move on from the small business. As a contractor, the work by nature is varied, as is the income. In addition, working there was a non-stop learning experience, and, though I enjoyed learning about the new tools and processes, I find myself needing to spend as much time as I can learning how to properly program in "x" language and get my general studies done. However, I will always remember the people I worked with as some of the coolest geeks I know, and will always count them as friends. I learned so much from my time there, and I feel I learned what I really want to do with my life there. I'm so glad for the time that I had there!
PS: I did a lot of research before I decided on Computer Science. If you'd like to see a couple videos I watched that really helped me to understand the field, take a look at these: