Senior Java Developer
Location: Toronto, Ontario (Canada)
Type: Full-time, permanent
Position: Senior Java Developer
Reports to: Java Server Leader
The Senior Java developer will join the development team to actively design and develop a new generation of gaming platform and services. The web gaming applications are highly configurable and customizable, are under a high transaction rate with high robustness and scalability requirements.
Major technical duties include:
- Design and develop new functionality of the platform
- Maintain and improve existing modules, subsystems and legacy code
- Take ownership of development tasks and implement on time and with high quality
- Understand underlying gaming domain and leverage the knowledge in design and development of the systems
- Design and implement unit and integration tests, and assist QA team with test case modeling
- Develop APIs and integrations with mobile clients and other systems
- Participate in troubleshooting and ongoing support of production systems
Requirements:
- 5-8 years of Java development experience focusing on distributed server-side systems including web and stand-alone applications
- Good understanding of in-memory data-structures and associated algorithms
- Solid knowledge of Spring and Hibernate/JPA
- Solid SQL and data modeling knowledge
- Experience with MySQL or similar relational databases
- Experience with Web Services – REST and SOAP
- Good understanding of multi-threading and concurrency
- Experience with Groovy/Grails a strong asset
- Experience with spring boot web services
- Familiarity with Casino games (poker, etc) a strong asset
- Experience with Tomcat and Linux as operational environment
- Knowledge and experience with Object-Oriented and Service-Oriented Architectures
- Understanding of performance and scalability optimization
Soft skills:
- Ability to work in a deadline driven, fast-paced environment
- Ability to adapt to new environments, and the ability to identify, propose and implement changes and improvements.
- Solid analytical and problem solving skills.
- Strong interpersonal and communication skills, both written and verbal.
- Formal Computer Science education
- Innovative, creative, visionary
- Independent and self-motivated
- Enjoys and works well in teams, but also thrives in autonomy
- Exhibits the important balance of patience and determination that allows entrepreneurial businesses to flourish
- Organized and thorough
- Collaborative team player, excited and willing to do what it takes to get the job done