# Développeur principal / Lead Developer

**Company:** [Valsoft Corporation](http://jobs.workable.com/companies/i7bvgtD9zMBw8pksaJ6inV.md)
**Location:** Remote
**Workplace:** remote
**Employment type:** Full-time
**Department:** Progitek / Dentitek

[Apply for this job](http://jobs.workable.com/view/b1ad5438-9898-426e-ba13-a042f825833c)

## Description

Souhaitez-vous diriger une équipe de développement en télétravail, utiliser les plus récents outils de développement assisté par l'IA et contribuer à l'évolution d'une solution au cœur d'une entreprise reconnue comme un chef de file dans son marché? Vous êtes peut-être la personne idéale pour Progitek!

**Aperçu du rôle**

Relevant du CTO, vous combinerez leadership technique et contribution directe au développement logiciel. Vous guiderez l'équipe responsable des systèmes existants et participerez activement aux décisions d'architecture touchant l'écosystème sur site et infonuagique de Dentitek, en vous concentrant principalement sur PowerBuilder, C#/.NET et la couche de données relationnelles.

Vous n'avez pas besoin d'être spécialiste de PowerBuilder dès votre arrivée. Nous recherchons un leader technique chevronné capable d'utiliser des processus de développement assistés par l'IA, un solide jugement d'ingénierie et une étroite collaboration avec nos spécialistes PowerBuilder afin de moderniser en toute sécurité un vaste système essentiel aux activités de nos clients.

Au fil de la modernisation des systèmes existants, vos compétences en technologies modernes contribueront également à définir l'architecture et la feuille de route de l'application de prochaine génération, puis à en assurer la réalisation. Cette application remplacera éventuellement la solution existante.

**Ce que vous dirigerez et réaliserez**

**1) Leadership technique et architecture**

-   Vision et stratégie : En collaboration avec le CTO, définir et communiquer la vision et la stratégie techniques pour la modernisation des systèmes existants et le produit de prochaine génération.
-   Responsabilité architecturale : Concevoir et maintenir l'architecture actuelle et l'architecture cible couvrant PowerBuilder, les services C#/.NET, les bases de données, les intégrations et les composants infonuagiques, tout en assurant l'évolutivité, la fiabilité, la sécurité et la maintenabilité de la solution.
-   Gouvernance technique : Établir et faire respecter, avec le CTO, les normes de codage, les bonnes pratiques d'ingénierie, les directives architecturales et les garde-fous encadrant le développement assisté par l'IA.
-   Revues de code et d'architecture : Diriger ou superviser les revues afin que l'équipe produise du code de grande qualité, respecte les modèles convenus et documente adéquatement ses décisions techniques.
-   Prototypage : Concevoir et valider des prototypes architecturaux ou des preuves de concept lorsqu'il s'agit du moyen le plus rapide de réduire l'incertitude.
-   Dette technique et amélioration continue : Rendre la dette technique visible, la prioriser en fonction des besoins du produit et diriger les améliorations apportées aux processus de développement, aux outils, aux tests et aux méthodes de livraison.
-   Risques et sécurité : Cerner les risques techniques, les risques liés à la livraison et ceux touchant l'équipe; définir des stratégies d'atténuation et de retour arrière; et veiller à ce que les vulnérabilités et les enjeux de sécurité soient traités rapidement.
-   Leadership en matière de livraison : Soutenir la directrice des opérations et le CTO dans l'estimation, le séquencement, le suivi des jalons et des livrables, ainsi que dans la communication claire des répercussions technologiques sur les efforts, les coûts et les risques pour la clientèle.
-   Leadership d'équipe : Contribuer à déterminer les besoins en capacité et en effectifs; participer au recrutement; assurer l'accueil, l'accompagnement et le mentorat des membres de l'équipe; et contribuer à la résolution des conflits et à la rétroaction sur le rendement, en collaboration avec le CTO et les leaders d'équipe.
-   Collaboration interfonctionnelle : Établir de solides relations de travail entre les équipes de développement, d'assurance qualité, d'opérations, de produit et d'UX/UI afin que le travail progresse efficacement de la conception à la production.
-   Veille technologique : Rester à l'affût des outils, des technologies et des pratiques pertinentes de l'industrie, puis les appliquer de façon pragmatique lorsqu'ils créent une valeur réelle.

**2) Modernisation concrète des systèmes existants (responsabilité principale)**

