HOW A SENIOR SOFTWARE ENGINEER WILL MAKE AN IMPACT
Provide Operations and Maintenance (O&M) support for mission-critical applications used by Intelligence Community customers.
Respond to user-reported issues and questions, troubleshoot problems, and implement solutions in a timely manner.
Design, develop, test, and deploy software enhancements and new capabilities.
Collaborate with stakeholders to gather requirements and translate business needs into technical solutions.
Participate in Agile ceremonies including sprint planning, daily standups, reviews, and retrospectives.
Maintain and improve application performance, reliability, and security.
Develop and maintain technical documentation and system artifacts for legacy system.
Support application integrations and data exchange with external systems and services.
Work closely with team members to continuously improve development, deployment, and support processes.
Support the lifecycle management of both legacy and modernized applications, ensuring continuity of operations throughout migration efforts.
Contribute to the design, development, testing, and deployment of a new application while maintaining and enhancing the existing production system.
Assist with planning and executing the decommissioning of legacy application components, services, and infrastructure.
REQUIRED SKILLS AND EXPERIENCE
Self-starter mentality with a strong desire to learn and deliver solutions efficiently to customers.
Strong understanding of software design fundamentals and object-oriented programming principles.
Experience applying modern software engineering principles including SOLID, DRY, KISS, and YAGNI.
Experience working in Linux-based development environments.
Understanding of Git/GitHub source control and Agile development methodologies.
Experience architecting and developing web applications.
Experience developing applications using Ruby on Rails.
Experience with JavaScript frameworks such as ExtJS and/or VueJS.