Role: Senior Software Engineer - Java
Location: London or 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:
Reporting to a Software Engineering Manager or Head of Engineering, the Senior Java Software Engineer role is a major contributor and influencer on an Engineering team delivering award winning apps and services. Seen as a rock-solid engineer who is a master of their domain, they get a lot done and require very little support beyond high-level direction. They can take a complex user story, break it down into sub-tasks, and complete their sub-tasks with relative ease.
The Senior Java Software Engineer is known outside of their core team as a technology leader. Showing initiative beyond knocking tasks off a list; they can identify and suggest areas of future work for themselves or their teams. They have responsibility for technical projects of increasing complexity that encompass more than their own development.
The Senior Java Software Engineer strives to create solutions that satisfy the trade-offs between technical, analytical and product goals. They can own technical design for projects of moderate complexity and understands the trade-offs in creating good software in their area. Beyond the day-to-day, the Senior Java Software Engineer has an impact beyond themselves and their immediate projects. They help their team of engineers to deliver complex projects and are known for drama-free releases.
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 (Jenkins, GitHub Actions)
* Delivering features, balancing leadership with individual contribution.
* Responsible for completing complex tasks despite roadblocks, grabbing others for help or insight as necessary.
* Contributes to making others better via Code Reviews, Pair Programming, Coaching, Mentoring and Training.
* A go-to expert in some significant areas of the code base, and not just because they are the only person who has ever worked in that code base.
* Writing consistently high-quality code they are confident will pass QA.
* Breaking down projects into technical milestones to avoid large monolithic deliverables.
* Delivering software on-time and improving the accuracy of their team’s estimations.
* Creating solutions to technical problems, getting buy-in for their solutions and making these solutions come to life.
* Providing technical advice and making decisions that affect the wider team.
* Proactively identify and clean up technical debt before it turns into a long-term problem and encourage and enable their team to do the same.
* Understanding a depth of knowledge in systems that enables them to debug those systems effectively without flailing.
* Research and propose new technologies.
* A key contributor and influencer on their team in embedding auditable regulatory compliance measures, such as ISO27001 and PCI Compliance.
* Have a broad understanding of the entire architecture, as well as very detailed understanding of their area.
* Frequently presents at Brown Bag Lunches and Team Meetings.
* Assisting in interviews and recruitment.
* 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, strong individual contributor.
* Experience coaching and mentoring team members.
* Experience contributing to standards and best practices and embedding them on a team.
* Prioritises tasks using knowledge of the business, clients, and end users.
* Identifies risks in code, features, and design, and communicates these to the appropriate parties.
* Can perform a Technical Lead role where needed on small to medium projects.
* 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.
* Deep 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.
* Can manage and lead small projects or groups of stories.
* Active learner, both within your technical and professional area of expertise, & taking control of your own career development.
* Confident influencer with a good coaching, mentoring, appreciation, and feedback ethos who can make a significant contribution in a high performing team and internal community.
* Resilient, calm, and methodical in high pressure situations and able to multi-task, prioritise and make decisions.
* Excellent first-hand knowledge of software development techniques and methodologies throughout the SDLC.
* Understanding & supporting Engineering strategies and improving existing Engineering processes to enhance product & app performance and capabilities.
* Demonstrable first-hand experience as Senior Software Engineer or similar role
* Experience with agile management tools such as Redmine and Jira etc.
* Comfortable with SCM tools, such as Git.
* Experience in client facing situations.
Benefits:
mkodo is a great place to work, with excellent benefits comprising:
* Hybrid/Flexible Working
* Quarterly team events
* Birthday Holiday
* Christmas Day-Off
* Generous Holiday Allowance
* Tech Loan Scheme
* Performance bonus & profit share scheme
* Cycle to Work scheme
* Life insurance and income protection
* Travel Loan scheme
* Supplies of fresh fruits, cereals, biscuits, nibbles, etc. in the offices
* Relevant training and training budget.
* Digital Nomad Policy
* Generous refer a friend scheme
We encourage growth and progression because we value our colleagues and know that we best succeed when achieving and developing together.
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.