Java SE, Python, Git, Shell/bash, Nexus, Maven, JavaScript/HTML5/CSS3, JUnit, IDEs, Docker/Kubernetes/OpenShift and GitLab CI, Spring Framework, Spring Tool Suite, Grit, Jenkins, Hibernate, MySQL, Web Services, and Google Web Toolkit or Vaadin.
Required Qualifications
- Must be a US Citizen.
- Must have TS/SCI clearance with an active polygraph.
- Bachelor’s degree in Computer Science or a related discipline from an accredited college or university is required. Four years of additional software engineering experience on projects with similar processes may be substituted.
- Relevant experience in engineering systems over their lifecycle (e.g., conception, design & development, testing, production, distribution/deployment, operation, maintenance & support, decommissioning).
- Level 02 – fourteen years of experience as a software engineer in programs and contracts of similar scope, type, and complexity.
- Software engineering experience developing with Java SE, Python, Git, Shell/bash, Nexus, Maven, JavaScript/HTML5/CSS3, JUnit, and IDEs.
- Experience with software architecture development, requirements analysis, code generation, process execution and evaluation.
- Experience with containers and container orchestration (e.g., Docker, Kubernetes, OpenShift, GitLab CI), microservices, CI/CD pipelines, automated testing tools like SonarQube, automated deployments, failure rollbacks, and Kubernetes Agile.
- Experience supporting programs using an agile development methodology and delivering new capability in every sprint.
- Experience with Spring Framework, Spring Tool Suite, Grit, Jenkins, Hibernate, MySQL, Web Services, and Google Web Toolkit or Vaadin is also a plus.
Responsibilities
- Analyze user requirements to derive software design and performance requirements.
- Debug existing software and correct defects.
- Provide recommendations for improving documentation and software development process standards.
- Design, code, or modify software to add new features.
- Integrate existing software into new or modified systems or operating environments.
- Develop simple data queries for existing or proposed databases or data repositories.
- Write or review software and system documentation.
- Serve as a team lead appropriate to the software development process on projects.
- Design or implement complex database or data repository interfaces and queries.
- Develop or implement algorithms to meet or exceed system performance and functional standards.
- Assist with developing and executing test procedures for software components.
- Analyze system performance, confer with users or system engineers, analyze flows, data usage, and work processes, and investigate problem areas.
- Modify existing software to correct errors, adapt to new hardware, or improve performance.
- Use scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
- Implement complex algorithms with strict timing, system resource, or interface constraints; perform quality control on team products.
- Oversee one or more software development teams, ensuring work completes per process constraints.
- Confer with system engineers and hardware engineers to derive software requirements and understand project limitations, performance requirements, and interfaces.
- Coordinate software system installation and monitor equipment functioning to ensure operational specifications are met.
Constellation Technologies is an Equal Opportunity/Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, religion, creed, color, national origin, ancestry, sex, sexual orientation, gender identity, gender expression, transgender status, mental or physical disability, genetic information, military or veteran status, citizenship, low‑income status, or any other status protected by law. Job applicants can submit questions about CTI’s equal employment opportunity policy to cti-hr@cti-md.com.