-   Diriger et réaliser la refactorisation de la base de code PowerBuilder ainsi que de ses services et intégrations C#/.NET, notamment les changements aux requêtes, aux modèles d'accès aux données, à la gestion des erreurs et aux hypothèses de la logique d'affaires.
-   Moderniser la couche de données afin que la solution puisse adopter une technologie et un schéma de base de données plus modernes, tout en préservant l'intégrité des données, le rendement et la rétrocompatibilité.
-   Utiliser intensivement les outils de développement assisté par l'IA (par exemple, Codex, Copilot ou ChatGPT) afin de :

-   explorer efficacement des modules existants peu familiers
-   produire des propositions de refactorisation sécuritaires et des plans de modernisation détaillés, étape par étape
-   accélérer la création de tests, la documentation, l'analyse et les tâches répétitives de modernisation
-   valider les changements générés au moyen de revues rigoureuses, de tests et de contrôles de données

-   Appliquer des pratiques d'ingénierie modernes dans les contraintes des systèmes existants, notamment :

-   la refactorisation systématique et la normalisation des modèles, de la résilience et de la gestion des erreurs
-   une stratégie de tests automatisés adaptée aux contraintes de PowerBuilder, de C#/.NET et des intégrations
-   des normes claires de revue de code, des améliorations à la maintenabilité et une documentation technique adéquate
-   la validation du rendement, de la synchronisation et de l'intégrité des données

-   Créer les outils, les processus et les garde-fous qui permettent aux développeurs généralistes de contribuer en toute sécurité à la modernisation de PowerBuilder au moyen de processus assistés par l'IA, notamment des guides pratiques, des boucles de validation, des listes de contrôle liées à la définition de « terminé », des méthodes de triage des risques et des stratégies de retour arrière.
-   Collaborer étroitement avec l'équipe PowerBuilder actuelle sur l'architecture cible, l'exécution progressive, les bonnes pratiques et le transfert de connaissances, afin que la solution demeure facile à prendre en charge à long terme.
-   Collaborer sur l'ensemble de la pile technologique (SQL Anywhere, PowerBuilder, services C#/.NET, intégrations et composants infonuagiques) afin que les travaux de modernisation ne perturbent ni la synchronisation, ni les intégrations, ni les processus de nos clients.

**3) Feuille de route de migration et planification de la prochaine génération**

-   Évaluer l'architecture actuelle sur site, cerner les risques liés à la modernisation et à la migration, puis proposer un plan d'amélioration systématique.
-   Diriger l'architecture et la planification de la migration graduelle des fonctionnalités existantes de PowerBuilder et des composants C# existants vers une solution cible moderne.
-   Produire une feuille de route pragmatique couvrant les phases, les dépendances, les jalons, les impacts sur la clientèle, la coexistence, la rétrocompatibilité et les options de retour arrière.
-   Guider l'exécution avec l'équipe responsable des systèmes existants et le groupe d'ingénierie élargi, en conciliant les progrès de la modernisation, les livraisons produit et la stabilité opérationnelle.

**Compétences requises**

-   Baccalauréat en informatique ou en génie, ou combinaison équivalente de formation et d’expérience pertinente.
-   Expérience démontrée dans la direction technique, la prise de décisions d’architecture et la livraison de logiciels en production.
-   Solide expérience du développement en C#/.NET, idéalement avec des applications de bureau Windows, des services, des intégrations ou d’autres systèmes essentiels aux activités.
-   Expérience comme développeur senior dans la maintenance et le débogage de vastes bases de code en production, accompagnée de solides capacités d’analyse et de résolution de problèmes.
-   Solides connaissances des bases de données relationnelles et de SQL, notamment l’évolution des schémas, la conception des requêtes, le rendement et la validation des données.
-   Expérience approfondie (ou maîtrise démontrée) des outils et des processus de développement assisté par l’IA, y compris la validation sécuritaire des résultats générés par l’IA.
-   Solides connaissances en architecture logicielle, en pratiques de revue de code, en tests automatisés, en sécurité, en résilience et en gestion de la dette technique.
-   Solide maîtrise de Git et des flux de travail collaboratifs avec Git.
-   Expérience des méthodes de développement agiles, comme Scrum ou Kanban.
-   Capacité d’estimer le travail, de communiquer les compromis techniques, de gérer les risques et de transformer une stratégie en plan de livraison pragmatique.
-   Capacité démontrée à accompagner les développeurs, à faciliter les décisions techniques et à créer un environnement d’équipe collaboratif et responsable.
-   Esprit d’initiative, autonomie et aisance à travailler avec des technologies peu familières et une documentation incomplète.
-   Capacité de travailler en anglais dans un environnement collaboratif en télétravail.

