Intern Series: From Academia to Real-life Programming - Meet Neal Beeken
Neal Beeken is a graduate student finishing up his Master’s Degree in Computer Science at Stony Brook University where he also completed his undergraduate degree. For the past three years, he’s worked as a TA for a low-level programming class. At MongoDB, he worked on the Cloud Monitoring team.
Josh Fayer: How did your studies prepare you for your internship at MongoDB?
Neal Beeken: I have a Bachelor’s Degree in Computer Science and I am currently pursuing my Master’s in Computer Science. At school, I focus on low-level operating systems and C programming. As a teaching assistant, I was given the chance to teach students how terminals work and how to understand the core components of computer programming. That experience definitely prepared me for my internship at MongoDB, where I work on cloud monitoring.
My degree focus in school is a little different from the work I’m doing here at MongoDB. Working on Cloud Monitoring isn’t very similar to my school work, but I am still able to apply my knowledge of how to do things the right way, and how to make your code robust and work for a wide array of inputs. These are transferable skills that have helped me explore new sides of computer science outside of an academic environment.
JF: What are some of the projects you’ve worked on at MongoDB?
NB: During my internship, I’ve been working on a full-stack project around MongoDB access tracking for MongoDB Atlas. Currently, if you log into an Atlas cluster, you can view all of the logs for the instance and filter them yourself, which is a technically-oriented way of acquiring information about your database. My task was to create a webpage where you can more easily see all authentication attempts for your database in Atlas.
JF: How have your experiences working at MongoDB been different than the projects you work on at school?
NB: One of the things that’s different about working on real-production level code is the amount of orchestration that goes into making sure things go correctly and in a non-restrictive way. There’s so much looking and planning ahead here, and things are very well-documented. Imagine I encounter some error in the code, all I have to do is look in the commit message in that code, and follow it to a Jira ticket from about a year ago. It’s a very impressive development flow. That’s not something I’ve experienced before, but it’s a great process to work with.
Working in teams is so much more streamlined because of that as well. There’s definitely this collaborative aspect that’s very different. You get to see features land on paper much more rapidly and satisfactorily, and you can test as it goes. Back at school, we worked on elaborate scripts to test code and it had to be robust; there was always a lot of pressure to get it out quickly. Because of all of the processes we have in place at MongoDB, it doesn’t feel like there is a dark cloud of pressure hanging over you. There are still deadlines, but there’s no pressure, because I know we can all work on it together.
JF: Sounds like you’ve really enjoyed the work, what outside of that has been impactful in your internship experience here?
NB: I feel like I truly fit in here. MongoDB has a community for me, which means I get to contribute and bring my own experiences to the table. Every day, I meet amazing engineers who I can relate to. There are also several affinity groups for people of diverse backgrounds. At MongoDB, everyone is an individual, and I get to be myself.
Interested in pursuing an internship at MongoDB? We have several open roles and would love for you to grow your career with us!