Senior Software Engineer
Responsibilities & Duties:
- Contribute to architectural discussions, make design decisions, and ensure that the overall software architecture aligns with business goals and industry best practices.
- Solve complex technical problems and make critical decisions related to technology selection, system architecture, and project planning.
- Provide technical leadership and guidance to junior members of the development team.
- Conduct code reviews to ensure code quality, maintainability, and adherence to coding standards.
- Proficiency in Java: Deep understanding of Core Java (Java 11/17+), JVM internals, memory management, tuning, and concurrency/multithreading.
- Enterprise Frameworks: Experience with Spring in particular Spring Boot.
- RESTful API Design: Experience designing, building, and securing robust, scalable REST APIs for third-party integrations and internal UI consumption.
- Database Expertise: Proficiency with relational and non-relational databases (e.g., PostgreSQL, MySQL, MongoDB).
- Search Engine Technology: Experience with search and indexing technologies such as Elasticsearch.
- Experience in React, Next.js and Material UI.
- Worked on AI assisted development (e.g. GitHub Copilot, Claude, Cursor or ChatGPT)
· Familiarity with AI directed prompt engineering for developing applications.
Requirements:
- Bachelor's degree or Diploma in Computer Science, Engineering, related field, or equivalent work experience.
- 8+ years of experience in software development, and 3+ years as a Software Engineer with a focus on designing and building complex, scalable systems.
- Deep understanding of software engineering principles, design patterns, algorithms, and system architecture.
- Ability to lead technical discussions, make critical decisions, and drive consensus among team members.
- Experience with cloud technologies and microservices architecture.
Salary range: $115,000 - $125,000 CAD per year.