Share this Job

Senior Software Developer - Spark & Database

Date: May 8, 2022

Location: Montreal, QC, CA, H2W 2R2

Company: Houghton Mifflin Harcourt

Job Requisition ID: 17433

Additional Locations: 

Senior Software Engineer – Spark and Database for the HMH Reporting Platform


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 – Senior Software Spark and Database Developer for HMH Reporting Platform

Senior Software Engineers personify the notion of constant improvement as they work with their team to build software that delivers on our mission to improve student outcomes.  Youre not afraid to try new things even if they don’t work out as expected.  You are independent, self-directed, high energy and as eager to contribute to your team as you are to progress on your own path to software craftsmanship.  Youll thrive working in a fast-paced, low friction environment where you are exposed to a wide range of cutting-edge technologies.


Reporting Platform:

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



  • Implement complex queries and stored procedures to support REST APIs and batch rollups of reports data for customer organizations.
  • Writing, designing, testing, implementing, and maintaining database applications/procedures using SQL or other database programming languages.
  • Resolve performance issues, performance tuning of database systems, queries, indexing.
  • Use of Apache Airflow scheduler to setup DB jobs to run automatically.
  • Supporting streaming event processing using Spark framework with Scala.
  • Manage and create data import and export processes (ETL) into the databases and create and manage data integration scripts using file transfers, API calls, and/or other methods.
  • Develop solutions using AWS database technologies like RDS Postgres and Aurora Postgres.
  • Provide support for systems architecture for Reporting Platform.
  • Setting up Monitor Dashboards and Alerts using DataDog to proactively catch issues.
  • Diagnose and troubleshoot database errors.
  • Create automation for repeating database tasks.
  • DevOps knowledge to automate deployments using Jenkins or Concourse.



Skills & Experience

Successful Candidates must demonstrate an appropriate combination of:

  • 6+ years of experience as a DB Developer, preferably with Postgres, creating and supporting commercial data warehouses and data marts.
  • 2+ years of experience working with Apache Spark and Scala development.
  • 1+ years of experience working with Airflow Schedulers with Python development.
  • Plus is experience working with Airflow Schedulers with Python development.
  • Strong hands-on working knowledge of managing databases on AWS Databases including: RDS and Aurora.
  • Strong command of SQL. SQL server tools, ETL jobs including stored procedures.
  • Database technologies such as SQL, Aurora, Redshift, Liquibase or Flyway
  • Cloud technologies such as AWS and Azure 
  • Data Center Operating Technologies such as Apache Mesos, Apache Aurora, and TerraForm and container services such as Docker and Kubernetes
  • Advanced knowledge of database security and performance monitoring standards.
  • Understanding of relational and dimensional data modeling.
  • Shell scripting skills.
  • Knowledge of DataDog for setting up monitoring and alerting dashboards.
  • Working knowledge of Jenkins or Concourse tool for CI/CD.
  • Ability to work independently and in a group to provide sound design and technology leadership.
  • Self-starter attitude with initiative & creativity.
  • Ability to pay attention to details, dealing with interruptions and changing timelines and priorities.
  • Ability to communicate and work effectively with all levels of company.
  • Related AWS DBA Certification is a preferred.
  • Working knowledge of AirFlow is a plus.
  • Knowledge of AWS Database Migration Service and Lambda is a plus.


Required Education:

  •  A BS/MS in Computer Science, Computer Engineering, or a STEM field.


Physical Requirements:

  • Might be in a stationary position for a considerable time (sitting and/or standing)
  • The person in this position needs to move about inside office to access file cabinets, office machinery, etc
  • Constantly operates a computer and other office productivity machinery, such as a calculator, copy machine, and computer printer
  • Must be able to collaborate with colleagues via face to face, conference calls, and online meetings


HMH Développement Logiciel


HMH développe des expériences d’apprentissage individualisées pour des millions d’écoliers à travers les États Unis. Nous sommes motivés par cette mission et par notre volonté d’améliorer continuellement nos pratiques et nos capacités. Nos bureaux sont des centres d’activité collaborative où de petites équipes autonomes construisent des logiciels de haute qualité. Nous nous faisons mutuellement confiance, nous tenons mutuellement responsables de livrer des résultats, et nous améliorons la vie des écoliers avec chaque livraison.


A HMH nous expérimentons chaque jour de nouvelles approches et de nouvelles façons de résoudre les problèmes. Que nous y arrivions (souvent) ou que nous faisions des erreurs (parfois), nous apprenons à chaque fois et nous allons de l’avant avec plus de confiance que le jour d’avant. Nous sommes aussi passionnés par les nouvelles technologies et les meilleures pratiques de développement que nous le sommes par l’idée de transformer les technologies de l’éducation elles même. Nous ne cherchons pas juste des producteurs de code, nous cherchons des collègues et des équipiers qui contribuent autant qu’ils reçoivent et s’épanouissent dans nos équipes.


