The Software Engineer develops, maintains, and enhances advanced software systems—including analytics, novel algorithms, large-scale data processing, real-time systems, and business applications—based on documented requirements. Works independently or within a team to design, test, and validate software components, resolve issues, and ensure alignment with specifications. Applies appropriate development methodologies and provides system-level design input, including hardware/software trade-offs, software reuse, integration of COTS/GOTS solutions, and translation of system objectives into component-level requirements. Lead software release management and define end-to-end schedules across multiple systems. Design, maintain, and evolve CI/CD pipelines and build automation for repeatable, auditable product builds. Implement Git-based branching, merging, and promotion strategies (e.g., Trunk-based, GitFlow) aligned with enterprise release and compliance requirements. Manage CM environments for hardware/software builds, staging, testing, and integration. Develop and enforce hardware/software version control processes, policies, and procedures. Define and apply configuration management processes, including build scripts and integration with development pipelines. Maintain and update CM Plans, artifact repositories (e.g., Artifactory), and infrastructure-as-code/build tooling (e.g., Make, Maven, CMake). Utilize UNIX/Maven and ticketing tools (JIRA, Confluence) for process documentation and status tracking. Communicate effectively across teams and stakeholders.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Mid Level
Number of Employees
5,001-10,000 employees