**Atouts**

-   Expérience avec PowerBuilder, ou grande curiosité et capacité à devenir rapidement autonome au moyen de processus assistés par l’IA.
-   Expérience directe avec SQL Anywhere et/ou PostgreSQL.
-   Expérience éprouvée dans la modernisation et la refactorisation de vastes bases de code existantes, essentielles aux activités et imparfaitement documentées.
-   Expérience des environnements sur site distribués, des logiciels de bureau Windows et des contraintes propres aux installations chez les clients.
-   Expérience de la planification et de l’exécution de migrations de bases de données ou d’applications au moyen de stratégies de déploiement progressif, de coexistence et de rétrocompatibilité.
-   Expérience avec Python et/ou Node.js pour l’automatisation, l’outillage ou le prototypage.
-   Expérience avec AWS, les intégrations infonuagiques ou les architectures sans serveur.
-   Capacité de travailler en français.

**Qui est Progitek?**

**Progitek** est en affaires depuis 1995. Notre mission est d’aider les cliniques dentaires à mieux gérer leur temps et leurs processus. Notre logiciel, **Dentitek**, est utilisé par plus de 1 300 cliniques dentaires partout au Canada.

La solution de gestion de clinique dentaire **Dentitek** comprend des composants sur site et infonuagiques et prend en charge des processus essentiels aux activités de nos clients.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

Would you like to lead a remote development team, use the latest AI-assisted development tools, and help evolve a solution at the heart of a company recognized as a leader in its market? You may be the ideal person for Progitek!

Role Overview  
Reporting to the CTO, you will combine technical leadership with direct contribution to software development. You will guide the team responsible for legacy systems and actively participate in architecture decisions affecting Dentitek's on-premise and cloud ecosystem, focusing primarily on PowerBuilder, C#/.NET, and the relational data layer. You don't need to be a PowerBuilder specialist from day one. We're looking for a seasoned technical leader capable of using AI-assisted development processes, strong engineering judgment, and close collaboration with our PowerBuilder specialists to safely modernize a large system that's critical to our clients' operations. As legacy systems are modernized, your modern technology skills will also help define the architecture and roadmap for the next-generation application, and drive its execution. This application will eventually replace the existing solution.

What You'll Lead and Deliver

1\. Technical Leadership and Architecture

-   Vision and strategy: Working with the CTO, define and communicate the technical vision and strategy for legacy system modernization and the next-generation product.
-   Architectural ownership: Design and maintain the current and target architecture spanning PowerBuilder, C#/.NET services, databases, integrations, and cloud components, while ensuring the solution's scalability, reliability, security, and maintainability.
-   Technical governance: Establish and enforce, with the CTO, coding standards, engineering best practices, architectural guidelines, and guardrails for AI-assisted development.
-   Code and architecture reviews: Lead or oversee reviews so the team produces high-quality code, follows agreed-upon patterns, and properly documents its technical decisions.
-   Prototyping: Design and validate architectural prototypes or proofs of concept when that's the fastest way to reduce uncertainty.
-   Technical debt and continuous improvement: Make technical debt visible, prioritize it based on product needs, and lead improvements to development processes, tooling, testing, and delivery methods.
-   Risk and security: Identify technical, delivery, and team risks; define mitigation and rollback strategies; and ensure vulnerabilities and security issues are addressed promptly.
-   Delivery leadership: Support the COO and CTO with estimation, sequencing, milestone and deliverable tracking, and clearly communicating the technology impact on client effort, cost, and risk.
-   Team leadership: Help determine capacity and staffing needs; participate in recruiting; ensure onboarding, coaching, and mentoring of team members; and contribute to conflict resolution and performance feedback, in collaboration with the CTO and team leads.
-   Cross-functional collaboration: Build strong working relationships across development, QA, operations, product, and UX/UI teams so work moves efficiently from design to production.
-   Technology awareness: Stay current on relevant industry tools, technologies, and practices, and apply them pragmatically when they create real value.

