Work Experience
This page contains a detailed description of my work experience. If you are interested in just the headlines and big pictures of what I did please check out my resume or LinkedIn.
Fullstack Engineer (Online Courses) - MathWorks
March 2022 - Present, Natick MA
As part of the Online Courses team at MathWorks I am helping to develop the next generation of MathWorks Self-Paced Online Courses and related services using React, Go, Spring Boot, and AWS.
As a new member of the team I have taken on many projects throughout our tech stacks to get a flavor of all the technologies. I have worked on squashing dozens of bugs, leading efforts on enhancements, and helping with releases Some of my larger projects include:
- Enhancing the infrastructure to support French Localization
- Adding a new feature to improve sharing and grading progress for instructors assigning Online Courses to their classes
- Leading efforts to localize our courses in new languages
- Assisting with the development of a new internal tool for building courses
- Working directly with content authors to improve the tool
I have also served the role of a mentor, guiding EDG members on their projects with the team.
Associate Engineer in the Engineering Development Group - MathWorks
July 2021 - March 2022, Natick MA
The Engineering Development Group (EDG) is MathWorks's new hires program. It is a rotational program allowing participants to become embedded in project teams, work directly with customers, and complete large amounts of training.
For my first project, I worked with the Online Courses team working on developing a new feature for MATLAB Academy. This feature provided an easy way for instructors of large classes to assign MathWorks Online Courses and grade them. Previously, they had to use certificate PDFs that can be cumbersome to parse. This project provided me experience writing APIs and database operations in Go. I also go exposure to front end development using React.js.
Staying in the E-learning world. I did two additional projects. One developing a reading on sharing and collaborating on MATLAB code for the MATLAB Essentials EdX Course. I also worked on redesigning an internal training covering the topics of MEX files. This course is taken by all new hires in MathWorks EDG.
As a customer facing role, EDG members provide technical support to customers. We are the frontline for solving issues related to MATLAB, and we provide a bridge between customer and developer for deciding on and implementing new features. The training provided software engineering training as well as technical skills with MATLAB and other MathWorks Products.
I have joined several additional internal teams such as the Interview Team and the Self-Paced Training team. Through these I provide technical interviews and attend career fairs on behalf of MathWorks. Additionally, I work directly on refining and adding to our new hire training curriculum.
Student Teaching Assistant - WPI
October 2018 - May 2021, Worcester MA
I helped teach and grade several introductory programming Python, Racket, Java, and SQL. Beyond these intro courses, I helped teach a higher-level course on databases, this course covered the mechanisms and theory behind developing a database system, rather than how to use one, like in the intro course. Currently, I am searching for a career in software engineering. However, working as a TA is one of my best work experiences as a computer scientist. I find it very fulfilling to help someone learn new things. I can only write "hello, world" once, but getting to help dozens of other people write it for the first time is a good second best. Someday, I would like to return to school for a PhD and eventually work as professor.
EDG Intern - MathWorks
May 2020-August 2020, Natick MA
The summer of 2020 I worked remotely for MathWorks thanks to the pandemic. Despite the unfortunate event of the pandemic, my time at MathWorks was the most technically challenging and interesting software development experience I've had so far.
My main project this summer involved developing code to improve the performance and reliability of saving plain code files in JavaScript versions of the MATLAB editor. Previously large files and slow networks could cause slow saves and occasional time outs and crashes. Using a combination of chunked messages and a piece table I was able to improve performance in these scenarios.
This project involved a lot of research and reading of technical articles to develop the concepts used in the project. The code expanded my JavaScript knowledge, now instead of just writing simple scripts I was working with object-oriented JS. MathWorks was also the first company I worked at that included me in a truly AGILE workflow. I learned a lot about the software development life cycle and making sure documentation is good so other people can continue the work you started. As the project I worked on will be expanded and maintained in future versions of MATLAB
Web Development Intern - Wakefly
May 2019 - August 2019, Marlborough MA
During my summer at Wakefly I expanded on web development skills I learned the previous summer. I did development work on 24 different websites and web applications. URLs to these websites can be shared upon request. Most of my work this summer was focused on front end programming with an emphasis on responsive design. I learned about the importance of HTML meta tags and search engine optimization in web design. I also did backend work using several content management systems including: Sitecore, Umbraco, Kentico Cloud, and WordPress.
IT Intern - NMS Labs
May 2018 - August 2018, Willow Grove PA
The more time that passes since this internship the more I appreciate it. This internship occurred the summer after my freshmen year. At the time I did not know much about large scale software development or working at a company. However, the internship challenged me and allowed me to write actual impactful code and learn a ton while doing it. Looking back, I learned so much during my time here that has helped me in my CS journey since then.
The NMS IT internship is interesting as it was broken into 3 parts: Systems/Networks, Development, and Quality Assurance. As a programmer, I spent most of my summer with the development group. However, I got to spend two weeks with both QA and Networks. With the networks group I learned a lot about setting up hardware, I spent a day imaging several machines (not super exciting). I went on several help calls to do things such as connecting a wireless printer to an employee's laptop or setting up a projector in a conference room for a company meeting. With QA, I got my first experience in testing code. I performed a checklist of manual unit tests to test a graphical user interface.
During the main portion of the summer, I assisted the developers in creating a new web application to serve as a virtual marketplace for NMS's clients. I mostly performed minor bug and CSS fixes. But I learned CSS, HTML, and JavaScript as well as backend web development in C# using Microsoft's .NET MVC Framework. Additionally, I had more core coding responsibility when my mentor took 2 weeks off when his wife had a baby. I took over finishing development of an internal intranet web app to be used by the NMS Marketing team to handle inventory management, also in the ASP.NET MVC framework. I learned and wrote several PL/SQL procedures to be called by the C# backend. This was my first introduction to SQL and taught me a lot about data bases that I wouldn't learn in school until much later.