UNIX Engineer, Epic Systems
WHS Class of 2006
What do you do?
I work for Epic Systems, a medical software company based in Verona, WI as a UNIX Engineer. Epic creates Electronic Medical Records software that is used in hospitals across the country (and some overseas!) to store patient data and help doctors improve patient care (woo!) and meet regulatory requirements (okay, less fun). I’d say that I don't do anything directly useful but instead help keep the things running so the developers can be useful. I tend to focus on improvements to tools and processes that help my team members do our job easier and on a larger scale. Also, many members of my team don't have a formal Computer Science background and so I often push to improve the quality of our code and our coding processes, proselytizing code reviews and unit tests, and help team members talk through the best way to abstract out a problem.
How did you get there?
In highschool I was one of the students that had taken the full gamut of math and computer science courses offered at WHS by my Junior year and so during my Senior year I was able to take computer science and math courses at UW Whitewater. Between the course I took at UWW and AP tests I had covered most of my freshman college classes. After graduating high school I went to college at the University of Minnesota Twin Cities, flip flopping between majoring in Physics and Computer Science and ultimately graduating after 4 years with a double major in Computer Science and Physics, you can guess which one of those was a sound investment. While at the UofM I joined the local student chapter of the ACM, meeting my similarly nerdy peers who not only were important connections in getting my various student jobs but also inspired and drove me forward, causing me to learn more and become a better problem solver and programmer. Iron sharpens iron.
During college I had four main student jobs, each one I got my foot in the door because of people I knew. These jobs were a web developer for the business school, a volunteer systems administrator for the ACM student chapter, a helpdesk operator for the Computer Science department, and a .NET developer for a startup. At each of these jobs I had a lot of freedom in what I worked on. I would identify a problem, sometimes based on what I was seeing and other times based off of new patterns in user's issues, and then get to learn about something new to address the problem. It was at these jobs I learned to manage Linux systems and IT operations, and refined my programming, problem solving and, more painfully, my remedial people skills.
After graduating college I got my first full time job in Fort Atkinson working for a business to business media company. There I learned to apply many of my skills to managing systems that really matter, server downtime or site slowness translated to lost traffic (and so lost ad views) and could be a Big Problem. After a year and a half I moved on to working for the University of Minnesota's university wide IT infrastructure for a very small team of 3 that helped keep some of the largest web services up and running. Most recently I work for Epic systems.
What advice do you have for current computer science students?
First, find your tribe. If you don't have peers then you're not going to grow. You don't know everything and it's really hard to know your blind spots without people around you. The interests and passions of your friends can help you learn about new fields, new problems, or even just new hobbies that you never knew about but nonetheless find amazingly interesting.
Second, don't be the smartest person in the room. For one thing, you're probably not the smartest person in the room and someone who always acts like they are can be deeply unpleasant to be around. But I'm mostly talking about being willing to step out of your comfort zone and get involved in projects and teams that are just a little bit beyond your reach. Not only is the challenge important but having a desire to learn and being surrounded by more intelligent, more driven, and more passionate people will give you great chances to grow. Later on when you're working full time, you might truly find yourself consistently being one of the smartest people in the room and you can get to a point where you struggle to find new challenges. This can be a sign you need to move onto a more challenging position, either taking on new responsibilities at your current job or finding a new job.
Third, be willing to help others. The corollary to previous piece of advice is that you should be willing to help pull others up to your level. You should forward on the help you received.
Fourth, don't try to prove how smart you are by being overzealous. Something I've noticed, in myself and in others, is when someone is new to something they will sometimes read or hear very strong opinions from people more experienced than themselves and will take on those opinions with a near religious zeal. The result is someone who holds a stance they can't defend, don't necessarily understand, and, worst of all, someone who has closed their mind on the subject. It’s better to learn to be comfortable with being new, inexperienced, or unknowledgeable and keep an open mind.
Finally, don’t double major. It’s probably not worth the time, stress, or money.
Contact information:
kristopher@k8r.io
https://www.linkedin.com/in/kristopher-kirkland-122b5a62
Posted February 24, 2019