Software/Data Engineer, CapitolOne
WHS Class of 2013
What do you do?
I am currently working as a software/data engineer for CapitalOne’s Chicago Office, though I will be transferring to the San Francisco office in September. My specific duties involve designing, implementing, testing, and supporting applications that migrate data between legacy systems — such as databases hosted on servers owned by CapitalOne itself — to cloud storage systems such as those offered by Amazon Web Services. (AWS is a wildly booming industry in and of itself; if you have any interest at all in the future of cloud, getting familiar with AWS is a great start!) Building these applications involves coding in Java, Python, and Node.js languages, as well as having a deep understanding of SQL, none of which was required when I entered the position. Unlike the misconception that someone needs to be an expert in algorithms and coding languages in order to get a great job in the Computer Sciences industry, what employers in growing companies look for is a determination to learn, grow, improve oneself, and never settle for being content with the belief that something can be improved no further.
How did you get there?
Prior to my junior year at Whitewater High School, I had zero experience with computer programming. With the innocent ambition to learn how to write macros for an online MMORPG, I enrolled in Computer Programming I in Visual Basic in 2011 and never really looked back. The joy I took in code was enough to make me take AP Computer Science my senior year as an independent study, despite the challenges this situation posed. And I squeezed in time my second-semester senior year for Game Programming, which is where my imagination really took off. What really struck me in this time was the unlimited potential of what I was doing — not that I was writing code, but what I was building. Anyone can write some computer code, but it takes someone with an idea to begin to explore the things that we can do with a few variable declarations and semicolons. Anyone can do that, too; they just have to have the courage to try first.
What advice do you have for current computer science students?
During my time at WHS, Ms. Masbruch had on her wall a sign that’s almost certainly still there, a sign that has approximately 10 variations on the same theme: just keep trying. This is not only great life advice, but the single most fundamental driving power behind Computer Science. When I had a summer internship in Humana, a health insurance company with an office in Green Bay, my team lead had a driving theory: that anything was possible for us to code, as a team of software engineers, and that all we had to do was figure out the way. He himself acknowledged that, in reality, this concept breaks down. We obviously can’t program a computer to reverse time, or steal the answers to the test off of Ms. Masbruch’s hard drive (because that violates academic policy!). But, at least in the former case, that doesn’t prevent you from trying. More importantly, I believe that it is this concept of perseverance that finally hammers home the truth that a programmer must consider anything possible in order to start getting where they’re going. A programmer doesn’t learn by staring at code. A programmer doesn’t accomplish the impossible by meticulously checking syntax. A programmer excels by hitting the compile button and watching the process fail. Every failure leads to a fix. Every bug to a lesson learned. These things don’t go in one ear and out the other. They stack.
I can’t tell you how many times, while attempting to debug code, I have sworn to myself, “This is impossible. There is absolutely no way in the laws of the cosmos that this code can produce this result.” As it so happens, if I had a dollar for every time I have said this phrase and been correct, my bank account would be empty.
The best programmer is not the one that writes 10000 perfect lines of code and walks away.
The best programmer is the one that writes 10 bad lines of code, learns something new, and writes them again. Over and over and over again, until anything is possible.
Posted July 16, 2018