Oct 19, 2019Full time
Project overview: EveryMatrix is a developer and provider of Software-as-a-Service solutions to the iGaming industry. Reporting to the Group Architect, the role will inform design and architecture decisions across all business units – ensuring that all our products meet the business’ requirements for quality, scalability and reliability and that they follow coherent and consistent design patterns. The Software Architect will have an understanding not just of how each product is designed and built, but how all our services integrate to deliver a solution to our customers and will have a key role both in solution design and in identifying and solving problems across Business Units. Responsibilities: Acting as a liaison between the development and the product team; Ensuring software meets all requirements of quality, security, scalability, modifiability, extensibility etc.; Providing technical guidance and coaching to developers and engineers; Working with business stakeholders and clients to propose technical solutions and designs; Producing high quality documentation for both internal and external audiences; Reviewing existing and proposed platform architectures and ensuring that weaknesses and problem root-causes are identified and mitigated. Requirements: Excellent knowledge of software and application design and architecture; 5+ year of professional experience as a .NET, Java or other server-side Software Engineer; Knowledge of software development paradigms including OOP/OOD, functional programming, and asynchronous programming; Understanding of service-oriented architectures, microservices; Experience with relational databases and NoSQL databases, and a thorough understanding of the pros & cons of each; Experience working with very high transaction volume platforms, and of solving the scalability and resilience challenges inherent; Experience working with products where stability is an absolute must and downtime tolerance non-existent; Passionate about using technology to solve problems, but also understands that the most elegant solution is often the simplest; Excellent problem-solving skills, using a methodical and holistic data-driven approach. (Hypothesis-Test-Data-Conclusion); Interested in continuous learning and modern software development techniques, technologies and methods; Good planning and organizational skills. Nice to have: Experience with containerization and orchestration frameworks (Docker, Kubernetes, etc.); Practical MS-SQL, MySQL and/or PostgreSQL experience; Experience with “Big Data” processing solutions and related technologies (Spark, Hadoop, Cassandra, etc.); Experience with ELK stack, also APM tools; Experience with Cloud platform solutions and IaaS, PaaS.