Software Engineering Institute at Carnegie Mellon University

Project scope
Throughout my summer at the Software Engineering Institute, I was assigned the following projects:
Account Automation Scripting
- Create a script in PowerShell capable of creating and managing network user accounts.
- Must perform Active Directory, Exchange, and Lync tasks.
- Code must be well documented and organized.
- Script must not cause conflicts, overwrite data, or leave partial actions.
- Must be robust and handle all scenarios, failing gracefully.
- Written documentation on usage required.
Splunk Data Collection
- Use Splunk to analyze network data trends and identify anomalies.
- Create dashboards for Mail, VPN, and Web server statistics.
- Choose appropriate visualizations for at-a-glance data analysis.
LaTeX Document Conversion
- Convert existing word templates to LaTeX templates.
- Create package template that allows for easy document creation.
- Document all code and usage of templates.
Background
Following the completion of two successful internships at ABB, I decided it was time to look for additional opportunities as a final internship during my bachelors program. By doing so, I would be able to vary my exposure to different Computer Science related environments. I was able to secure a position working for the Software Engineering Institute located at Carnegie Mellon University. This experience was everything and more than what I was expecting. Aside from being able to work in a more academic environment, I was also able to experience what it was like to work for a federally funded program. I was given the opportunity to work in IT Systems, working closely with a group of people to not only complete assignments, but to work as a member of their team and expand my knowledge. Every day was challenging but extremely rewarding, working closely with my colleagues to overcome problems and learn how the systems worked that made the Institute tick.
Project Results
This experience lead me to learn new programming languages, techniques, and really pushed me to work as a member of their team throughout the summer. To begin, I was able to use my knowledge of the LaTeX language from my experience at Allegheny writing my thesis. With this I created a technical document template based off of the existing one which previously used Microsoft Word templates. The code I created was well documented, organized, and allowed for faster creation and more consistent formatting of technical report documents. This document is still being utilized to this day and can be seen on the SEI and CERT press release pages. Next, I was tasked to create a script that would help streamline the Windows side of the account management process. This not only involved the typical Active Directory work, but Exchange, Lync, and security configurations were also completed within the script in addition to sending welcome materials to the user and notifying the correct groups of a user account action on the network. This script was written to ensure all actions completed were intended, and would not alter any other accounts unintentionally. In addition to that, the script validates all inputs and formats for consistency, it comes with documentation in LaTeX generated PDFs, commented code, and even in-program PowerShell documentation. Finally, I was tasked to create several dashboards in a data collection platform called Splunk. This system would collect and archive server logs and network traffic, allowing the data to be analyzed in raw format or through convenient at-a-glance visualizations. I spent the remainder of my time at the SEI creating these visualizations, which can be seen in the gallery below! All in all, I feel this internship gave me a wide array of new responsibilities, all of which brought new skills to my collection and caused me to use existing ones in ways I never expected. To see previews of the LaTeX document, account automation script, and the Splunk dashboards, check out the gallery below!