What you will be working on
As a Lead/ Senior Software Engineer, you will be responsible to:
- Oversee and conduct comprehensive testing strategies, including functional, performance, and security testing to ensure robust and reliable software solutions
- Architect and develop backend systems, cloud applications, and data structures to support scalable and efficient software products
- Define and implement infrastructure as code practices, integrating multiple components and systems across the organisation
- Guide the development of frontend and cloud applications, analysing trade-offs and making informed technical decisions
- Design and oversee the implementation of software architecture, considering both functional and non-functional requirements
- Perform progressive manual review the source code delivered by the vendor and verify the implementation of the solution as per the approved design.
What we are looking for
- Proven experience in leading software engineering teams and projects
- Strong knowledge of agile methodologies, CI/CD practices, and version control systems
- Demonstrated ability to design, implement, and maintain CI/CD pipelines using tools like Jenkins, GitHub, or GitLab
- Proficiency in designing and implementing J2EE applications, with SQL skills and shell scripting experience
- Solid understanding of server-side technologies, microservices, web services, RESTful APIs, containers, and Kubernetes
- Experience with RHEL, JBOSS EAP, OpenShift, OpenStack, Maven, Oracle Database, and Microsoft SQL Server
- Proficiency in building and maintaining front-end interfaces (using React, Angular) and back-end services (using Python, Java)
- Strong knowledge of database design and optimisation for efficient data storage and retrieval
- Proven experience in implementing secure coding practices and application security testing
- Proficiency in automated testing, including integration of Selenium/Watermelon test suites into CI/CD pipelines
- Familiarity with Git, Docker, and Kubernetes
- Strong communication skills with the ability to articulate complex technical concepts to diverse audiences
- Ability to manage and streamline technical operations, prioritising the operations backlog, and automating processes to enhance efficiency and reduce release times