
Senior Software Engineer I - Foundational/Python
- Toronto, ON
- Permanent
- Full-time
- Develop sophisticated software with minimum supervision
- Make complex contributions to technical documentation/knowledge base and team/engineering presentations
- Mentor and guide junior developers.
- May have role in supervising others or leading small to moderate projects
- Fixe complex bugs and demonstrate advanced debugging skills
- Produce quality API documentation and ensures practices are followed
- Contribute to system design sessions in your area of specialty
- Have expanded Code review responsibilities
- Perform advanced refactoring
- Take personal responsibility for quality and maintainability of the product and actively identifies areas for improvement
- Identify problems/risks of own work and others.
- Ensure SDLC processes are followed, including adopting agile-based processes/meetings, peer code-reviews, and technical preparations required for scheduled releases.
- Partner with product and analytics and drive requirements that take into account all parties' needs
- On a occasional basis may have on-call responsibilities
- Communication
- Give constructive feedback to team members
- Learn industry jargon and business concepts to better understand the challenges our technology is designed to solve.
- Raise roadblocks and updates estimations as needed
- Communicate complicated concepts to junior staff.
- 6+ years of software development experience, preferably with Project Lead experience
- Experience and exposure to the financial industry working with credit cards, payment processors, or bank partnerships highly desirable
- Understanding of OWASP
- Strong experience with Python in a distributed web application development environment (e.g. microservices, APIs, DB integration, queues, topics, caches, containers, serverless)
- Experience with AWS services and APIs, or equivalent cloud vendor experience
- Experience working in OS X and Linux environments
- Experience designing and building JSON or REST services and APIs
- Experience with source control such as Git
- Experience with CI/CD pipelines and deployment methodologies
- Experience working in an Agile software development environment (e.g. scrum)
- Experience working with 3rd party APIs, workflow and integration architectures
- Experience with large-scale or distributed web applications
- Desirable: Experience with data processing or data engineering, integration with AI and ML services, APIs or models.