As a student at the university of Cincinnati, I complete co-ops as part of the curriculum. This fantastic program allows me to gain real world work experience while completing my degree. Thus far I have completed four co-ops, two at Siemens PLM Software, and another two at Etegent Technologies.
GE Digital - May 2018 - Dec 2018
My last co-op for the University of Cincinnati was with GE Digital's Coretech division. I worked on an internal tool for tracking assets and their owners within the company. I worked on various tasks, like new feature requests, bug fixes, and improving software engineering practices for the service. Our service was hit ~71 thousand times a day! GE Digital gave me fantastic opportunities for both personal and professional growth.
Etegent Technologies - Jan 2017 - Jan 2018
At Etegent I was a member of the NDI team, working on NLign Analytics. During my first semester at Etegent, I worked on their installation software stack. My initial work was doing bug fixes and feature requests on the Microsoft Standard Installer(MSI) used to install the NLign product. Following a short period of work on the MSI, I was given requirements for a new installation tool, one which would extend the limited capabilities of the MSI environment.
Over the remainder of my first semester with Etegent, I architected, designed, and wrote the installer wrapper, or bootstrapper. I designed the framework to be extendable and flexible. I tested the software and worked on standardizing installation behavior. The installer I wrote is now in use for production installations.
I continued work at Etegent over the summer part time, contributing to smaller projects. In the fall, I returned to co-op at Etegent full time. I worked on a few projects in the NLign application, mainly building new features and their accompanying UI. I spent most of the fall semester working on a Component Object Model(COM) API for NLign. A COM API allows users to automate tasks or query for information. I exposed a few of the most commonly used NLign features, and methods for moving data in and out of NLign. It was my responsibility to implement, document, and write tests for the COM API.
Siemens PLM Software - Aug 2015 - Aug 2016
At Siemens, I was a member of the Product Engineering Software team for their 3D modeling and engineering software program, NX. I worked within the UI Services team, on a variety of projects throughout my two semesters with the company. My initial work was that of bug fixing, where I would verify problem reports, and then given details and help from my supervisor, implement fixes for the issues. During the first few months of my time with the company, I would also prototype new functionality to test for feasibility and behavior. During this time I greatly expanded my debugging and development skills, working for the first time within a professional software engineering environment.
One of the dialogs I worked within, from an older version of NX.
Once familiar with the code base and development processes, my work became more complex and independent. During my second rotation with Siemens PLM Software I worked on a large scale refactoring project, repairing a section of the UI API that had been incorrectly exposed. I significantly reduced technical debt in this area as I worked with developers to reconcile behavioral differences between API calls. Also during my second rotation, I began work on a new project, implementing UI functionality for a future version of NX. For this project, I worked with a small team, as well as my supervisor and mentor to implement new behavior for NX UI. My contributions will be present in NX12 and on, after I nearly wrapped up my portion of the project before finishing my second rotation.
I very much enjoyed my time with Siemens PLM Software, and appreciated the increased responsibility I was given as I continued to prove my technical and professional ability.
Myself and a few coworkers during the first Siemens Hackathon.