Key responsibilities include analyzing user requirements to derive software design and performance requirements, modifying or implementing software to meet those requirements, testing and documentation to verify that the software meets requirements, and supporting 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.