Software Engineer
Indexed description
Software Developer (Java/C++) - DV Clearance
About the Role
We are seeking an experienced Software Developer to join a dynamic and innovative team. In this role, you will be responsible for designing, developing, and maintaining high-performance backend software solutions using Java and C++ within Linux environments. You will work closely with customers and internal teams to understand requirements, define technical approaches, and deliver robust, reliable, and scalable solutions.
Key Responsibilities
- Design, develop, and maintain high-performance backend software solutions using Java and C++ within Linux-based environments.
- Lead the technical design and implementation of software components, services, and APIs.
- Implement robust, maintainable, and well-tested code with a strong focus on performance, reliability, scalability, and security.
- Provide technical leadership and mentoring to junior and mid-level software engineers.
- Support architectural decision-making and contribute to technical strategy and roadmaps.
- Conduct code reviews and ensure adherence to software engineering best practices and development standards.
- Investigate, troubleshoot, and resolve complex software defects, including issues relating to customer libraries and third-party dependencies.
- Develop and maintain RESTful APIs, microservices, and distributed applications.
- Integrate and utilise static analysis, profiling, and debugging tools to maintain high software quality and code coverage.
- Containerise applications using Docker for streamlined deployment and scalability.
- Contribute to Continuous Integration and Continuous Deployment (CI/CD) pipelines and DevSecOps practices.
- Collaborate with customers, stakeholders, and cross-functional teams to understand requirements and translate them into technical solutions.
- Ensure software quality, performance, maintainability, and security through rigorous testing, code reviews, and adherence to engineering best practices.
- Utilise version control and collaboration platforms including Git, Bitbucket, and GitLab.
Qualifications & Experience
- Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent commercial experience).
- 5+ years' commercial experience developing software in Java and/or C++, preferably within Linux environments.
- Strong understanding of software architecture, design patterns, and object-oriented programming principles.
- Experience designing and developing enterprise-scale backend applications, APIs, and distributed systems.
- Strong understanding of multithreaded and concurrent application development.
- Experience analysing, troubleshooting, and optimising software performance within Linux environments.
- Strong understanding of software debugging and diagnostic tools.
- Experience with relational and/or NoSQL databases.
- Familiarity with containerisation technologies such as Docker.
- Knowledge of CI/CD tools such as Jenkins, GitLab CI/CD, or Azure DevOps.
- Solid understanding of Git version control.
- Experience working within Agile software development environments.
- Excellent problem-solving and analytical skills.
- Strong communication, collaboration, and stakeholder engagement skills.
Security Requirement: DV Clearance is required.
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search