Share this Job

Senior Software Engineer

Date: Jul 31, 2019

Location: Montreal, QC, CA, H2W2R2

Company: Houghton Mifflin Harcourt

Job Requisition ID: 15550

Additional Locations: 

HMH Software Engineering – Senior Software Engineer


(French below/Français plus loin)

At HMH, we are on a journey to change K-12 education landscape by building a ground breaking new learning platform used every day by millions of children across the USA. We are creating teams full of innovative, eager software professionals to build the products that will transform our industry. Our modern cloud platform development improves every day, and we are advancing our next generation services using a variety of new technologies like micro-services, progressive web apps, data platform, machine learning, cloud-native and more.

We’re looking for engineers who are passionate about innovating on behalf of students and teachers, demonstrate a high degree of product ownership, and want to have fun while they make history. We’re looking for talented teammates and colleagues who keep learning and contribute as much as they receive.

If this sounds like you let’s talk.

The Opportunity – Senior Software Engineer
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.  You’re 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.  You’ll thrive working in a fast-paced, low friction environment where you’ll be exposed to a wide range of cutting edge technologies.

Responsibilities:

  • Work independently and as part of a software development team taking responsibility for solving big challenges.
  • Understand HMH goals around quality and engineering discipline and participate in code reviews at the team level.
  • Great at turning ideas into code, and making that code usable by your teammates, and the company.
  • Propose and implement technical solutions to problems and deliver to customers, taking end-to-end responsibility for the design and efficient high-quality delivery of one or more components.
  • Looks ahead, finds and avoids pitfalls for the team.
  • Eagerly learn and apply new cutting-edge technologies like functional programming, distributed computing, machine learning, advance data engineering, and serverless computing.
  • Contribute to our engineering culture and ever-improving concept of engineering best practices

Requirements:

  • Logical and systematic problem-solving skills.
  • Ability to work collaboratively and effectively in small teams and cross-functional environments.
  • Experience and knowledge of an appropriate combination of technologies and concepts such as:
    • Programming languages such as Java, JavaScript and Typescript
    • Architectural concepts such as microservices and separation of concerns
    • Development tools such as Git and Jira
    • UI frameworks such as React and Web Components
    • Web technologies such as CSS, HTML, browser performance and security
    • Development frameworks such as Spring Boot and Node.js/Express
    • Container technologies such as Docker and Kubernetes
    • Database technologies such as SQL, NoSQL and in-memory
    • Cloud technologies such as AWS
    • Operating frameworks such as Apache Mesos, Apache Kafka, Apache Spark, and Amazon Kinesis

Required Education:

  • 6+ years of experience and a bachelor's degree in computer science or related field is preferred.
  • Understand the software development process and how their work contributes to the larger goals.
  • Experience working with a team on large projects.
  • Bachelor's degree in computer science or related field is preferred

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 the 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 – Développeur/Développeuse Logiciel Sénior

 

HMH développe une plateforme digitale avancée pour servir les enseignants et les élèves et ouvrir de nouvelles perspectives dans l’éducation de la maternelle à la fin du secondaire. Nous améliorons de manière continue une plateforme innovante qui est utilisée par des millions d’enfants à travers les États Unis et plus. Nous assemblons des équipes de professionnels motivés pour construire des produits visant à transformer notre industrie. Nous développons notre nouvelle génération de services basés sur des technologies avancées telles que les micro services, les applications web progressives, les plateformes de données, le cloud et l’apprentissage machine.

Nous recherchons des développeurs entreprenants, passionnés par l’innovation au service de nos utilisateurs et de l’éducation, engagés à construire des produits innovants tout en appréciant un environnement de travail agréable et inclusif.

Si cela vous ressemble nous devrions parler.

L’opportunité : Développeur/Développeuse Logiciel Sénior

Vous avez à coeur 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.

Responsabilités

  • Travailler en collaboration dans une équipe de développement logiciel qui nous avance dans notre mission.
  • Comprendre les attentes en matière de qualité et de meilleures pratiques, participer aux revues de code dans l'équipe.
  • Transformer les idées en code utilisable par vos collègues et la compagnie.
  • Proposer, implémenter et livrer des solutions techniques qui comblent nos utilisateurs, prenant la responsabilité de concevoir et implémenter des composants entiers de nos solutions.
  • Anticiper les problèmes et aider l'équipe à les résoudre.
  • Apprendre et appliquer des technologies de pointe comme la programmation fonctionnelle, le calcul distribué, l’apprentissage machine, le traitement de données et l’architecture sans serveur.
  • Contribuer à notre culture du développement et à l’amélioration continue de nos meilleures pratiques.

Exigences

  • Résolution de problèmes utilisant la logique et l’analyse.
  • Travail collaboratif dans de petites équipes dans un environnement multi fonctionnel.
  • Expérience et connaissance d’une combinaison appropriée des technologies et concepts suivants :
    • Les langages de programmation comme Java, Javascript et Typescript
    • Les concepts d’architecture comme les microservices et la séparation de responsabilités
    • Les outils comme Git et JIRA
    • Les frameworks d’interface utilisateur comme React et les Composants Web
    • Les technologies web comme CSS, HTML, ainsi que les performances et la sécurité dans les navigateurs
    • Les frameworks de développement comme Spring Boot et Node.js/Express
    • Les technologies de containers comme Docker et Kubernetes
    • Les technologies de base de données comme SQL, noSQL et les bases en mémoire
    • Les technologies infonuagiques comme AWS
    • Les frameworks d’opérations comme Apache Mesos, Kafka, Spark et Amazon Kinesis

Éducation

  • 6+ années d'expérience et un Baccalauréat en informatique ou comparable préférable.
  • Compréhension du processus de développement logiciel et de sa contribution dans le développement produit.
  • Expérience de travail en équipe sur des projets d'envergure.

Exigences physiques:

  • Position stationnaire pour un temps considérable (aussi et/ou debout)
  • La personne dans cette position a besoin de se déplacer dans les bureaux pour accéder des classeurs, des appareils etc…
  • La personne dans cette position opère constamment un ordinateur et d’autres outils de productivité comme une calculatrice, une photocopieuse, une imprimante etc…
  • La personne dans cette position doit être capable de collaborer avec ses collègues sn face à face, au téléphone et dans des réunions en ligne

 

ABOUT US:
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 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, Web Design, Marketing, Creative, Publishing, Education