Key responsibilities include leading software development teams to analyze user requirements to derive software design and performance requirements, overseeing the modification or implementation of software to meet those requirements, validating testing and documentation to verify that the software meets requirements, and improving the various software development processes and best practices used on the project. Keyword: C++, Java, Python, Linux, Skyfield, STK, GMAT, database, Kafka, PostgreSQL, MongoDB, shell scripting, satellite, geolocation, TDOA, FDOA, SIGINT, signal processing, DSP, algorithms, Git, Agile, Scrum.