This past summer I worked remotely for MathWorks thanks to the pandemic. Despite the the unforuntate event of the pandemic, my time at MathWorks was the most technically challenging and interesting software development experience I've had so far.
I help 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 fullfilling 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.
During my summer at Wakefly I expanded on web development skills I learned the previous summer. I did delevopment 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 metatags and search engine optimization in web design. I also did backend work using several content management systems including: Sitecore, Umbraco, Kentico Cloud, and WordPress.
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 employees laptop, and 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.