Designing, developing, and testing software applications for space systems and technologies
Writing clean, maintainable code that adheres to best practices and coding standards
Architecting and implementing complex software systems to meet project requirements
Collaborating with team members to understand project requirements
Contributing to the development of innovative software solutions
Utilizing version control systems such as Git to manage code changes
Participating in code reviews to ensure code quality and adherence to development standards
Troubleshooting and resolving software-related issues in a timely manner
Documenting software configurations, processes, and procedures for future reference
Staying current with industry trends and advancements in software development and space technologies
Providing technical leadership and mentorship to other engineers
Requirements
Requires Bachelor's degree in a related field (or equivalent work experience in lieu of degree or Masters +10 yrs experience)
Typically 12+ years of related experience
Extensive expertise in multiple programming languages and software development principles
Ability to design, architect, implement, and test complex software systems
Expert understanding of software engineering processes, advanced algorithmic knowledge, domain-specific design patterns, performance tuning, and system scalability
Mastery in writing scalable, optimized code, ability to design complex software systems, and knowledge of best practices, including secure coding, and system architecture principles
Ability to independently contribute to the design and development of software applications, conduct unit tests, and participate in code reviews
Experience with different software development methodologies such as Agile and Scrum/Kanban