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.