Sr Software Architect

Apply now »

Date: Feb 21, 2024

Location: Montreal, QC, CA, H2W 2R2

Company: Houghton Mifflin Harcourt

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 www.hmhco.com

 

Hybrid - Montreal

 

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 responsables de produit, 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 systèmes de l'entreprise, y compris les produits prêts à l'emploi et des librairies et des frameworks 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 grâce à 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 the JIRA- based scrum methods for agile iterations and release cadence.

 

Architectural Qualities

 

  • Provide architectural leadership to our product team(s), in the form of delivering solutions that enable the products for large-scale data processing, high fault- tolerance, high availability, high scalability, low latency, and optimal performance to assure fulfilling the expectations of the business.
  • Inculcate the DevSecOps culture into the architecture, development, and the operations processes, ensuring compliance with data protection regulations and safeguarding user data.

 

Continuous Architecture

 

  • Identify system bottlenecks, design optimizations, and implement enhancements to continually improve the computing efficiencies of the products.
  • Apply design changes and ensure compatibility of the assigned product(s) with the other products from diverse product lines across multiple platforms.
  • Continuous Progression of our goals: technological convergence, simplification, consistency, scalability, availability, cost efficiency, qualitative customer experience and platform centricity.

 

Technology Conformance

 

  • Ensure the coherence and alignment with the enterprise technology stacks, including the off- the- shelf products, and 3rd- party frameworks and libraries.
  • Follow and / or tailor the technology prescriptions to enhance system capabilities.

 

Documentation

 

Adeptly utilize design review sessions to not only convey the architecture of solutions but also to meticulously produce comprehensive documentation. This includes crafting detailed design diagrams, maintaining logs of architectural decisions, and formulating clear guidelines for development teams. All documentation should be systematically organized and made accessible through tools like Confluence, ensuring that it serves as a robust reference and facilitates seamless development processes.

 

Mentorship

 

Work hands- on with the software engineers, the technical leads, and the delivery leads to assimilate the requirements, establish development best practices, and provide technical guidance throughout the development lifecycle.

 

Pursuit of Software Excellence

 

Engage with our software engineering teams to elevate coding standards through collaborate code reviews. Focus on the rectification of design inconsistencies, drive best practices:  design-by-contract principles, OOD, and Event driven programming.   A passion for detail and engineering expertise and the strongest desire to foster these passions our teams.

Qualifications

 

Education

 

Bachelors’ or Masters’ degree in Computer Science, Software Engineering, or a related field.

 

Certifications

 

Certified AWS Cloud Solutions Architect (Associate) will be highly preferred.

 

Experience

 

  • Explainable credentials of software architecture experience around 7+ years, with a focus on designing, building, and maintaining complex, large-scale systems with intrinsic multi- tenant SaaS characteristics.
  • Hands- on product architecture and design experience especially for handling architectural evolution and re- factoring of the brown- field software.
  • Substantial experience with microservices, containerization, serverless, and cloud-native technologies.
  • Cloud platforms specifically AWS and the cloud services namely
    • EKS, API Gateway, Lambda, Amazon Aurora (or RDS), S3, EFS, WAF, Route 53, Interface / Gateway Endpoints, and VPC.
    • Hands on experience with Amazon Sagemaker, Amazon Neptune (or another graph database), MLOPS will be a plus.
  • Reasonable experience of provisioning the infrastructure or working with the infrastructure teams employing Terraform
  • Reasonable experience of deploying K8s- based workloads employing Helm, and DevOps using Concourse CI and JFrog Artifactory.

 

Skillsets

 

Proficiencies for at-least two of following technical tiers is required:

 

 

Presentation Tier

 

  • Significant exposure and experience working with the React JS- based UI / UX.
  • Comfort levels with the Single SPA meta- framework, UI Containers / Shell Apps, Webpack, and pluggable micro- frontends.

 

Business Tier

 

  • Very strong experience developing the microservices with the Spring Boot.
  • Significant experience building, assessing, consuming, and refining the REST and GraphQL preferably using Apollo.

 

Reporting Tier

 

  • Highly significant experience working with commonly used Reporting / BI tooling.
  • Exposure to working with reporting platforms, either in-house or off-the-shelf.

 

Highly Preferred

 

  • Exposure to Data Engineering using Apache Spark and with the Data Pipelines using Apache Airflow.
  • Familiarity with commonly used Data Analytics and Data Warehouse tooling, e.g., Snowflake warehouse.

 

Persistence Tier

 

  • Strong experience working with JPA and Hibernate.

 

Data Tier

 

  • Significant experience developing against PostgreSQL;
  • Solid understanding of the data models for SQL and NOSQL Databases
  • Familiarity with Graph Databases such as Amazon Neptune.

 

Programming Languages

 

  • Proficiency in Java required; Python is definite plus.

 

Personality

 

Problem-Solving

 

Strong analytical and problem-solving skills to address complex technical challenges.

 

Communication

 

Excellent communication skills to convey technical concepts effectively and collaborate with cross-functional teams.

 

Continuous Learning

 

Aptitude for learning technologies, frameworks, and libraries as necessitated by product dynamics.

 

Adaptability

 

Ability to thrive in a dynamic environment and adapt to evolving technologies and business needs.

 

#LI-Hybrid

 

 

Houghton Mifflin Harcourt (HMH) s'est engagé dans une politique d'égalité des chances en matière d'emploi et d'attirer, retenir, développer et promouvoir les employés les plus qualifiés sans tenir compte de la race, du sexe, de la couleur de peau, de la religion, de l'orientation sexuelle, du statut familial, de l'état civil, de la grossesse, de l’identité ou de l’expression de genre, de l'origine ethniqueou nationale, de l'ascendance, de l'âge, du handicap, des prédispositions génétiques et du statut decitoyen. Nous nous engageons à fournir un environnement de travail exempt de discrimination et de harcèlement, et où les employés sont traités avec respect et dignité.


Job Segment: Curriculum, Publishing, Education

Apply now »