Downtown Montreal - HybridFull-time - PermanentAbout the team You'll join a small, senior, AI-augmented data engineering team at BCA Research. We build internal tools, automate manual workflows, and support the data pipelines that power a financial-research product real subscribers rely on. We move quickly because Claude Code, Codex, and similar tools are first-class members of our workflow - but we still own every line of code, review every PR carefully, and talk through tricky problems together on camera.
We're hiring a
Python Developer to grow with the team.
Responsibilities - Deliver JIRA tickets end-to-end: Python tooling, data workflow automation, pipeline support, bug fixes, and reliability improvements
- Use AI coding assistants daily, review their output critically, and keep the quality bar high
- Write clean, maintainable Python with clear structure, type hints, appropriate tests, and readable documentation
- Build automation that reduces manual work, improves data quality, and makes internal users more effective
- Work with SQL and data stores to inspect, transform, validate, and troubleshoot data
- Contribute to production data pipelines under the guidance of senior engineers and gradually take on larger areas of ownership
- Debug unfamiliar systems using logs, queries, tests, and careful investigation
- Collaborate with developers, data specialists, researchers, and project managers to turn operational problems into reliable software
- Read relevant technical documentation before changing code; update documentation before opening the PR
- Review teammates' PRs and take feedback well on your own
Required - 3-5 years of production engineering experience, with shipped work you can discuss clearly
- Strong Python development skills, including experience building tools, scripts, services, or data workflows
- Hands-on experience with AI coding assistants such as Claude Code, Cursor, Copilot, Codex, Cline, or similar
- Comfortable with SQL for querying, debugging, validating, and transforming data
- Familiarity with Git, command-line workflows, pull requests, and working in a shared codebase
- Experience writing automated tests and debugging production or production-like issues
- Ability to automate tedious or error-prone manual processes and understand the system underneath them
- Adaptable across changing priorities, including internal tooling, pipeline support, ad-hoc data work, and platform improvements
- Clear written and verbal communication with both technical and non-technical teammates
- Excellent spoken and written English as you will collaborate with colleagues in Canada, US and globally.
- Professional level of French spoken and written.
Nice to have - Experience with Microsoft Fabric, Azure, or cloud-based data platforms
- Exposure to MongoDB or other document databases
- Experience with data pipeline reliability, DataOps, or ELT/ETL workflows
- Familiarity with financial data, market data, or vendor data feeds
- Experience working in a monorepo
- Experience with Python packaging and dependency tools such as uv
- Performance and reliability instincts - observability, retries, validation, failure modes, and data quality checks
How we work - AI-first, human-owned. Every PR has a person's name and judgement behind it.
- Documentation lives in the repo and is updated with the code, not after.
- We value practical automation that removes real operational friction.
- PR reviews are real reviews; automated agents and humans both have to be satisfied.
- We work closely with internal users and iterate based on how tools are actually used.
- Camera-on, engaged in collaboration when the team is on a call.
*Please note that the candidate must be located in the greater Montreal area. Candidate must be available full-time as this is a permanent role within the tech team.