Toronto, Ontario - Permanent
W are looking for an experienced team of software professionals with a wide range of specialties and interests. We make use of big data and natural language processing technologies as well as dealing with day-to-day application development and scaling issues. We utilize agile methodologies, iterate quickly to find solutions, and work together to ensure that the system evolves in a maintainable and performant fashion.
This is a full-time opportunity located in Toronto, CAN.
Our ideal Java Developer candidate is creative, adaptable, positive, proactive, and hard-working. They should have a fearless attitude and view problems as challenges. They will be a person of integrity and desire to work within a team of like-minded people with diverse expertise to build a state of the art software solutions working at a massive scale. They are able to articulate their thoughts verbally and, on a whiteboard, and enjoy considering differing perspectives. If you value a challenge and working with really talented individuals, who are passionate about what they are building and thrive in a team-oriented work environment, please apply!
Designing and developing high-quality software using Java and related frameworks.
Participating in R&D collaborative brainstorming and planning sessions.
Developing great software and ensuring alignment to current and developing architecture.
Conducting design and peer reviews.
Evaluating and introducing new tools and techniques to the team.
Proactively identifying areas for improvement, seeking solutions, and making recommendations.
Takes responsibility for the quality of deliverables.
Mentor new developers and act as a mentor coach for senior employees.
Perform and promote effective communication practices across development teams and with business leads.
Knowledge & Skills:
Strong expertise in Java and Java frameworks
Solid foundation in computer science and ability to solve algorithmic tasks.
Strong competencies in data structures and software design (Design Patterns).
Exceptional analytical skills to understand problems, identify the root cause, and resolve.
Strong experience designing distributed systems in a cloud environment.
Effective collaborator with experience in an agile environment.
Must Have Skills:
A bachelor’s or graduate degree in a relevant field, or equivalent experience.
4 – 6 years professional software development experience with Java and Java frameworks.
Experience with Spring, Spring Boot, Postgres, RabbitMQ, Kafka, Kubernetes, Docker preferred.
Microservice architecture experience.
Experience with unit testing, and TDD as a plus