As a Senior Java Engineer you will be operating on the heart of the Mambo gamification platform. The platform is used to process millions of events coming from hundreds of thousands and even millions of users. You will be expected to ramp up quickly and tackle anything from bug fixing all the way through to designing and implementing new features from the ground up.
We are continuously striving to improve our code base and adopt new strategies and patterns to keep everything as maintainable and scalable as possible. This focus on maintainability and quality is what has allowed us to evolve the platform at a rapid pace and respond to customer requests effectively even with a small team.
We are a small team, so you must be aware that your contributions will have a significant impact and expectations will be high.
As a member of this remote team you will need to be a good communicator, be prepared to have daily calls, master the use of collaboration tools and be ready for code reviews.
The responsibilities associated to this role include:
- Design and develop features, components, services and applications
- Work closely with the product owner to shape the product, proactively suggesting enhancements and recognising opportunities
- Ensure the platform is maintainable, extensible, secure, tested and performing well
- Drive continuous improvements to our approach to development, our coding standards and quality assurance processes
- Ensure the best coding practices are used and encourage refactoring where appropriate
- Liaise directly with customers to help them troubleshoot issues
- Manage our continuous integration process including code reviews and code quality reporting
- 7+ years proven experience delivering enterprise-grade, service-oriented applications
- Deep knowledge of OO development, Domain Driven Design, CQRS, design patterns and clean code
- Spring Framework including Core, Web, Data and Security
- NoSQL Databases (MongoDB) and persistence frameworks like Morphia and JPA
- Definition and development of REST APIs (Jersey / Swagger)
- Deep technical understanding of Java 8+
- Automated integration testing and continuous integration pipelines
- Knowledge of Application Servers such as Tomcat, Jetty and JBoss
- Experience with Git and Git Flow
- Excellent communication skills in English
- Initiative, determination, flexibility and knowledge hungry
- Experience with Atlassian product (JIRA, Bamboo, Crucible, FishEye, BitBucket)
- Technical leadership in software teams
- Familiarity with DevOps and system administration
- Exposure to cloud platforms such as AWS
- Knowledge about the Google Web Toolkit
- Experience in AI and Machine Learning