Si ça vous correspond, alors parlons nous !


L'opportunité: Sénior Développeur Spark et Bases de Données pour la plateforme de rapports et d’analyse de HMH


Vous avez à cœur la notion d’amélioration continue quand vous travaillez avec votre équipe pour délivrer notre promesse d’améliorer les l’apprentissage des écoliers. Vous n’avez pas peur d’essayer de nouvelles approches même le succès n’est pas garanti d’avance. Vous êtes indépendant(e), autonome, plein(e) d’énergie et aussi avide de contribuer dans votre équipe que de progresser dans la maîtrise du développement logiciel. Vous vous épanouissez dans un environnement fluide et rapide où vous êtes exposé à un large spectre de technologies de pointe.


La plateforme de rapports et d’analyse de HMH

Vous travaillerez sur la plateforme de rapports et d’analyse qui fait partie de la plateforme d’apprentissage digital de HMH. Elle est construite sur une architecture de micro-services, utilisant Java pour le back-end et REACT pour le front-end, des API REST, et des bases de données AWS RDS Postgres Elle utilise AWS Kafka et Kinesis, Spark et Scala, Kubernetes et/ou Mesos, Apache Airflow, Datadog, Maven et ConcourseCI ou Jenkins.



  • Implémenter des requêtes complexes et des procédures stockées pour supporter des API REST et des traitements par lots de rapports pour les écoles et les districts scolaires.
  • Concevoir, implémenter, tester et maintenir des applications de traitement de données et des procédures en utilisant SQL ou équivalent.
  • Profiler et améliorer la performance des bases de données, des requêtes et des indexations.
  • Utiliser Apache Airflow pour céduler et automatiser les opérations sur les bases de données.
  • Supporter le traitement d’évènements en utilisant Scala et le framework Spark.
  • Créer et gérer des processus ETC (extraire, transformer et charger) ainsi que des processus d’intégration de données en utilisant des transferts de fichiers et des APIs.
  • Développer des solutions basées sur RDS Postgres et Aurora Postgres.
  • Supporter l’architecture de la plateforme.
  • Mettre en place des alertes et des tableaux de bord avec Datadog pour anticiper les problèmes.
  • Diagnostiquer les problèmes dans les bases de données.
  • Automatiser les tâches répétitives.
  • Automatiser les déploiements en utilisant ConcourseCI ou Jenkins.


Expériences et expertise

Les candidats devront démontrer une combinaison appropriée des expertises suivantes :

  • Plus de 6 ans d’expérience en développement de bases de données (de préférence avec Postgres) supportant des entrepôts et des magasins de données à grande échelle.
  • Plus de 2 ans d’expérience avec le développement Scala sur Spark.
  • Plus d’une année d’expérience de développement Python avec Apache Airflow.
  • Expérience pratique de gestion des bases de données avec RDS et Aurora Postgres.
  • Maîtrise de SQL, des outils ETC et des procédures stockées.
  • Experience avec SQL, Aurora, Redshift, Liquibase ou Flyway.
  • Expérience avec des technologies infonuagiques telles que AWS ou Azure.
  • Expérience avec Docker, Kubernetes, Mesos, Aurora et Terraform.
  • Connaissance poussée des standards de performance et de sécurité des bases de données.
  • Compréhension des modèles de données relationnels et dimensionnels.
  • Maîtrise de la ligne de commande.
  • Connaissance pratique de Datadog.
  • Connaissance pratique de Jenkins ou ConcourseCI.
  • Capacité d’apporter du leadership technique dans le groupe et de travailler de manière indépendante.
  • Initiative et créativité.
  • Attention aux détails, capacité de gérer les interruptions et les changements de priorités et de dates.
  • Capacité de communiquer te travailler efficacement à tous niveaux dans la compagnie.
  • AWS DBA certification est un plus.
  • Connaissance de AWS Database Migration et Lambda est un plus.



  •  Baccalauréat ou Maîtrise en informatique ou comparable.


Exigences physiques :

  • Position stationnaire pour un temps considérable (assis et/ou debout)
  • Vous devez pouvoir vous déplacer dans les bureaux pour avoir accès à des classeurs, des appareils, etc.
  • Vous utiliserez constamment un ordinateur et d’autres outils de travail comme une calculatrice, une photocopieuse, une imprimante, etc.
  • Vous devez être capable de collaborer avec des collègues en face à face, au téléphone et dans des réunions en ligne



Houghton Mifflin Harcourt (NASDAQ:HMHC) 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

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, Marketing, Publishing, Education