Share this Job

Staff Software Developer - Back End - Assessment Platform Team

Date: Sep 7, 2022

Location: Montreal, QC, CA, H2W 2R2

Company: Houghton Mifflin Harcourt

Job Requisition ID: 18025

Additional Locations: Hybrid work location; expected to work onsite in Montreal office 1-2 days per week on average and work from home anywhere in Quebec 3-4 days per week on average.

Développeur logiciel HMH

En tant que développeur logiciel chez HMH, vous fournissez des expériences d’apprentissage individualisées et de pointe à des millions d’élèves à travers les États-Unis. Nous sommes autant motivés par cette mission que par l’amélioration continue de nous-mêmes et de notre façon de travailler. Nos bureaux sont comme des ruches  ̶  actives, dynamiques et basées sur la collaboration, et dans lesquelles le travail est centré sur de petites équipes autonomes qui construisent d’excellents logiciels. Nous nous faisons confiance, nous nous tenons, ainsi que nos coéquipiers, responsables des résultats, et nous améliorons les résultats des élèves à chaque version.

Chez HMH, nous expérimentons chaque jour de nouvelles approches et de nouvelles façons de résoudre les problèmes. Nous réussissons souvent, mais il nous arrive aussi de commettre des erreurs. Dans tous les cas, nous apprenons et avançons avec plus de confiance que la veille. Nous sommes aussi passionnés par les nouvelles technologies et les meilleures pratiques de développement que par le fait de transformer le secteur des technologies de l’éducation.

Si tout cela vous correspond, une conversation s’impose!

L’opportunité - Développeur logiciel

Nos développeurs logiciels  sont les leaders technologiques de nos projets à fort impact. Votre énergie est contagieuse, vous collaborez activement avec les autres membres qui œuvrent en ingénierie au sein de l’entreprise et vous cherchez à apprendre autant qu’à enseigner. Vous incarnez la notion d’amélioration constante lorsque vous travaillez avec votre équipe et avec l’ensemble du groupe d’ingénierie afin de créer des logiciels qui nous permettent de remplir notre mission. Vous utilisez votre extraordinaire compétence technique pour placer la barre très haut en matière d’excellence, tout en encadrant d’autres développeurs afin qu’ils trouvent leur propre voie pour développer un savoir-faire hors pair.  Vous disposez d’un état d’esprit « T-shaped » : vous possédez de vastes connaissances dans de nombreuses technologies ainsi que de fortes compétences dans un domaine spécifique. Votre poste vous donne l’opportunité de représenter HMH dans les groupes industriels et les communautés open source.

Domaine de responsabilité :

Vous travaillerez sur la plateforme d’évaluation de HMH qui fait partie de la plateforme d’apprentissage en ligne/numérique de HMH. L’équipe d’évaluation construit une plateforme hautement évolutive et disponible. Celle-ci est construite à l’aide d’une architecture microservices, d’un backend Java microservices, d’un frontend REACT JavaScript UI, d’API REST, d’une base de données Postgres, des technologies AWS Cloud, d’AWS Kafka, de l’outil d’orchestration Kubernetes ou Mesos, de DataDog pour la journalisation/surveillance/alerte, de Concourse CI ou Jenkins, Maven, etc.

Responsabilités :

  • Être le responsable technique du développement des fonctionnalités au sein d’une équipe de 5 à 10 développeurs et influencer la direction technique de l’ensemble de l’organisation de développement.
  • Décomposer les objectifs de l’entreprise en fonctionnalités utiles, pouvant être mises à disposition de manière incrémentielle, en estimant avec précision l’effort nécessaire pour les réaliser.
  • Contribuer au code pour développer des fonctionnalités qui démontrent aux autres des modèles et des techniques efficaces de conception, de livraison et de test.
  • S’efforcer d’obtenir des résultats de haute qualité, rechercher en permanence des moyens d’améliorer la productivité de l’équipe ainsi que la fiabilité, les performances et la sécurité du produit.
  • Développez les talents et les capacités de vos pairs et collègues.  Créez un héritage mémorable à mesure que vous progressez vers vos objectifs personnels et professionnels.
  • Favoriser votre développement personnel et professionnel en recherchant continuellement des missions qui vous mettent au défi.

Compétences et expérience 

Les candidats retenus doivent détenir une combinaison des compétences suivantes :

  • 6 à 10 ans d’expérience en tant que développeur logiciel.
  • Plus de 3 ans d’expérience en tant que développeur logiciel principal ou d’équipe.
  • Baccalauréat en informatique ou dans un domaine des STIM.
  • Un CV démontrant avoir un bon leadership et avoir plusieurs réalisations techniques individuelles à son actif.
  • Excellente compréhension des méthodologies et pratiques de développement logiciel Agile.
  • Solides compétences en communication, tant à l’oral qu’à l’écrit.
  • Expérience approfondie de l’utilisation de technologies et de concepts tels que :
  • le développement guidé par le comportement ou par les tests
  • les langages basés sur la JVM, tels que Java et Scala
  • les cadres de développement tels que Spring Boot
  • les concepts de programmation asynchrone, notamment le traitement des événements,
  • les technologies de bases de données telles que SQL, Postgres/MySQL, AWS Aurora DBs, Redshift, Liquibase ou Flyway.
  • les technologies No-SQL telles que Redis, MongoDB et Cassandra
  • les technologies de streaming telles que Apache Kafka, Apache Spark ou Amazon Kinesis
  • les cadres de tests unitaires tels que jUnit
  • les cadres de tests de performance tels que Gatling
  • les concepts architecturaux tels que les microservices et la séparation des préoccupations.
  • avoir une connaissance approfondie de la programmation orientée objet et des modèles de conception basés sur les classes
  • les outils de développement tels que GitHub, Jira, Jenkins, Concourse et Maven.
  • les technologies de cloud computing telles que AWS et Azure
  • les technologies d’exploitation de centres de données telles que Kubernetes, Apache Mesos Apache Aurora et TerraForm et services de conteneurs tels que Docker et Kubernetes
  • les pratiques, outils de surveillance et d’analyse des données opérationnelles tels que DataDog, Splunk et ELK 

 

 

 

