Company

Houghton Mifflin HarcourtSee more

addressAddressMontreal, QC
type Form of workPermanent
salary SalaryCompetitive
CategoryIT

Job description

Houghton Mifflin Harcourt (HMH) is a learning technology company committed to delivering connected solutions that engage learners, empower educators and improve student outcomes. As a leading provider of K–12 core curriculum, supplemental and intervention solutions, and professional learning services, HMH partners with educators and school districts to uncover solutions that unlock students’ potential and extend teachers’ capabilities.
HMH serves more than 50 million students and 4 million educators in 150 countries. For more information, visit hmhco
Architecte logiciel senior / Senior Software Architect
Aperçu du Poste
Nous sommes à la recherche d'un architecte logiciel senior Full-Stack expérimenté et passionné pour diriger l'évolution architecturale de nos lignes de produits et de nos produits, basés sur nos plates-formes d'application.
Responsabilités
Leadership architectural
-Démontrer un leadership architectural stratégique en supervisant l'évolution systématique et l'affinage d'un ou plusieurs produits, en s'appuyant sur une compréhension approfondie des plates-formes d'application et des gammes de produits.
-Travailler en collaboration avec les équipes de plates-formes d'application pour affirmer et négocier le soutien de la plate-forme pour les produits désignés.
-Prendre l'initiative pour obtenir un consensus et un engagement en ce qui concerne les décisions architecturales, en tenant compte des compromis et des contraintes nécessaires.
-Communiquer efficacement les résultats de ces compromis aux parties prenantes et élaborer des stratégies pour minimiser leur impact, en garantissant la résilience architecturale et l'avancement de nos offres de produits
 
Conception système
-Collaborer avec les propriétaires de produits, les gestionnaires de produits et les architectes principaux pour décomposer et reconstituer l'architecture, les composants, les modules et les interfaces du ou des produits assignés.
-Suivre les méthodes scrum basées sur JIRA pour les itérations agiles et la cadence de mise en production.
 
Qualités architecturales
-Fournir un leadership architectural à notre équipe de produits, en fournissant des solutions permettant aux produits de traiter de grandes quantités de données, d'offrir une tolérance aux pannes élevée, une disponibilité élevée, une évolutivité élevée, une latence faible et des performances optimales pour répondre aux attentes de l'entreprise.
-Inculquer la culture DevSecOps dans l'architecture, le développement et les processus opérationnels, en garantissant la conformité aux réglementations sur la protection des données et la sécurité des données des utilisateurs.
 
Architecture continue
-Identifier les goulots d'étranglement du système, concevoir des optimisations et mettre en œuvre des améliorations pour améliorer en permanence l'efficacité informatique des produits.
-Apporter des modifications de conception et assurer la compatibilité du ou des produits assignés avec les autres produits de différentes gammes de produits sur plusieurs plates-formes.
-Progression continue de nos objectifs : convergence technologique, simplification, cohérence, évolutivité, disponibilité, efficacité économique, expérience client de qualité et centrée sur la plate-forme.
 
Conformité technologique
-Garantir la cohérence et l'alignement avec les piles technologiques de l'entreprise, y compris les produits prêts à l'emploi et les cadres et bibliothèques tiers.
-Suivre et/ou adapter les prescriptions technologiques pour améliorer les capacités du système.
 
