Job
Description
As a Software Engineer in Java, you will be responsible for designing, developing, implementing, and maintaining full-stack software solutions to address complex business issues within the Software Centre of Expertise. You will thrive in a highly collaborative workplace, actively engaging in the software design and development process as part of an agile development team, providing technical leadership within the software development department. Key Responsibilities: - Own software features end-to-end, collaborating with the agile development team to design, develop, and deliver software application features that meet business and technical objectives - Design, implement, and execute scalable, maintainable, and high-quality full-stack software solutions to address business issues and requirements - Review, test, and debug your own and teams" code - Collaborate on database design, management, and optimization, using SQL databases to ensure data integrity and performance - Participate in code reviews, mentoring other developers, and fostering a culture of knowledge sharing and continuous improvement within the team - Implement software solutions in K8s and Azure Cloud environments - Implement best practices for application security, performance monitoring, and deployment processes, utilizing CI/CD pipelines for continuous integration and delivery - Design and write tests for existing and newly created code and software integration to ensure compatibility and stability - Stay current with industry trends and emerging technologies, proactively seeking opportunities to integrate new tools and frameworks to enhance application performance and development efficiency - Collaborate with peer IT groups, quality assurance, business stakeholders, and end users to produce cutting-edge software solutions - Participate with business analysts in requirements gathering, analysis, and specification, providing technical expertise and recommendations - Identify, troubleshoot, and resolve code-level and performance problems quickly and efficiently - Be accountable for timely implementation for his/her projects and activities - Perform other tasks as required Qualifications & Experience: - Bachelor's degree in computer science, Software Engineering, or in a related field - Minimum 7 years of applicable working experience (designing and building software applications) with experience of working in agile environments, using Azure DevOps and CI/CD pipelines - Minimum 7 years of professional experience developing and delivering advanced and complex solutions in JDK 11 and JDK 17. JDK 21 experience is a plus - At least 5 years of experience designing and developing docker-containerized, cloud-hosted, Kubernetes-orchestrated applications - At least 3 years of professional experience either contributing to satellite telecommunications software or functioning as a tech expert on a team practicing continuous software development - Strong expertise in full-stack software development, with proficiency in both front-end and back-end technologies - In-depth knowledge of Spring Boot, Spring framework, ORM, Java concurrency, Java design pattern, JVM, and memory management - Experience working with React-based web applications like React, Angular, Vue.js - Significant experience working on the full stack of enterprise web-based cloud applications - Experience with test tools for testing integrated systems and performance - Excellent knowledge of SQL and experience designing data models for complex applications Experience with all stages of the software lifecycle - Experience working within a distributed team - Experience of developing software systems in a satellite context or environment is a plus You will need to work in an agile, high-paced environment, deliver within tight timelines, tackle complex projects, set priorities, take ownership, and drive tasks to conclusion without supervision. Your proficiency in creating clear and concise documentation for code and architecture, strong analytical and problem-solving skills, self-motivation, and excellent communication skills will be essential for this role.,