HMH Software Engineering

HMH Software Engineering provides cutting edge, individualized learning experiences to millions of students across the United States. We are as driven by this mission as we are by continuously improving ourselves and the way we work. Our offices are high energy, collaborative beehives of activity where work is centered on small, autonomous teams that build great software. We trust each other, hold ourselves and our teammates accountable for results, and improve student outcomes with each release.

At HMH we constantly experiment with new approaches and novel ways of solving problems. We often succeed and sometimes stumble — either way we learn and move forward with more confidence than we had the day before. We are as passionate about new technologies and engineering craftsmanship as we are about transforming the EdTech industry itself.

If this sounds like you let’s talk. 

The Opportunity - Staff Software Engineer

Staff Software Engineers are the technology leaders of our highest impact projects. Your high energy is contagious, you actively collaborate with others across the engineering organization, and you seek to learn as much as you like to teach. You personify the notion of constant improvement as you work with your team and the larger engineering group to build software that delivers on our mission. You use your extraordinary technical competence to ensure a high bar for excellence while you mentor other engineers on their own path towards craftsmanship.  You are most likely T-shaped, with broad knowledge across many technologies plus strong skills in a specific area.  Staff Software Engineers embrace the opportunity to represent HMH in industry groups and open-source communities.

Area of Responsibility:

You will be working on the HMH Assessment Platform that is part of the HMH Educational Online/Digital Learning Platform. The Assessment team builds highly scalable and available platform. The platform is built using Microservices Architecture, Java microservices backend, REACT JavaScript UI Frontend, REST APIs, Postgres Database, AWS Cloud technologies, AWS Kafka, Kubernetes or Mesos orchestration, DataDog for logging/monitoring/alerting, Concourse CI or Jenkins, Maven etc.

 

Responsibilities:

  • Be the technical lead for feature development in a team of 5-10 engineers and influencing the technical direction of the overall engineering organization.
  • Decompose business objectives into valuable, incrementally releasable user features accurately estimating the effort to complete each.
  • Contribute code to feature development efforts demonstrating to others efficient design, delivery and testing patterns and techniques.
  • Strive for high quality outcomes, continuously look for ways to improve team productivity and product reliability, performance, and security.
  • Develop the talents and abilities of peers and colleagues.  Create a memorable legacy as you progress toward your personal and professional objectives.
  • Foster your personal and professional development continually seeking assignments that challenge you.

Skills & Experience

 

Successful Candidates must demonstrate an appropriate combination of:

  • 6 – 10+ years of experience as a software engineer.
  • 3+ years of experience as a Staff or lead software engineer.
  • Bachelor's degree in computer science or a STEM field.
  • A portfolio of thought leadership and individual technical accomplishments.
  • Full understanding of Agile software development methodologies and practices.
  • Strong communication skills — both verbal and written.
  • Extensive experience working with technologies and concepts such:
    • Behavior-driven or test-driven development
    • JVM-based languages such as Java and Scala
    • Development frameworks such as Spring Boot
    • Asynchronous programming concepts, including Event processing
    • Database technologies such as SQL, Postgres/MySQL, AWS Aurora DBs, Redshift, Liquibase or Flyway
    • No-SQL technologies such as Redis, MongoDB and Cassandra
    • Streaming technologies such as Apache Kafka, Apache Spark or Amazon Kinesis
    • Unit-testing frameworks such as jUnit
    • Performance testing frameworks such as Gatling
    • Architectural concepts such as micro-services and separation of concerns
    • Expert knowledge of class-based, object-oriented programming and design patterns
    • Development tools such as GitHub, Jira, Jenkins, Concourse, and Maven
    • Cloud technologies such as AWS and Azure 
    • Data Center Operating Technologies such as Kubernetes, Apache Mesos Apache Aurora, and TerraForm and container services such as Docker and Kubernetes
    • Monitoring and operational data analysis practices and tools such as DataDog, Splunk and ELK

 

ABOUT US:
Houghton Mifflin Harcourt is a global learning company dedicated to changing people’s lives by fostering passionate, curious learners. As a leading provider of pre-K–12 education content, services, and cutting-edge technology solutions across a variety of media, HMH enables learning in a changing landscape. HMH is uniquely positioned to create engaging and effective educational content and experiences from early childhood to beyond the classroom.  HMH serves more than 50 million students in over 150 countries worldwide, while its award-winning children's books, novels, non-fiction, and reference titles are enjoyed by readers throughout the world. Follow HMH on Twitter, Facebook and YouTube. For more information, visit http://careers.hmhco.com

PLEASE NOTE:
Houghton Mifflin Harcourt is an equal employment opportunity employer and participates in E-Verify. All qualified applicants will receive consideration for employment and will not be discriminated against on the basis of gender, race/ethnicity, gender identity, sexual orientation, protected veteran status, disability, or other protected group status.


Job Segment: Social Media, Publishing, Marketing, Education