Software Engineer Iii
Role details
Job location
Tech stack
Job description
Software Design & Development
- Analyze user requirements and translate them into detailed software design and performance specifications
- Design, develop, test, deploy, document, maintain, and enhance complex software systems
- Develop and implement algorithms to meet strict performance, timing, and resource constraints
- Modify existing software to improve performance or adapt to new environments
- Integrate software into new or existing systems and ensure operational compliance
- Develop relational and non-relational database applications
- Support development of event-driven and data-driven analytics systems
- Develop cloud-based solutions and modern distributed applications
- Perform Unix/Linux development and shell scripting
Automation & Infrastructure
- Develop and enhance automation tools supporting HPC system infrastructure
- Automate manual processes using Bash and Python
- Utilize automation frameworks such as Ansible for deployment orchestration
- Implement CI/CD pipelines using tools such as GitLab CI and Jenkins
- Utilize Git for source code management
- Support containerized environments (Docker and related technologies)
- Troubleshoot and debug issues in operational production systems
Technical Leadership
- Serve as technical lead for one or more software development teams
- Oversee development efforts to ensure adherence to selected software development processes
- Delegate development and testing tasks and monitor team performance
- Provide quality control for developed and modified software
- Recommend new technologies, tools, and process improvements
- Collaborate with system and hardware engineers to derive requirements and assess constraints
- Coordinate software installation and monitor system performance
- Select appropriate development methodologies in coordination with customer and systems engineering teams
Requirements
This role supports the development, enhancement, and automation of system management tools and services. The ideal candidate brings strong technical leadership, deep Linux expertise, and hands-on experience building scalable automation and cloud-ready solutions., * Active TS/SCI w/ Polygraph
- Master's degree in Computer Science or related field + 5 years of relevant experience or
- Bachelor's degree in Computer Science or related field + 7 years of relevant experience
- 9 years of relevant Software Engineering experience
- Strong Linux CLI experience and Unix-based development
- Proficiency in Bash scripting
- Recent experience developing software in Python
- Experience with Ansible or similar automation frameworks
- Experience troubleshooting and debugging in operational systems
- Experience with CI/CD principles and tools (GitLab CI, Jenkins)
- Experience with Git source control
- Experience developing in languages such as C, C++, Python, Ruby, Perl, or JavaScript
- Experience working in Agile development environments
Desired Qualifications
- Familiarity with Datacenter Infrastructure Management (DCIM) tools (e.g., NetBox)
- Familiarity with observability and analytics platforms (e.g., Splunk)
- Familiarity with Identity and Access Management (IAM) solutions (e.g., Keycloak)
- Familiarity with secret management tools (e.g., HashiCorp Vault)
- Familiarity with message brokers (e.g., Kafka)
- Experience with container technologies (Docker, Podman, containerd)
- Experience with Agile, Scrum, or SAFe methodologies
- Experience with Atlassian tools (Jira, Confluence)
Benefits & conditions
Markon is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, pregnancy, national origin, age, protected veteran status, or disability status. This job posting will remain open until the position is filled. Benefits Offered: Medical, Dental, Vision, Life Insurance, Short-Term Disability, Long-Term Disability, 401(k) match, Flexible Spending Accounts, EAP, Training and Tuition Assistance, Paid Time Off, and Holidays.