Platform Security develops software to provide security applications for PACOS. Incoming member of team will contribute to the transition of an existing XML-based Key Server to an object-based architecture supporting certificates, cryptographic keys, tokens, and other protected secrets.
MTS Software Engineer 3
Job Description:
Summary:
- Contributes to the transition of an existing XML-based Key Server to an object-based architecture supporting certificates, cryptographic keys, tokens, and other protected secrets.
- Develops object models, secure and versioned APIs, object-level operations, synchronization between ground and aircraft environments, access control, error handling, auditing, and system integration.
- Designs reliable software for distributed environments with intermittent connectivity while maintaining security, compatibility, performance, and operational resilience.
- Researches, designs, develops, integrates, and maintains secure Linux-based software supporting key management and object-based security services for connected aircraft systems.
MAJOR RESPONSIBILITIES:
- Designs, modifies and implements software applications from functional and system design specifications.
- Codes, integrates, tests, debugs, and refines the software to produce the required product.
- Develops software tools and subsystems to support software development, test, and reuse, and manages their implementation.
- Enhances software to reduce operating time or improve efficiency and robustness.
- Reviews, evaluates, and analyzes design interfaces and specifications.
- Maintains the developed software efficiently through solid knowledge of software lifecycles.
- Documents designs in engineering documents including functional block diagrams and data/logic flow charts.
- Designs object-based data models for certificates, cryptographic keys, tokens, secrets, metadata, versioning, lifecycle state, and access-control information.
- Develops secure, versioned REST and/or gRPC APIs for object creation, retrieval, update, deletion, synchronization, and lifecycle operations.
- Integrates established encryption, decryption, key-wrapping, certificate, and secret-management mechanisms without changing approved cryptographic algorithms, key sizes, or signature schemes.
- Prepares and reviews architecture, interface, design, requirements, test-plan, and test-procedure documentation.
- Implements centralized logging, monitoring, audit trails, and end-to-end traceability for object access, synchronization, lifecycle, and error events.
EDUCATION/EXPERIENCE REQUIREMENTS:
- A Bachelor's degree or equivalent in Computer Science, Information Systems, Engineering, or other related field.
- GoLang programming in Linux, ability to work in real-time / embedded software required.
- Embedded hardware and software design experience with x86, Cortex ARM microprocessors, SoCs.
- Hands on experience w/ AWS environment
KNOWLEDGE/SKILL REQUIREMENTS:
- Strong understanding of object-oriented design, data structures, software architecture, and secure software-development practices.
- Experience designing and implementing REST APIs and/or gRPC services.
- Experience developing networked client-server or distributed applications using TCP/IP.
- Experience with authentication, authorization, RBAC, and/or ACL-based access control.
- Experience with structured data formats and serialization, including JSON and XML.
- Experience designing software for API and object versioning, schema evolution, and backward compatibility.
- Strong system-integration, debugging, troubleshooting, error-handling, and performance-analysis skills.
- Experience with source control, code review, automated builds, unit testing, and integration testing.
- Ability to translate system and architecture requirements into detailed software designs and implementation.
- Ability to manage multiple priorities, address cross-functional dependencies, provide technical direction, and communicate clearly in writing and verbally. Highly Desirable
- Experience with cryptographic key management, certificate management, PKI, or secret-management systems.
- Working knowledge of AES, RSA, TLS/mTLS, certificates, key wrapping, initialization vectors, and related cryptographic concepts.
- Engineering or Software Engineering, or equivalent experience.
- 5-10 years’ of software development experience.
- EDUCATION AND EXPERIENCE REQUIREMENT: B.S. in comp sci and above