TA Spotlight: Nathaniel Hughes

Image
Nathaniel Hughes

Each week we spotlight an OMSCS TA, so you can get to know who's behind the screen. Here are four questions for Nathaniel Hughes, who TAs CS 6400, Database Systems and Concepts.

What do you do professionally?

I've been working as a software engineer for seven years, focusing primarily on systems engineering and computer networking. I first became interested in computing during my freshman year when I began working part-time as a technician in a data center operated by Facebook. Since then I've worked as a software developer for a variety of companies, including big firms like IBM and most recently for an analytics startup that processes billions of events every day. I'm very passionate about free and open source software; I was an employee at Mozilla for a time and have since continued to participate as a contributor in the open source community.

Why do you TA for OMSCS?

I am currently a TA for CS 6400, Database Systems and Concepts, a course with a strong emphasis on a semester-long team project. My responsibilities include coaching students on design decisions and grading incremental project deliverables throughout the semester. I enjoy working closely with the course professor and the rest of the teaching staff in order to give other students a positive leaning experience.

What's your advice for future students in OMSCS?

My advice is to network with others in OMSCS as much as possible. The OMSCS community has a lot of experienced and interesting people involved in the program. I recommend joining the OMSCS Slack and getting involved in some conversations that you're interested in; it's a great way to meet other folks in the program. And, of course, connecting with your classmates on LinkedIn is always a good idea!

What's your preferred programming language, and why?

My preferred programming language is Golang. I love Go because its performance characteristics are similar to other compiled languages like C++. In contrast to C++, its syntax is less complicated, and it handles a lot of causes for programming error, like memory management.