Role: Software Engineer - Java Location : London/Newcastle – Hybrid Office & Home Who Are We? mkodo builds world class apps, middleware and digital products in the global lottery, betting, and gaming space. We have an open, supportive, dynamic culture where talented people are trusted to contribute to the team and company by carrying out their roles in a professional, collaborative, and skilled manner. We value the expertise of our team members and offer opportunities for personal development and career progression within the company. Acquired in February 2020, by Pollard Banknote Limited (PBL), a major supplier to the global lottery industries, brought mkodo strong financial security, access to resources and clients at a global level. About the role: The Java Software Engineer role is a key contributor on a collaborative Engineering team delivering award winning apps and services. A skilled engineer who can take well-defined tasks and complete them in a way that is considered by the team to be high-quality. They may require some senior input on more complex tasks but can own and work independently on small to medium features. The Java Software Engineer learns quickly from their mistakes and consistently follows the defined standards and best practices. They are empowered to challenge those practices and standards and shape them for the future. The Software Engineer will be focused on learning areas of technology as their expertise and becoming capable of mentoring new engineers in these areas. They will participate in the technical design process, with guidance from senior engineers where necessary. The Java Software Engineer can prioritise defined work and progress it to completion without becoming distracted, communicating concise updates to the team and managers. They understand how their work fits into the larger work for the team and know how to ask for clarification if requirements are unclear. Java Software Engineers seek out the ‘why’ of the features they deliver and understand the impact their work will have for the client and the user. This is an important role for the company to ensure that we provide outstanding products to the thousands of customers who use our Apps Main responsibilities are: Build reusable code and modules across our backend services. Ensure that our solutions are scalable, sustainable, architecturally sound. Follow modern secure coding standards i.e. OWASP. Working in a culture of Build, Run, Own. The team collectively own codebases and CI build processes. Delivering software features, grabbing others for help or insight as necessary. Participates in technical refinement and design sessions. Contributes to the wider team via Code Reviews and Pair Programming. Writing quality code in alignment with the team’s documented standards and principles. Contributing to estimates and delivering software on time. Creating and maintaining documentation. Updating on progress and communicating with non-technical stakeholders. Debugging and solving technical problems. Engaging in the team’s Agile ceremonies. Raising retrospective actions and taking responsibility for resolving them. Proactively identify and clean up technical debt before it turns into a long-term problem. Ensure contributions to the team follow auditable regulatory compliance measures, such as ISO27001 and PCI Compliance. An understanding of the architecture and area of work. Coaching and mentoring Juniors and assisting in inducting new team members. Sometimes presents at Brown Bag Lunches and Team Meetings. Support mkodo in the implementation and ongoing maintenance of its ISO27001 Information Security Management System (ISMS). Adhere to all relevant mkodo ISO27001 Information Security Management System (ISMS) policies, procedures, and requirements at all times. Complete any reasonable tasks relating to the mkodo ISO27001 Information Security Management System (ISMS). Key Skills & Attributes: Experience in Java 11+ development. Experience with Spring Boot Framework Experience with Kubernetes and developing microservices. Experience building and architecting RESTful APIs. Experience with multi-threaded programming Understanding of core computer science principles and concepts‚ OOP, and memory management. Understanding of cloud DBs (MariaDb, Redis, Cassandra, etc) Passion for building the best of breed middleware services. Self-motivated, capable of independent contributions. Develops to standards and best practices on a team. Prioritises tasks using knowledge of the business, clients, and end users. Clear communication skills via a multitude of mediums to both technical and non-technical stakeholders. Can lead and influence technical team members with positivity, passion, and enthusiasm for technology. Understanding of software engineering principles and best practices, for example Object Oriented Programming, SOLID principles, TDD, YAGNI, KISS, etc. An awareness of industry best practice. Mindset includes continuous improvement, automation first and documenting as you go. Active learner, both within your technical and professional area of expertise, & taking control of your own career development. Confident independent developer with a good appreciation and feedback ethos who can contribute to a high performing team and internal community. Resilient, calm, and methodical and able to multi-task, prioritise and make decisions. First-hand knowledge of software development techniques and methodologies throughout the SDLC. Suggests improvements to existing Engineering processes and code bases. Demonstrable first-hand experience as Software Engineer or similar role Experience with agile management tools such as Redmine and Jira etc We encourage growth and progression because we value our colleagues and know that we best succeed when achieving and developing together. Benefits: Please visit our Careers page to see the full list of benefits: https://www.mkodo.com/s/careers If this is the opportunity you have been waiting for, to work in a fast-paced company with innovative products and cutting-edge technology, please apply now.