The Notifications team is seeking a Tech Lead to join their team! As a Tech lead you will empower the team to deliver quality software in a timely manner and continuously improve the development process. You will work with Business Analysts, Product Managers, customers and other stakeholders to understand the product vision and feature requirements and help the team establish a technical approach to delivering features that is in line with architectural standards and best practices. You will participate in code reviews and help the team manage technical debt. You will be teaching and coaching the team in technologies and best practices ensuring that cross team technical dependencies are managed to achieve successful releases. If you are passionate about mentoring and coaching as well as have the development experience in the technologies the team is using with a proven ability to readily acquire new skills, you might just be the person we are looking for!
Here at Ultimate Software, we truly put our people first. We strongly believe in teamwork, and we encourage and trust our people to reach higher, learn more, and live up to their potential. Ultimate is ranked #1 on Fortune's Best Places to Work in Technology and #3 on the 2019 list of Best Workplaces in Canada by Great Place to Work. Ultimate is also ranked #2 on Fortune’s 75 Best Workplaces for Women and #5 on its Best Workplaces for Diversity list.
Primary/Essential Duties and Key Responsibilities
The Tech Lead will be primarily responsible for developing an Notifications Platform following CQRS patterns to support our product offerings along with other services and deployment code written in many languages (Java, Kotlin, C#)). Additional duties would include educating and evangelizing to the rest of the team best practices around the Java Spring and .net core framework, performance, and reliability.
- Engage in code reviews and training of team members.
- Support continuous deployment pipeline code.
- Situationally troubleshoot production issues alongside the support team.
- Continually research and recommend product improvements.
- Create and integrate features for our enterprise software solution using the latest Java, Java Spring, Mongo technologies
- Write web services, business objects, and other middle-tier framework using Java, Java Spring, and Mongo technologies
- Actively communicate with team members to clarify requirements and overcome obstacles to meet the team goals
- Leverage open source and other technologies and languages outside of the Java framework should the need arise, and autonomously be able to make use of those decisions
- Develop cutting edge solutions to maximize the performance, scalability, and distributed processing capabilities of the system
- Provide troubleshooting and root cause analysis for production issues that are escalated to the engineering team
- Work with development teams in an agile context as it relates to software development, including test driven development, automated unit testing and test fixtures, and pair programming
- Provide mentorship and coaching to the developers, testers in all levels
- Actively participate in daily code reviews with talented software engineers and architects
- Participate in the design process of new features
- 5 or more years’ experience as a software developer
- Excellent problem-solving skills and technical vision
- Excellent organizational and leadership skills
- Ability to communicate complex technical problems in abstract terms
- In-depth experience building large-scale, high-availability SaaS solutions in the cloud
- Experience establishing continuous delivery pipelines in cloud-based infrastructure
- Experience with OpenStack, Pivotal Cloud Foundry, GCP or other comparable cloud management solutions
- Experience delivering applications with microservice architectures
- Experience with REST APIs and event-driven integrated systems
- At least three (3) years of experience with MongoDB
- At least three (3) years of experience with RabbitMQ, Apache Kafka
- Strong understanding of Domain Driven Design
- Experience leveraging Event Sourcing and CQRS
- Bachelor's degree in Computer Science or Engineering; equivalent experience accepted.
- No unique physical demands are required for this job.