Développeur principal / Lead Developer

PowerBuilder Canada
Apply Now
  • 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.