Raytheon Project

Java icon
Java
Springboot icon
Springboot
Raytheon image
As a software engineer contracted to Raytheon, I work as part of an agile team within a larger ART that practices SAFe methodology. The ART as a whole maintains many PLM tools, with a major focus on a custom implement of Windchill PDM. My team focuses maintaining parts of Windchill relating to customer deliverable, technical data packages. Windchill itself is a large Java SpringBoot app with a JSP frontend meant for managing data throughout its lifecycle; including revisions, approvals, release.
While working on this project I've had a hand in touching everything from Jenkins pipelines, to our custom selenium implementation, to creating tables that combine and merge many data sources for efficient consumption by the end users. One of my major contributions was architecting and implementing a SpringBoot based PDF merging and conversion solution that replaced an Adobe product saving hundreds of thousands of dollars in licensing fees annually. My solution handles converting many types of file formats, from office files to CAD drawings, into PDFs and then combining them into reports to deliver back to Windchill depending on the type of request. The documents are also dynamically watermarked with EXIM/ITAR information depending on the security classification of the specific data. As the Team Lead for this project, I first conducted a security investigation to ensure the libraries used were compliant with Raytheon's security policies, then I created features and stories for my teammates to work and assisted them in development and code review. I also handled the core development to ensure the solution was cohesive and scalable as people built out the various components.
To prove to the business that this solution was as reliable, or better, than the Adobe product we were replacing, I created end to end robustness tests which ran with both a high load and variability of production data. I then presented a report to the stakeholders demonstrating readiness of our application. After it's deployment and proven success, we were later able to provide this solution to our many Closed Area labs. Since engineers on these sites cannot use phones or otherwise have any outside internet access, they normally rely on hundred-page, physical installation documents during upgrades or deployments. If they run into issues with Windchill or other connected apps, they have to remember error messages, steps taken, etc, and then report back to our ART for assitance. As part of my innovation, I replaced many install steps of our app with scripts, reducing documentation, human error, and decreasing installation time from hours to 10 minutes.
Outside of my day to day responsibility, I also led our ARTs internal innovation process, establishing our pre-innovation meeting cadence, demo structure, and creating a process for documenting and sharing ideas that is still used today. This process involves a complaint/solution board, where developers, users and others can submit problems they see in our current processes or tools, and then others can come up with solutions and work them for their innovation. Alternatively, developers can submit ideas they have for new tools or process improvements and have other people collaborate with them to build it out. For one of my innovations, I created a tool embedded in Windchills UI that allows users to quickly create test data in given lifecycle states and structures to save time testing. Oftentimes in Windchill, developers checking eachothers code, or QA testers needing to perform manual regression tests will need to make a lot of test data in different configurations. Windchill is a slow application with lots of repetitive UI steps for creating simple objects, and workflows that need to complete many steps before and object is in the correct state. When using my tool, instead of spending combined hours of tedious, mentally draining clicking, users can fill out one screen and click "Create", and then step away for a few minutes and come back to all their test data ready to go. My solution at first used only objects most relevant to my team, but since it's inception four other teams have adopted and expanded it to include their own object types and workflows.