Zachary Henkel (BS 2000) compares his work as Principal Software Engineer at Microsoft to gardening: “Sometimes I’m hauling dirt or digging ditches, but when everything aligns, I can sit back and watch the flowers bloom.” Read more about his work with Microsoft Office (“hundreds of millions of lines of code”!) and his time at UW-Madison below.
What are you doing professionally? I’m a Principal Software Engineer on Office’s Core Architecture Team at Microsoft. I describe myself as a “code gardener” because I’m responsible for the long term health and maintenance of Office’s C++ code. That can involve writing new code, deleting obsolete code, or updating code to new compiler or language versions. Some days it’s writing static analysis tools or fixing new issues revealed by them. I also do a lot of code reviews. It’s a job where sometimes I’m hauling dirt or digging ditches, but when everything aligns, I can sit back and watch the flowers bloom.
What do you like about it? I love the challenge of working at Office’s scale. Office’s codebase is hundreds of millions of lines of code and need to be built for multiple platforms and endpoints. There are few other products at this level of size. As I mentioned above, there are a lot of different directions that my job takes me on any given day, and I appreciate that variety.
What motivated you to study computer science? I had a summer school class on computers early in elementary school, and after that I was hooked. By the time that I was applying to colleges and thinking about potential majors, I knew exactly what I wanted to study.
Why did you decide to attend UW-Madison? Since I knew that I wanted to major in Computer Science, Madison was at the top of my list due to the strength of the department. Madison provided a great chance to be away from home in Racine without being too far away. It didn’t hurt that I was able to secure a generous scholarship to attend!
What was one of the most valuable experiences you had in CS at UW-Madison I was lucky enough to be in the last section of CS302 (Intro to Programming) that was taught in C++. The very next semester the class transitioned to Java. Most of my career has been programming in C++, and I wouldn’t trade it for anything.
What did you do outside of class (internships). How did these benefit your education, current career, or life? I had summer internships with SC Johnson and National Instruments while I was in school. They were great opportunities to immediately apply what I was learning in my classes to a professional setting. Those experiences were the cornerstone of a strong resume and helped me land a number of attractive job offers after graduation.
Do you have any advice for current CS students? Never stop learning. CS is a field that is constantly changing and evolving.
What do you like to do for fun? I love to play board games, cheer for the Badgers, and enjoy Madison’s craft brewing scene!