Overview

Introduction

As a Software Engineer Intern at Lockheed Martin Missiles and Fire Control, I was placed on the Layered Laser Defense project. The goal of the project is to build a laser turret that can be used to disable incoming drones, missiles, and other aerial technologies for defensive purposes. Due to the nature of Lockheed Martin technologies, I may not discuss proprietary information on this page. However, I will summarize my responsibilities, contributions, and what I learned while working on this project.

Workflow and the Agile Software Development Cycle

-Daily morning scrum meetings to report on blockers and daily tasks
-Weekly team meetings to report on status
-Monthly sprint planning for minor releases
-Utilizing Jira to organize, assign, and report tasks for each sprint
-Using an isolated development desktop environment
-Utilizing GitLab to handle merge requests and peer review
-Performing unit tests on development environment
-Performing integration tests on actual lab chassis

General Tasks

During the first few weeks of the internship, I was assigned minor "nice to have" tasks to implement into the main executive GUI. These features were written in Java and were not required nor a big priority for our senior developers to work on so they were perfect to get me started. While they were minor in priority, they are likely to be greatly appreciated since these are what the operators actually see while using the GUI. Generally, this involved redesigning labels, adding unit configurable conversions, and working with button functionality. Later on, I was assigned tasks involving build scripts using the GitLab pipeline, CMakeLists, and Gradle. Outside of source code tasks, I've worked on building Linux OS images, testing and deploying physical hardware (Hand Controller), and some bug fixes.

Some Things I Learned

-Git/GitLab
-Agile Software Development Cycle
-How to work with large codebases
-More intermediate Java GUI practices
-Intro to CMake & Gradle
-Intro to C++
-Unit & Integration Testing
-VMWare & intro to Linux
-Intro to middle end tools such as RTI Connext
-Intro to automative python and batch scripting
-Intro to embedded systems
-Working with a team

Conclusion

This internship has been a very valuable experience in my career path. My code will remain in the codebase leaving a real impact. I was also able to expand our engineering effort and efficiency. Thanks to my contributions, I was given an offer to extend my internship throughout the fall semester! I hope to continue working with Lockheed Martin and possibly move into Classified areas.

Generic (NON Lockheed Martin) Target Acquisition GUI

An image of the type of GUI that I worked with (not actual)

Generic (NON Lockheed Martin) Military Hand Controller

A sample image of the type of military hand controller (not actual) I used to test my changes

Other Projects

ClassifAI

I co-led a team to build an artificial intelligence tool to transcribe and analyze audio/video for teachers.

Superfrog Student Scheduler

I co-led a team of fullstack developers to make a scheduling website using Vue.js and Spring Boot.

BINOCS Gaia Enhancements

For my Honor's thesis, I worked on enhancing binary star detection software through automated data collection and more.

IOS Apps

I developed clones of popular apps such as Twitter and Instagram.

Sharepoint Site

I was tasked with creating and administering a new Sharepoint site equipped with Infopath forms.

Microsoft Windows Automation

Using Powershell and Batch Scripts, I was able to automate onboarding Windows processes for many assets.

Raspberry Pi Motion Sensor

My partner and I challenged ourselves in creating a motion sensor with automated notifications.

Discord Bot

I created a personalized Discord Bot to bring enjoyment to a gaming community.