Work
          
          
            Throughout my software engineering journey, I've constantly sought
            opportunities to expand my skillset and tackle new challenges. Here,
            I'd like to highlight some projects that allowed me to deepen my
            skills and knowledge, allowing me to develop the skills to solve
            problems creatively and efficiently.
          
          SD-WAN Network Automation
          
          
            SD-WAN (Software-Defined WAN) offers a dynamic network solution. It
            intelligently routes traffic across diverse connections (MPLS,
            internet, etc.) using software, not fixed configurations. This
            translates to increased flexibility, improved application
            performance by choosing the fastest path, and potential cost savings
            through affordable options. Plus, SD-WAN simplifies management with
            centralized control. It's a smarter way to connect your
            geographically spread locations.
          
          
            While SD-WAN offers significant benefits like improved network
            performance and flexibility, manually configuring each device can be
            a significant bottleneck. Imagine a network administrator tasked
            with individually configuring hundreds of devices across
            geographically dispersed locations. This repetitive, time-consuming
            process is not only inefficient but also increases the risk of human
            error. A single mistake in a complex configuration can lead to
            connectivity issues, service disruptions, and even security
            vulnerabilities across the entire network.
          
          
            Thankfully, automation tools can streamline the SD-WAN configuration
            process. By leveraging my expertise in Ansible, Python, YAML, Jinja,
            and vendor-specific APIs, I developed an automation solution that
            drastically reduced configuration times.
          
          
            One hurdle in automating SD-WAN configuration was the lack of a
            unified data model representing the network. This model would
            provide the automation pipeline with the necessary configuration
            values for each device.
          
          
            To address this challenge, Nautobot was used as the network source
            of truth. Nautobot, built using Django, includes a powerful
            application called Design Builder, which allows different networks
            to be modelled. I partnered with the network administration team to
            design the network using Nautobot's Design Builder application. This
            collaborative effort resulted in a centralized database of
            configuration data, expediting configuration and ensuring
            consistency across the network. This data could then be easily
            queried using GraphQL by the automation scripts. By leveraging
            automation tools and a centralized data model, I significantly
            reduced configuration time and ensured error-free deployments,
            ultimately improving the overall efficiency and reliability of the
            SD-WAN network.
          
          Unmanned Surface Vehicle
          
          
            Medium Displacement Unmanned Surface Vehicles (MDUSVs) navigate the
            seas without a crew. These high-tech vessels rely on GPS, radar, and
            sensors to chart their course, making them ideal for long-duration
            missions. From collecting ocean data to assisting in search and
            rescue, MDUSVs offer a versatile and autonomous approach to tasks at
            sea.
          
          
            Extensive at-sea testing of MDUSVs is crucial for software
            refinement and bug elimination. These tests generate vast amounts of
            data logs (hundreds of gigabytes per event) from multiple sensor
            systems, critical for understanding the automation's decision-making
            process. However, not all data is valid or complete, and existing
            tools hindered our data scientists' ability to efficiently remove
            corrupt data and aggregate the valuable insights for analysis.
          
          
            To address the challenge of processing massive datasets generated
            during MDUSVs testing, I co-developed an internal suite of data
            analysis software using Python and libraries like Pandas, NumPy, and
            Matplotlib. This software tackles the inefficiency of existing tools
            by ingesting data logs, intelligently removing corrupted entries,
            and aggregating the cleaned data for streamlined analysis. It also
            generates graphs and time series visualizations, empowering data
            scientists to quickly identify periods of interest for further
            investigation. This internal tool streamlines the data analysis
            process, allowing data scientists to focus on extracting valuable
            insights from the wealth of information collected during MDUSVs
            testing. This experience highlights my ability to develop data
            analysis solutions using Python and my understanding of the
            challenges faced in big data processing.
          
          Digital Thread
          
          
            Digital Thread Additive Manufacturing (DTAM) streamlines additive
            manufacturing (3D printing) by creating a single, connected flow of
            data throughout the entire process. This "digital thread" links
            design, modeling, printing, and even post-production, ensuring
            everyone involved has access to the latest information. This leads
            to improved efficiency, better quality control, and a smoother
            workflow for complex 3D-printed parts. DTAM allows manufacturers to
            trace materials, track progress, and optimize production for a more
            robust and data-driven approach to additive manufacturing.
          
          
            DTAM's system lacked a secure platform for collaboration and file
            sharing, posing a challenge for authorized users working with 3D
            components. Additionally, they encountered difficulties in packaging
            specifications and 3D files into a single, unified PDF for easy
            reference.
          
          
            I helped design and develop a full-stack 3D file sharing website
            using React, DRF, and Postgres. This platform allows authorized
            users to share 3D files, along with corresponding part
            specifications, facilitating collaboration and streamlined file
            management. Furthermore, I championed the development of an
            innovative feature: interactive 3D PDFs for component visualization.
            These PDFs leverage custom LaTeX templates and embedded U3D models,
            taking advantage of LaTeX's capabilities to generate dynamic 3D
            content within the document, ultimately enhancing user experience
            and accessibility. This experience honed my full-stack development
            skills and solidified my passion for exploring new technologies to
            enhance user experience.
          
          Global Positioning and Navigation
          
          
            Global Positioning and Navigation Systems (GPNS) rely on the NAVSTAR
            GPS, a space-based system that continuously delivers global
            position, velocity, and time data. NIWC Pacific supports the
            Navigation Systems Program by providing engineering expertise and
            conducting research to ensure the system's functionality and explore
            future capabilities.
          
          
            While meticulous testing and data analysis are paramount for
            accurate positioning in satellite navigation systems, GPNS software
            often relies on third-party tools for data validation, creating a
            time-consuming and expensive process.
          
          
            I joined a satellite testing software team for a three-month project
            to address this inefficiency by implementing real-time data
            analysis. Recognizing the potential for streamlining the workflow, I
            quickly mastered the system's C# and XML architecture. Leveraging
            navigation message documentation, I successfully integrated
            real-time analysis, eliminating the need for post-processing test
            log data. This not only reduced the validation time by [mention
            specific % or time saved] but also improved data precision by
            eliminating rounding errors introduced during post-processing. This
            project provided a valuable opportunity to rapidly acquire new
            skills in C# and XML, while delivering a lasting improvement to the
            software's capabilities.
          
          LinkNYC
          
          
            LinkNYC transforms New York City's streetscapes by replacing
            payphones with tech-driven kiosks. These all-in-one hubs provide
            free, super-fast Wi-Fi, keeping residents and visitors connected.
            The kiosks also offer free US phone calls, device charging stations,
            and a touchscreen interface for accessing city services and
            information. LinkNYC aims to bridge the digital divide and create a
            more connected, informed Big Apple.
          
          
            Paper-based inspections created a time-consuming hurdle for LinkNYC
            kiosk installations, hindering both pre-installation suitability
            assessments and post-installation functionality verification.
          
          
            To address this inefficiency, I co-developed an Android mobile
            application using Java, MongoDB, and Mongoose. This app streamlined
            the inspection process by digitizing forms and facilitating faster
            data capture, leading to a significant reduction in deployment
            times. My data management expertise further enhanced the solution,
            as I queried LinkNYC data via REST APIs to populate the app and
            transformed information into user-friendly CSV formats for easier
            management and updates. Furthermore, I created clear product
            lifecycle diagrams using Microsoft Visio, ensuring efficient project
            planning and execution. This project not only demonstrates my
            technical skills in mobile app development and data management, but
            also my ability to identify problems and contribute to efficient
            project planning.