Senior Application Architect (Java)
What is the project and why should you care?
This project is a successful lottery and sports betting operator, with a strong presence in more than 16 countries in Africa under 5 different brands with 4 languages. The plan is to extend countries to 21. The company is globally recognized as a start-up specialist for gaming operations in emerging markets. The company is fast-growing, has doubled in size over the last 3 years, and has plans for further expansion in Malta. The business has an active online customer base of more than 170k customers with as many as 40k+ new first-time customers per month. The number of Sports bets exceeds 7 million per month.
Main technologies React.js and Java; Angular for CMS.
Team composition: SDM, Architect, PO, DevOps, and two scrum teams, Support Engineers – after MVP goes live.
You would be a great fit for this position if you have:
- A minimum of one year of experience as an application architect, preferably in a related industry, or 2-3 years as a Technical Java Lead with application architect’s skills
- Strong knowledge of JAVA 8-11, Spring Boot, Spring MVC, Spring Core
- Experience with NoSQL DBs (MongoDB, Cloud-based NoSQL services), optimization technics and scaling
- Experience with SQL DBs (Postgress, Cloud-based SQL DBs)
- Design patterns and technics
- Microservices architecture
- Cloud architecture (GCP or AWS)
- Docker and Kubernetes (GKE)
- Rest, Websockets, SOAP
- Understanding main principles of SPA development and integration with APIs
- Knowledge in Gambling Domain would be a great plus
- Great collaboration and communication skills
Here are all the things you’ll get to do on the project:
- Design major aspects of the architecture of an application, including components such as user interface, middlewares, and infrastructure
- Collaborate with other stakeholders to ensure the architecture is aligned with business requirements
- Maintain backlog of the non-functional tasks, BE enablers, and tech debt issues
- Provide technical guidance to the application development team, supervise a team of BE developers, review technical implementations
- Cooperate with performance team, analyse performance results and define approaches to meet KPIs and satisfy system quality attributes
- Document application development processes and standards, produce architecture artefacts (diagrams, specifications)