Senior Java Engineer - Permanent
Salary: 55k-65k
Working Arrangement: Fully Remote
Tech Stack:
Java, Spring Boot and Cloud Platforms(AWS, Azure and GCP)
Desirable - Python and JavaScript
I am currently working with a leading software software consultancy working with the government for a Senior Java Engineer.
This role involves mentoring junior engineers, collaborating with cross-functional teams, and driving the adoption of best practices in software development.
Essential
- Proven experience in full-stack software development, including design, development, testing, and deployment.
- Significant hands on experience with Java, Spring Boot and Microservices.
- Strong understanding of Agile and DevOps practices, with a focus on continuous integration and delivery.
- Some proficiency in one or more programming languages (e.g., Python, Java, JavaScript) and experience with software architecture patterns.
- Experience with cloud platforms (e.g., AWS, Azure, GCP) and infrastructure as code.
- Familiarity with CI/CD pipelines, automated testing, and modern software development practices.
- Knowledge of technologies such as Mircroservices, containerisation (Docker, Kubernetes), or serverless architecture.
- Awareness of principles like well architected and secure by design.
Desirable
- Previous experience in a senior engineering role, guiding teams to successful delivery.
- Proficiency in multiple programming languages.
- Experience in central government advantageous.
- Experience in a consulting environment.
Responsibilities
- Design, develop, and maintain complex software solutions, ensuring they are robust, secure, tested and scalable.
- Contribute to software architecture decisions, ensuring alignment with project and business goals.
- Mentor and support junior engineers, helping to develop their skills and promote best practices.
- Collaborate with cross-functional teams, including product management, UX/UI, DevOps, and QA, to ensure software meets business requirements.
- Implement and optimise CI/CD pipelines to enhance development efficiency and software quality.
- Conduct code reviews, providing constructive feedback to enhance team performance and code quality.
- Troubleshoot and resolve technical issues, ensuring software operates smoothly and efficiently.
- Stay current with industry trends and emerging technologies, recommending and integrating them where beneficial.
- Drive improvements in coding standards, testing, and documentation within the team.
- Engage in early-stage project discussions, providing technical insights and recommendations.
- Ensure that development processes are followed, and contribute to process optimisation initiatives.
- Communicate complex technical concepts effectively to non-technical stakeholders.