2\. Hands-on Legacy System Modernization (primary responsibility)

-   Lead and execute refactoring of the PowerBuilder codebase and its C#/.NET services and integrations, including changes to queries, data access patterns, error handling, and business logic assumptions.
-   Modernize the data layer so the solution can adopt more modern database technology and schema, while preserving data integrity, performance, and backward compatibility.
-   Make extensive use of AI-assisted development tools (e.g., Codex, Copilot, or ChatGPT) to:

-   efficiently explore unfamiliar existing modules;
-   produce safe refactoring proposals and detailed, step-by-step modernization plans;
-   accelerate test creation, documentation, analysis, and repetitive modernization tasks; and
-   validate AI-generated changes through rigorous review, testing, and data checks.

-   Apply modern engineering practices within the constraints of legacy systems, including:

-   systematic refactoring and standardization of patterns, resilience, and error handling;
-   an automated testing strategy adapted to the constraints of PowerBuilder, C#/.NET, and integrations;
-   clear code review standards, maintainability improvements, and adequate technical documentation; and
-   validation of performance, synchronization, and data integrity.

-   Create the tools, processes, and guardrails that allow generalist developers to safely contribute to PowerBuilder modernization through AI-assisted processes, including practical guides, validation loops, "definition of done" checklists, risk triage methods, and rollback strategies.
-   Collaborate closely with the current PowerBuilder team on target architecture, incremental execution, best practices, and knowledge transfer, so the solution remains easy to support long-term.
-   Collaborate across the full technology stack (SQL Anywhere, PowerBuilder, C#/.NET services, integrations, and cloud components) so modernization work doesn't disrupt synchronization, integrations, or client processes.

3\. Migration Roadmap and Next-Generation Planning

-   Assess the current on-premise architecture, identify modernization and migration risks, and propose a systematic improvement plan.
-   Lead the architecture and planning for the gradual migration of existing PowerBuilder features and existing C# components to a modern target solution.
-   Produce a pragmatic roadmap covering phases, dependencies, milestones, client impacts, coexistence, backward compatibility, and rollback options.
-   Guide execution with the legacy systems team and the broader engineering group, balancing modernization progress, product delivery, and operational stability.

Qualifications

Required Skills

-   Bachelor's degree in computer science or engineering, or an equivalent combination of relevant education and experience.
-   Demonstrated experience in technical leadership, architecture decision-making, and production software delivery.
-   Strong experience in C#/.NET development, ideally with Windows desktop applications, services, integrations, or other business-critical systems.
-   Experience as a senior developer maintaining and debugging large production codebases, with strong analytical and problem-solving skills.
-   Strong knowledge of relational databases and SQL, including schema evolution, query design, performance, and data validation.
-   Extensive experience with (or demonstrated proficiency in) AI-assisted development tools and processes, including safe validation of AI-generated output.
-   Strong knowledge of software architecture, code review practices, automated testing, security, resilience, and technical debt management.
-   Strong proficiency with Git and collaborative Git workflows.
-   Experience with agile development methods, such as Scrum or Kanban.
-   Ability to estimate work, communicate technical trade-offs, manage risk, and turn strategy into a pragmatic delivery plan.
-   Demonstrated ability to coach developers, facilitate technical decisions, and create a collaborative, accountable team environment.
-   Initiative, autonomy, and comfort working with unfamiliar technologies and incomplete documentation.
-   Ability to work in English in a collaborative remote environment.

Nice to Have

-   Experience with PowerBuilder, or strong curiosity and ability to quickly become self-sufficient through AI-assisted processes.
-   Direct experience with SQL Anywhere and/or PostgreSQL.
-   Proven experience modernizing and refactoring large, business-critical, imperfectly documented legacy codebases.
-   Experience with distributed on-premise environments, Windows desktop software, and constraints specific to client installations.
-   Experience planning and executing database or application migrations using phased rollout, coexistence, and backward compatibility strategies.
-   Experience with Python and/or Node.js for automation, tooling, or prototyping.
-   Experience with AWS, cloud integrations, or serverless architectures.
-   Ability to work in French.

About the Team  
Who is Progitek?  
Progitek has been in business since 1995. Our mission is to help dental clinics better manage their time and processes. Our software, Dentitek, is used by more than 1,300 dental clinics across Canada. The Dentitek clinic management solution includes on-premise and cloud components and supports business-critical processes for our clients.