Documentation
Utilisez habilement les sessions de revue de conception non seulement pour transmettre l'architecture des solutions, mais aussi pour produire méticuleusement une documentation complète. Cela comprend la création de diagrammes de conception détaillés, la tenue de journaux des décisions architecturales et la formulation de directives claires pour les équipes de développement. Toute la documentation doit être systématiquement organisée et accessible via des outils tels que Confluence, garantissant qu'elle serve de référence solide et facilite les processus de développement sans heurts.
Mentorat
Travaillez en étroite collaboration avec les ingénieurs logiciels, les responsables techniques et les responsables de livraison pour assimiler les besoins, établir les meilleures pratiques de développement et fournir des conseils techniques tout au long du cycle de développement.
Recherche d'excellence logicielle
Collaborez avec nos équipes d'ingénieurs logiciels pour élever les normes de codage grAce à des revues de code collaboratives. Mettez l'accent sur la correction des incohérences de conception, promouvez les meilleures pratiques : principes de conception par contrat, OOD (conception orientée objet) et programmation orientée événements. Une passion pour le détail et l'expertise en ingénierie, ainsi que le plus grand désir de promouvoir ces passions au sein de nos équipes.
Qualifications
Éducation
Baccalauréat ou maîtrise en informatique, génie logiciel ou dans un domaine connexe.
Certifications
La certification AWS Cloud Solutions Architect (Associate) serait fortement préférée
Expérience
-Crédibilité avérée en matière d'expérience en architecture logicielle d'au moins 7 ans, avec un accent sur la conception, la construction et la maintenance de systèmes complexes à grande échelle présentant des caractéristiques SaaS multi-locataires intrinsèques.
-Expérience pratique en architecture de produits, en particulier pour la gestion de l'évolution architecturale et la refonte de logiciels existants.
-Expérience substantielle avec les microservices, la conteneurisation, les technologies sans serveur et natives du cloud.
-Plateformes cloud spécifiques, en particulier AWS, et les services cloud, notamment :
-EKS, API Gateway, Lambda, Amazon Aurora (or RDS), S3, EFS, WAF, Route 53, Interface / Gateway Endpoints, et VPC.
-Expérience pratique avec Amazon Sagemaker, Amazon Neptune (ou une autre base de données graphique), MLOPS serait un atout.
-Expérience raisonnable dans la provision de l'infrastructure ou la collaboration avec les équipes d'infrastructure utilisant Terraform.
-Expérience raisonnable dans le déploiement de charges de travail basées sur K8s avec Helm, et en DevOps en utilisant Concourse CI et JFrog Artifactory.
 
Compétences
Des compétences dans au moins deux des niveaux techniques suivants sont requises:
Niveau de présentation
-Une exposition significative et une expérience de travail avec l'interface utilisateur (UI/UX) basée sur React JS.
-Un niveau de confort avec le framework meta Single SPA, les applications conteneurs UI, Webpack et les micro-frontends plug-and-play.
 
Niveau business
-Une très grande expérience dans le développement de microservices avec Spring Boot.
-Une expérience significative dans la création, l'évaluation, la consommation et l'affinement de l'API REST et GraphQL, de préférence en utilisant Apollo.
 
Niveau de reporting
-Une expérience très significative dans le travail avec des outils de reporting/BI couramment utilisés.
-Une exposition au travail avec des plates-formes de reporting, qu'elles soient internes ou prêtes à l'emploi.
 
Haut niveau de préférence
-Une exposition à l'ingénierie des données avec Apache Spark et aux pipelines de données avec Apache Airflow.
-Une familiarité avec les outils d'analyse de données et d'entrepôt de données couramment utilisés, par exemple, Snowflake warehouse.
 
Niveau de persistance
-Une expérience solide de travail avec JPA et Hibernate.
 
Niveau de données
-Une expérience significative dans le développement avec PostgreSQL.
-Une compréhension solide des modèles de données pour les bases de données SQL et NoSQL.
-Maîtrise des bases de données graphiques telles que Amazon Neptune.
 
Langages de programmation
-Une maîtrise de Java est requise ; Python est un atout indéniable.
 
Personnalité
Résolution de problèmes
De solides compétences analytiques et de résolution de problèmes pour relever des défis techniques complexes.
Communication
Excellentes compétences en communication pour transmettre efficacement des concepts techniques et collaborer avec des équipes interfonctionnelles.
Apprentissage continu
Aptitude à apprendre des technologies, des cadres et des bibliothèques, comme l'exigent les dynamiques des produits.
Adaptabilité
Capacité à prospérer dans un environnement dynamique et en constante évolution, et à s'adapter aux technologies et aux besoins de l'entreprise en évolution.
 
Position Overview
We are seeking experienced, passionate, full-stack Software Architect to lead the architectural evolution of our product lines and products, based on our application platforms.
Responsibilities
Architectural Leadership
-Demonstrate strategic architectural leadership by directing the systematic evolution and refinement of one or more products, informed by a deep understanding of application platforms and product lines.
-Engage collaboratively with application platform teams to assert and negotiate platform support for the designated products.
-Take the lead in gaining consensus and commitment for architectural decisions, considering the necessary trade-offs and constraints.
-Effectively communicate the outcomes of these trade-offs to stakeholders and devise strategies to minimize their impact, ensuring the architectural resilience and advancement of our product offerings.
 
System Design
-Collaborate with the product owners, the product managers, and the lead architects to de- constitute and re- constitute the architecture, components, modules, and interfaces of the assigned product(s).
-Follow th
Refer code: 2063762. Houghton Mifflin Harcourt - The previous day - 2024-01-26 03:18

Houghton Mifflin Harcourt

Montreal, QC
Popular Software Architect jobs in top cities

Share jobs with friends