Full Stack Developer (Create)
Job Location(s): Remote
Position Summary
We are hiring a Full Stack Developer to help build and evolve our SaaS learning platform. You’ll focus primarily on backend services and APIs, while being able to contribute to frontend features when needed. You understand DevOps concepts and tooling and will collaborate closely with our DevOps team on deployments, environments, and release readiness. This is an intermediate role that includes aspects of technical design and hands-on development. This role reports to the Vice President, Research & Development. Fluent in English (written and spoken).
Duties and Responsibilities
- Backend-first full stack development
- Design, build, and improve backend services and APIs, focusing on performance, scalability, and reliability.
- Contribute to frontend components when needed, ensuring a clean interface with backend services and a smooth user experience.
- Write clear, maintainable code; perform code reviews; and uphold team standards for security, performance, and accessibility.
- Participate in PI/iteration technical design, work breakdown, and estimation.
- Translate product requirements into actionable tickets; help scope solutions to meet timelines.
- Contribute to architecture within platform areas
- Maintain unit, integration, and component tests; partner with QA on regression coverage.
- Assist in reproducing customer issues and perform root cause analysis.
- Troubleshoot and quickly resolve issues reported by users or monitoring systems.
- Partner with DevOps on environment readiness, deployment tooling, monitoring, and rollout activities (e.g., feature flags, canary releases).
- Ensure build/deploy docs are accurate; tag changes for traceability; support uptime rotations as needed (PagerDuty).
- Other duties as assigned.
Desired Skills and Experience
- Experience: ~5+ years of hands-on software development in a collaborative team environment.
- Backend strength with full stack versatility: Comfortable designing backend services and APIs; able to contribute to frontend features when needed.
- Software engineering fundamentals: Understanding of core language concepts (inheritance, scoping, type coercion), system design, and secure coding practices.
- Testing & quality mindset: Experience with unit, integration, and component testing; troubleshooting and debugging across environments.
- Version control & collaboration: Proficiency with Git and team workflows (e.g., branching, pull requests; familiarity with GitFlow or similar).
- Communication & teamwork: Clear written and verbal communication; ability to work across teams and time zones; proactive and organized.
Technology Requirements
Backend (Required)
- Strong proficiency in Java with Spring (Spring Boot) for building scalable, production-grade services.
Backend (Nice to Have)
- Experience with Groovy/Grails
- Experience building services with Node.js
Frontend
- Proficiency in JavaScript and TypeScript
- Experience with modern frontend frameworks, particularly React
Cloud & DevOps
- Experience deploying and operating applications in AWS
- Familiarity with containerization (Docker)
- Exposure to CI/CD pipelines
- Infrastructure-as-Code using Terraform and/or CloudFormation
- Experience with application and system monitoring
Quality Engineering
- Experience with test automation frameworks
- Focus on improving test coverage, reliability, and quality across distributed services
Benefits/Perks
- Work from home
- Competitive Salary & Annual bonus
- Employer Match for DPSP
- Flexible PTO Policy
In addition to our commitment to equal pay for equal work, MadCap is also committed to equal opportunity regardless of race, color, age, ancestry, religion, gender, gender identity, genetic information, parental or pregnancy status, sexual orientation, marital status, citizenship, national origin, disability, or veteran status.
Sommaire du poste
Nous sommes à la recherche d’un(e) développeur(se) Full Stack pour participer activement au développement et à l’évolution de notre plateforme d’apprentissage SaaS. Le poste est principalement axé sur le backend et les API, tout en offrant l’opportunité de contribuer au frontend au besoin. La compréhension des concepts et outils DevOps est important car vous collaborerez étroitement avec l’équipe DevOps pour les déploiements et la mise en production. Il s’agit d’un poste de niveau intermédiaire combinant conception technique et développement, relevant du/de la vice-président(e), Recherche et développement. Maîtrise courante de l’anglais (écrit et oral)
Tâches et responsabilités
Développement full stack orienté backend
- Concevoir, développer et améliorer des services backend et des API, en mettant l’accent sur la performance, l’évolutivité et la fiabilité.
- Contribuer aux composants frontend au besoin, en assurant une intégration propre avec les services backend et une expérience utilisateur fluide
- Rédiger un code clair et maintenable, effectuer des revues de code et respecter les normes de l’équipe en matière de sécurité, de performance et d’accessibilité.
Conception technique & planification
- Participer à la conception technique des PI/itérations, à la répartition du travail et à l’estimation des efforts
- Traduire les exigences produit en tickets exploitables et contribuer au cadrage des solutions afin de respecter les échéanciers.
- Contribuer à l’architecture au sein des différents volets de la plateforme.
Qualité, tests et résolution de problèmes
- Maintenir les tests unitaires, d’intégration et de composants, et collaborer avec l’équipe QA sur la couverture des tests de régression.
- Aider à reproduire les problèmes signalés par les clients et effectuer des analyses de cause fondamentales.
- Diagnostiquer et résoudre rapidement les problèmes signalés par les utilisateurs ou détectés par les systèmes de surveillance.
Collaboration DevOps
- Collaborer avec l’équipe DevOps sur la préparation des environnements, les outils de déploiement, la surveillance et les stratégies de mise en production (ex. feature flags, déploiements canaris).
- Veiller à l’exactitude de la documentation de build/déploiement, étiqueter les changements pour assurer la traçabilité et participer aux rotations de disponibilité si nécessaire (PagerDuty).
Compétences requises
- Expérience : environ 5 ans ou plus d’expérience pratique en développement logiciel pratique dans un environnement collaboratif.
- Expertise backend avec polyvalence full stack : À l’aise dans la conception de services backend et d’API ; capable de contribuer au frontend au besoin.
- Fondamentaux en génie logicielle : Compréhension des concepts clés du langage (héritage, portée, coercition de types), de la conception de système et des pratiques de codage sécuritaire.
- Approche axée sur les tests et la qualité : Expérience des tests unitaires, d’intégration et de composants ; capacité à diagnostiquer et déboguer dans différents environnements.
- Gestion de versions et collaboration : Maîtrise de Git et des flux de travail d’équipe (branches, pull requests ; connaissance de GitFlow ou équivalent).
- Communication et travail d’équipe : Excellentes aptitudes de communication claire tant écrite qu’a orale ; capacité à travailler avec des équipes réparties sur plusieurs fuseaux horaires ; attitude proactive et organisée
Exigences technologiques
Backend (requis)
- Solide maîtrise de Java avec Spring (Spring Boot) pour le développement de services scalables et prêts pour la production.
Backend (atout)
- Expérience avec Groovy/Grails
- Expérience dans la création de services avec Node.js
Frontend
- Maîtrise de JavaScript et TypeScript
- Expérience avec des frameworks frontend modernes, notamment React
Cloud & DevOps
- Expérience du déploiement et de l’exploitation d’applications sur AWS
- Connaissance de la conteneurisation (Docker)
- Exposition aux pipelines CI/CD
- Infrastructure en tant que code ( Terraform et/ou CloudFormation)
- Expérience en surveillance des applications et des systèmes
Qualité logicielle
- Expérience avec des frameworks d’automatisation des tests
- Volonté d’améliorer la couverture de tests, la fiabilité et la qualité des services distribués
