Senior Engineer (Java) Remote, UK Permanent Salary: £50,000 - £60,000/annum About Us Barbour EHS is a trusted and comprehensive provider of regulatory information, guidance, standards and resources to support organisations with their EHS compliance. Our knowledge of complex legislation and our flexible tools empower them to simplify and manage their diverse range of regulatory responsibilities. We help industry professionals to stay on top of ever-changing developments, ensuring their organisation keeps people safe and protects the environment. About the role We are looking for an experienced Senior Engineer (Java) to join our busy software development team to work on a variety of projects and platform maintenance work. The Senior Engineer must have a strong level of experience and expertise in Java and will lead the development and integration work with a small team of developers. Responsibilities include collaboration on design features, preparation and review of technical specifications, writing storyboards, coding in Java (and other languages as appropriate), analysing data and contributing to the design and implementation of software as well as assisting in mentoring and training junior staff. With AI at the core of our new developments, the Senior Engineer will be involved in the development and validation of products, systems and components in the CI/CD cycle of a replatforming of the core product, as well as working on other new components and projects to drive the business forward. This involves working closely with the product development team and others around the business. Analysis and direction of recommendations for problem resolution in the overall design of the new platform and work with the team to improve the performance and efficiency of existing products and provide support on general business as usual tasks. To be successful, applicants should have a strong understand of the fundamentals of software development lifecycles, demonstrable skills in creativity and innovation, an ability to thrive in a high-pressure environment, and possess excellent communication skills. Applicants must have strong experience in Agile software development using JavaScript, be able to keep up to date with deadlines, and have strong numeracy and analytical skills. The applicant should have a strong understanding of cloud infrastructure (preferably AWS) and data environments and should be adept with use of MySQL and various development tools (detailed below). An interest in DevOps and SecOps would also be favourable. What you'll be getting up to Performing coding assignments which provide reusable, testable and efficient code. Designing and implementing low latency, high availability and performant applications. Integration of data storage solutions. Implementation of security and data protection. Reviewing code work for accuracy and functionality. Creating and implementing design plans. Analysing code segments regularly. Creation of APIs. Microservices Architectural models and implementation of microservices in AWS. Effective delegation to team members. Plan multiple projects simultaneously. Estimate, track and complete projects on time and within budget / estimation. Ability to understand the development required to enable the design requirements to be delivered. Adept at creating coherent story boards for consideration and approval by the Architectural Review Board. Analyse design specifications and applicable regulations / legislation and apply into product. Define the functional analysis of the design specifications (based on standards) into clear product criteria. Standing up services and environments in Azure and AWS and working server-side with new technologies. Support the creation and maintenance of process documentation associated with the design and analysis process. Support the Solutions Architect about specifications knowledge and product robustness if required. Participate in design reviews. Use tools to gather data on systems performance. Use gathered data alongside subjective evaluation to identify parameter changes to drive desired change in the systems performance. Define, plan and actively involved in software development and evaluation. Undertake special projects as required. Contribute to continuous improvement activities. Quality control of own, junior staff and others work through reviews. Attend various meetings and action / communicate instructions. Product written reports and make presentations as required. Undertake continuous training and development. Perform root cause analysis and resolve problems. People Management Mentor groups of Engineers and Technicians as required. Provides guidance and advice to other team members. Undertake formal 1-2-1 meetings and working with team members on any development plans. Train both team and broader organisation members. Relationship Management Represent work team at reviews and cross-organisational team meetings. Liaise and communicate with other departments. Build and work closely with key stakeholders and colleagues. Work with other team members and the wider technology team. Develop and maintain good relationships with internal and external contacts at all levels. Develop technical relationships with key suppliers and staff. Comply with the Health and Safety and Environmental Policies. Self-Management Assertive, optimistic, resilient and welcome change. Proactively contributes to the te