Job description
Note: All work for this position will be conducted in English.
About the Role
We are seeking a Software Developer with strong backend and frontend experience to help build and maintain software systems for data-driven and IoT-enabled applications in a fast-paced environment. The ideal candidate is comfortable working across the stack, from backend services and databases to frontend interfaces and device-side integrations (e.g., Raspberry Pi systems).
You will work on backend development (Python/Django), frontend interfaces and plotting tools (JavaScript), databases (PostgreSQL), object storage systems, and infrastructure/monitoring tools. The role also involves hands-on work with IoT devices, remote configuration (SSH), and system setup/maintenance. If you enjoy building reliable systems end-to-end and improving them iteratively, this role is for you.
Responsibilities
- Build and maintain backend services and APIs using Python and Django.
- Develop and maintain frontend interfaces and visualization tools using JavaScript (including plotting libraries).
- Design and work with databases and storage systems, including PostgreSQL and object storage.
- Implement software components for IoT applications, including integration with Raspberry Pi devices.
- Configure, deploy, and troubleshoot systems remotely via SSH.
- Set up and maintain monitoring/observability tools (e.g., Grafana) for system health and performance.
- Collaborate with teammates to review code, improve architecture, write documentation, and ship features quickly.
- Troubleshoot software, infrastructure, and device-level issues across backend, frontend, and IoT deployments.
- Support reproducible deployments and development workflows (e.g., Docker-based environments when applicable).
Required Qualifications
- Minimum Bachelor’s degree in Computer Science, Computer Engineering, Software Engineering, or a closely related field.
- Strong software engineering fundamentals (clean code, testing, debugging, version control, code reviews).
- Hands-on experience with backend development in Python, including frameworks such as Django.
- Hands-on experience with frontend development in JavaScript, including UI/data visualization or plotting tools.
- Experience with relational databases, especially PostgreSQL (schema design, queries, performance).
- Familiarity with object storage systems and handling structured/unstructured data.
- Experience working with Linux systems and remote device/server access via SSH.
- Experience or strong comfort with Raspberry Pi development and configuration.
- Familiarity with monitoring and dashboarding tools (e.g., Grafana) for setup and day-to-day use.
- Able to work in a fast-paced environment: prioritize effectively, communicate clearly, and iterate quickly.
- Strong learning mindset; excited to adopt new tools and improve existing systems.
Nice to Have
- Experience with IoT architectures and device fleet management.
- Knowledge of networking (TCP/IP, local networking, routing basics, firewalls, device connectivity).
- Experience with Docker and reproducible development/deployment environments.
- Experience with logging, observability, and infrastructure monitoring beyond Grafana (e.g., Prometheus, Loki).
- Experience with cloud infrastructure (AWS/GCP/Azure) or self-hosted deployments.
- Experience building internal tools or dashboards for operations and monitoring.
- Familiarity with hardware-software integration workflows (sensors, controllers, edge devices).
Version Française
Remarque : Tout le travail lié à ce poste sera effectué en anglais.
À propos du poste
Nous recherchons un(e) développeur(se) logiciel avec une solide expérience en backend et frontend pour concevoir et maintenir des systèmes logiciels pour des applications orientées données et IoT, dans un environnement dynamique et rapide. La personne idéale est à l’aise sur l’ensemble de la pile, des services backend et bases de données jusqu’aux interfaces frontend et aux intégrations côté appareil (ex. systèmes Raspberry Pi).
Vous travaillerez sur le développement backend (Python/Django), les interfaces frontend et outils de visualisation (JavaScript), les bases de données (PostgreSQL), les systèmes de stockage objet, ainsi que les outils d’infrastructure et de monitoring. Le rôle comprend aussi du travail concret avec des dispositifs IoT, la configuration à distance (SSH) et la mise en place/maintenance de systèmes. Si vous aimez construire des systèmes fiables de bout en bout et les améliorer en continu, ce poste est pour vous.
Responsabilités
- Concevoir et maintenir des services backend et APIs avec Python et Django.
- Développer et maintenir des interfaces frontend et des outils de visualisation avec JavaScript (incluant des bibliothèques de graphiques).
- Concevoir et exploiter des bases de données et systèmes de stockage, incluant PostgreSQL et le stockage objet.
- Développer des composantes logicielles pour des applications IoT, incluant l’intégration avec des appareils Raspberry Pi.
- Configurer, déployer et diagnostiquer des systèmes à distance via SSH.
- Mettre en place et maintenir des outils de monitoring/observabilité (ex. Grafana) pour la santé et la performance des systèmes.
- Collaborer avec l’équipe : revues de code, amélioration de l’architecture, documentation, livraison rapide de fonctionnalités.
- Diagnostiquer et résoudre des problèmes logiciels, d’infrastructure et au niveau des appareils (backend, frontend, déploiements IoT).
- Soutenir des workflows de déploiement et de développement reproductibles (ex. environnements basés sur Docker, au besoin).
Qualifications requises
- Minimum : baccalauréat en informatique, génie logiciel, génie informatique ou domaine connexe.
- Solides bases en génie logiciel (code propre, tests, débogage, contrôle de version, revues de code).
- Expérience pratique en développement backend avec Python, incluant des frameworks comme Django.
- Expérience pratique en développement frontend avec JavaScript, incluant des interfaces et/ou outils de visualisation.
- Expérience avec les bases de données relationnelles, particulièrement PostgreSQL (schémas, requêtes, performance).
- Familiarité avec les systèmes de stockage objet et la gestion de données structurées/non structurées.
- Expérience avec les systèmes Linux et l’accès distant aux appareils/serveurs via SSH.
- Expérience ou grande aisance avec le développement et la configuration sur Raspberry Pi.
- Familiarité avec les outils de monitoring et tableaux de bord (ex. Grafana) pour la mise en place et l’utilisation courante.
- Capacité à évoluer dans un environnement rapide : priorisation, communication claire, itérations rapides.
- Forte capacité d’apprentissage; motivation à adopter de nouveaux outils et à améliorer les systèmes existants.
Atouts
- Expérience avec des architectures IoT et la gestion de flottes d’appareils.
- Connaissances en réseautique (TCP/IP, réseau local, notions de routage, pare-feu, connectivité des appareils).
- Expérience avec Docker et des environnements de développement/déploiement reproductibles.
- Expérience en logs, observabilité et monitoring d’infrastructure au-delà de Grafana (ex. Prometheus, Loki).
- Expérience avec le cloud (AWS/GCP/Azure) ou des déploiements auto-hébergés.
- Expérience dans la création d’outils internes ou de tableaux de bord pour les opérations et le monitoring.
- Familiarité avec les workflows d’intégration matériel-logiciel (capteurs, contrôleurs, edge devices).
Job Type: Full-time
Pay: $60,000.00-$80,000.00 per year
Benefits:
- Discounted or free food
- On-site gym
Ability to commute/relocate:
- Verdun, QC H4H 1R2: reliably commute or plan to relocate before starting work (required)
Education:
- Bachelor's Degree (preferred)
Work Location: In person