Python Software Developer – Computer Vision & Document Intelligence
- Montreal, QC, Canada
Salary: $90K to $120K CAD, based on experience · Full-time
Applications open in a new tab.
Job details
- Pay
- Salary: $90K to $120K CAD, based on experience
- Job type
- Full-time
- Apply by
- Experience
- Strong Python development skills, typically gained through 3–5 years of relevant experience or equivalent substantial software projects.
- Posting language
- English
- Posted
Original job description
Location: Boucherville, QC - hybrid, with 2 days per week in the office
Salary: $90K to $120K CAD, based on experience
Fi Systems develops AI-powered applications and assistants that help engineering and procurement teams work more efficiently.
We’re looking for a software developer to help build a platform that turns complex HVAC and engineering drawings into structured, usable data. The software analyzes PDFs, identifies symbols and technical information, and presents the results for users to review.
If you enjoy figuring out why an algorithm works on one drawing and fails on another - and turning that investigation into a reliable improvement - this role could be a good fit.
About the RoleYour primary focus will be developing and improving our Python extraction algorithms. You’ll combine PDF text and vector geometry, computer vision, OCR, and AI vision services to interpret drawings with different layouts, scales, and levels of quality.
You’ll also contribute to the C#/.NET backend that manages documents, coordinates processing, stores results, and exposes APIs.
Your strongest experience should be in Python and practical extraction or image-processing work. Experience with C#/.NET is valuable, but we also welcome strong Python developers who have built production backend services in another language and are ready to learn our .NET stack.
This is a hands-on software development role, with responsibility for taking improvements from investigation through implementation, testing, and validation.
What You’ll Work On- Extract information from technical drawings: Detect legends and symbols, match symbols across drawings, and associate them with descriptions, equipment tags, dimensions, and airflow information.
- Improve accuracy across varied documents: Investigate missed detections, incorrect matches, duplicates, rotations, ambiguous annotations, and differences between native and scanned PDFs.
- Combine complementary techniques: Use native PDF content, geometric reasoning, image processing, OCR, computer vision, and AI services to produce reliable results.
- Measure and validate improvements: Build evaluation datasets and regression tests, track precision and recall, and balance accuracy with processing speed, memory usage, and service costs.
- Connect extraction to the application: Develop backend APIs, database models, and asynchronous workflows, including service integration, retries, and error handling.
- Build maintainable software: Participate in code reviews, document technical decisions and limitations, and collaborate with developers and engineering domain specialists.
- Strong Python development skills, typically gained through 3–5 years of relevant experience or equivalent substantial software projects.
- Practical experience with computer vision, image processing, OCR, or document extraction, using OpenCV, NumPy, or comparable tools.
- Confidence working with coordinates, bounding boxes, transformations, matching scores, and other geometric or spatial concepts.
- Experience building and maintaining backend services and REST APIs, ideally with C#/.NET, or a strong foundation in another backend stack and willingness to learn.
- Experience with relational databases, automated testing, Git, and systematic debugging.
- The ability to investigate an unfamiliar problem, explain your approach, and carry a solution through implementation and validation.
A degree in computer science, software engineering, computer engineering, or a related discipline is welcome. Equivalent professional experience is equally relevant.
Experience That Would HelpYou don’t need experience with every tool or topic below. We’re particularly interested in candidates who bring some of the following:
- PDF extraction.
- Engineering drawings, schematics, CAD-generated documents, or HVAC terminology.
- Template matching, segmentation, shape comparison, or linking detected objects to nearby text.
- Multimodal AI, structured model outputs, and validation of AI-generated results.
- ASP.NET Core, Entity Framework Core, and SQL Server.
- Azure AI Document Intelligence, Azure AI Foundry, object storage, message queues, or Docker.
- Solve a tangible engineering problem. Help turn complex drawings into information people can review and use.
- Influence the core technology. Contribute directly to extraction methods, evaluation approaches, and backend design.
- See measurable results. Evaluate your work through improvements in accuracy, speed, reliability, and user experience.
- Develop across disciplines. Work at the intersection of Python, computer vision, document intelligence, and backend software development.
- Contribute your judgment. Propose improvements and collaborate with a team that values curiosity, ownership, and maintainable code.
This role requires 2 days per week at our Boucherville office, with remote work for the remainder of the week.
Benefits include:
- Extended health, dental, and vision care.
- Life and disability insurance.
- Paid time off.
- On-site parking and casual dress.
Apply with your résumé. If possible, include a brief description of a relevant project: the problem you tackled, what you personally built, and how you evaluated the results.
Examples involving PDFs, OCR, image processing, computer vision, or spatial algorithms are especially useful. A short description is sufficient if your work is confidential.Role Description The Python Software Developer – Computer Vision & Document Intelligence is a full-time, on-site role based in Montreal, QC. This position focuses on designing, implementing, and optimizing Python-based services and pipelines that process documents, drawings, and other complex data using computer vision and machine learning techniques. Day-to-day responsibilities include developing and maintaining back-end components and APIs, integrating document intelligence models into production systems, and collaborating with data scientists and product teams to refine requirements and deliver robust solutions. The developer will write clean, tested, and well-documented code, participate in code reviews, and help improve system performance, scalability, and reliability. The role also involves troubleshooting issues, contributing to architectural decisions, and supporting deployments to ensure stable, secure, and maintainable software in client environments.
Qualifications
- Strong foundation in Computer Science concepts, including data structures, algorithms, and software architecture.
- Proficiency in Programming and Object-Oriented Programming (OOP), with advanced experience in Python for production systems.
- Experience in Software Development and Back-End Web Development, including RESTful APIs, microservices, and integration with data pipelines.
- Hands-on experience with computer vision, document intelligence, or related machine learning frameworks (e.g., OpenCV, PyTorch, TensorFlow) is highly beneficial.
- Familiarity with databases (SQL/NoSQL), messaging queues, and cloud or containerized environments (e.g., Docker, Kubernetes) is an asset.
- Strong problem-solving skills, attention to detail, and ability to work collaboratively in a multidisciplinary team.
- Bachelor’s degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience.
- Comfort working on-site in Montreal, QC and communicating clearly with technical and non-technical stakeholders.
More about this job
Responsibilities
Develop and improve Python algorithms that extract symbols, annotations, and technical information from engineering drawings using PDF content, geometry, image processing, OCR, computer vision, and AI services. Build and maintain backend APIs and processing workflows, and validate improvements through evaluation datasets, regression tests, and measures of accuracy, speed, and reliability.
Requirements
Candidates should have strong Python skills, typically from 3–5 years of relevant experience or equivalent projects, and practical experience with computer vision, image processing, OCR, or document extraction. They should also have backend service and REST API experience, familiarity with databases, testing, and Git, and the ability to investigate and validate solutions; C#/.NET experience and a relevant degree are welcome but equivalent experience is accepted.
Skills
- Python
- Computer Vision
- Image Processing
- Optical Character Recognition
- Document Extraction
- PDF Extraction
- Geometric Reasoning
- Backend Development
- REST APIs
- C#/.NET
- Relational Databases
- Automated Testing
- Git
- Evaluation Datasets
- Asynchronous Workflows
- Systematic Debugging
Benefits
- Extended Health Care
- Dental Care
- Vision Care
- Life Insurance
- Disability Insurance
- Paid Time Off
- On-Site Parking
- Casual Dress
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Data & Analytics
Keywords
- Python
- C#/.NET
- OpenCV
- NumPy
- OCR
- Computer Vision
- Image Processing
- Document Intelligence
- PDF Extraction
- Engineering Drawings
- HVAC
- Geometric Reasoning
- Template Matching
- Segmentation
- Multimodal AI
- Structured Model Outputs
- REST APIs
- Backend Services
- ASP.NET Core
- Entity Framework Core
- SQL Server
- Relational Databases
- Azure AI Foundry
- Object Storage
- Message Queues
- Docker
- Automated Testing
- Regression Testing
- Precision and Recall