Share this Job

Senior Software Development Manager

Date: Sep 10, 2022

Location: Montreal, QC, CA, H2W-2R2

Company: Houghton Mifflin Harcourt

Job Requisition ID: 17318

Additional Locations: 

Senior Software Development Manager

HMH Software Development

HMH Software Development 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 bee hives 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 software development craftsmanship as we are about transforming the EdTech industry itself.

We’re not just looking for hands on a keyboard to pound out code, we’re looking for talented teammates and colleagues who contribute as much as they receive and thrive working with us. 

If this sounds like you let’s talk. 

The Opportunity — Software Development Manager

A Software Development Manager directly manages a group of 7-12 software developers across several teams, fostering a healthy and productive software development culture. They should have strong technical foundations to define a high level architecture and should be willing to roll up their sleeves, motivate their team and execute on the implementation plan(s) for product/solution development.  The Development Manager engages in mentoring and career development of software developers, performing code reviews, promoting software development best practices, as well as working with software developers and architects to determine best technical solutions.

Development Managers will work with Product Owners to fully define requirements, refine architecture/technical specs by working with Architects and/or Business Analysts, and producing reports on a variety of development KPIs/Metrics. They are entrusted to partner with Product Owners to define the roadmap and the overall strategy and vision for your area of the business. Development Managers will also participate in recruiting/interviewing software development candidates.

Responsibilities:

As a Software Development Manager you will:

  • Enable and empower people to do their best work in an environment that encourages collaboration and innovation and fosters development and learning.
  • Drive your team towards timely execution often with competing priorities.
  • Negotiate technical needs vs. new features and be a key contributor in defining the product roadmap.
  • Translate the company’s strategic vision, align group’s work, and help individuals understand their impact on HMH’s success.
  • Mentor and motivate direct reports towards their career goals and actively develop your team’s skillset and put together a deep bench through proactive conversations, goal settings, and performance evaluations.
  • Collaborate and be a catalyst, breaking down complex problems into simple solutions and leading through change.
  • Hold teams to high standards in writing quality scalable and supportable code, complete with appropriate unit tests, automated testing, documentation, and operationalization aspects in a CI/CD environment.
  • Lead by example and use your technical expertise and perspective to drive innovation.
  • Work collaboratively as part of a software development team producing software that advances our core mission.
  • Continue to improve team’s SDLC processes and plan for the next thing in the product pipeline.
  • Act as a technical lead for software development projects and proactively volunteer to perform key activities.
  • Partner with leadership, stakeholders and product management in planning, execution and management of resources, roadmap and releases
  • Eagerly learn and apply new cutting-edge technologies.
  • Contribute to our software development culture and ever-improving concept of software development best practices.
  • Oversee teams totaling 7-12 software developers by guiding/mentoring team members.
  • Promote software development best practices, monitor team performance and gather team metrics.
  • Align people, technology and process decisions across teams
  • Actively lead projects using Agile Methodologies

Skills & Experience

Required:

  • 14+ years of experience and a Bachelor’s degree in computer science or a related field
  • Experience managing Software Developers and leading Agile teams
  • Understand the software development process and how their work contributes to the larger goals, know how to make that process better, one step at a time
  • Experience working with a team on a large project, typically working with Agile software development methodologies
  • Experience working with JVM-based languages such as Java
  • Experience with test-driven development, building test plans, unit tests, and automated testing frameworks
  • Experience in analyzing and scaling large systems, web development, Javascript frameworks (e.g., ReactJS), or DevOps/infrastructure tasks
  • Experience in Spring Boot, web services, building APIs and services using REST, SOAP, etc.
  • Knowledge of container technologies such as Docker
  • Proficient with code versioning tools such as CVS, SVN and Git
  • Interest in technologies like Mesos, Aurora, Kubernetes
  • Interest in adopting new technologies and methodologies such as functional programming, distributed computing, machine learning, advanced data engineering, serverless computing
  • Interest in cloud technologies (AWS/Azure) and systems like Apache Kafka, Apache Spark, Amazon Kinesis, etc.
  • Have SQL and No-SQL database experience (Postgres/MySql/Oracle and MongoDB / CosmosDB /RavenDB or CouchDB, etc)
  • Think in CI/CD and DevOps mindset/culture
  • Preferably experience with serverless (Functions/Lambda or containers)
  • Loves a hands-on approach, thinking with a product mindset, and getting ship done

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 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.

 

 

Gestionnaire senior – Développement logiciel

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.

 

À 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 fassions 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 cela vous correspond, alors parlons-nous!

 

L’opportunité — Gestionnaire senior – Développement logiciel

En tant que gestionnaire senior de l’ingénierie du logiciel, vous gérez directement un groupe de 7 à 12 ingénieurs logiciels répartis dans plusieurs équipes Scrum afin de favoriser une culture d’ingénierie saine et productive. Vous devez avoir des bases techniques solides afin d’être capable de définir une architecture de haut niveau et devez être prêt à vous retrousser les manches, à motiver votre équipe et à exécuter le ou les plans de mise en œuvre afin de développer des produits ou solutions. Vous vous engagez dans le mentorat et le développement de carrière des ingénieurs logiciels, vous effectuez des révisions de code, vous faites la promotion des meilleures pratiques d’ingénierie, et vous travaillez avec des ingénieurs logiciels et des architectes pour déterminer les meilleures solutions techniques.

 

Vous devez collaborer avec les propriétaires de produits afin de définir les exigences, améliorer l’architecture ou les spécifications techniques avec des architectes et/ou des analystes commerciaux ainsi que produire des rapports sur une variété d’indicateurs de performance clés et de métriques d’ingénierie. Vous devez également travailler avec les propriétaires de produits afin de définir la feuille de route, la stratégie et la vision globale de votre domaine d’activité. Enfin, vous devez participer au recrutement des candidats ingénieurs.

 

Responsabilités:

En tant que gestionnaire senior développement logiciel, vous devez :

  • Soutenir vos employés et leur donner les moyens de faire leur meilleur travail dans un environnement qui encourage la collaboration, l’innovation, le développement personnel et l’apprentissage.
  • Conduire vos équipes Scrum vers une exécution rapide, souvent avec des priorités concurrentes. Négocier les besoins techniques des nouvelles fonctionnalités et être un contributeur clé dans la définition de la feuille de route de produits.
  • Traduire la vision stratégique de l’entreprise, aligner le travail du groupe et aider les employés à comprendre leur impact sur le succès de HMH.
  • Mentorer et encourager vos employés directs à atteindre leurs objectifs de carrière et développer activement les compétences de votre équipe. Construire une équipe solide grâce à des conversations proactives, à la définition d’objectifs et à des évaluations de performance.
  • Catalyser les résultats en décomposant les problèmes et en pilotant le changement.
  • Maintenir les équipes à des normes élevées en matière d’écriture de code évolutif et supportable, avec des tests unitaires appropriés, des tests automatisés, de la documentation et des aspects d’opérationnalisation dans un environnement CI/CD.
  • Donner l’exemple et vous servir de votre expertise technique et de votre vision pour stimuler l’innovation.
  • Travailler de manière collaborative en tant que membre d’une équipe de développement de logiciels dont le but est de développer des logiciels qui font progresser la mission principale de la compagnie.
  • Continuer à améliorer les processus SDLC de l’équipe et planifier la prochaine étape du pipeline de produits.
  • Agir en tant que responsable technique pour les projets d’ingénierie et se porter volontaire de manière proactive pour effectuer des activités clés.
  • Collaborer avec la direction, les parties prenantes et les gestionnaires des produits pour planifier, exécuter et gérer les ressources, la feuille de route et les versions.
  • Apprendre et appliquer avec enthousiasme les nouvelles technologies de pointe.
  • Contribuer à notre culture d’ingénierie et à l’adoption des meilleures pratiques d’ingénierie.
  • Superviser des équipes totalisant 7 à 12 ingénieurs en guidant et en mentorant les membres de l’équipe.
  • Promouvoir les meilleures pratiques d’ingénierie, surveiller les performances de l’équipe et mesurer ses performances.
  • Vous assurer de faire concorder la bonne utilisation des membres de l’équipe, de la technologie et des décisions de processus entre équipes.
  • Diriger activement des projets en utilisant des méthodologies Agile.

 

 

Expériences et expertise

Requis:

  • Plus de 14 ans d’expérience et un Baccalauréat en informatique ou dans un domaine connexe.
  • Expérience de la gestion d’ingénieurs logiciels et de la direction d’équipes Agile.
  • Compréhension des processus de développement de logiciels et de la façon dont ils contribuent à des objectifs plus larges, connaissance de l’amélioration de ces processus, une étape à la fois.
  • Expérience de travail avec une équipe sur un grand projet, généralement avec des méthodologies de développement logiciel Agile.
  • Expérience de travail avec des langages basés sur JVM comme Java.
  • Connaissance du développement piloté par les tests, de la création de plans de test, de tests unitaires et de cadres de test automatisés.
  • Connaissance de l’analyse et de la mise à l’échelle de grands systèmes, de développement Web, des frameworks Javascript (par exemple, ReactJS) ou des tâches DevOps/infrastructure.
  • Connaissance de Spring Boot, des services Web, de la création d’API et de services à l’aide de REST, SOAP, etc.
  • Connaissance des technologies de conteneur comme Docker.
  • Maîtrise des outils de gestion des versions de code comme CVS, SVN et Git.
  • Intérêt pour les technologies comme Mesos, Aurora, Kubernetes.
  • Intérêt pour l’adoption de nouvelles technologies et méthodologies telles que la programmation fonctionnelle, l’informatique distribuée, l’apprentissage automatique, l’ingénierie avancée des données, l’informatique sans serveur.
  • Intérêt pour les technologies infonuagiques (AWS/Azure) et les systèmes comme Apache Kafka, Apache Spark, Amazon Kinesis, etc.
  • Expérience avec les bases de données SQL et No-SQL (Postgres/MySql/Oracle et MongoDB/CosmosDB/RavenDB ou CouchDB, etc.)
  • Penser avec l’état d’esprit, la culture CI/CD et DevOps.
  • Expérience avec une technologie sans serveur un plus (Fonctions/Lambda ou conteneurs).
  • Avoir une approche pratique, penser avec un état d’esprit produit et livrer.

 

Scolarité

  • Baccalauréat ou Maîtrise en informatique ou en génie 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.

 

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: Manager, Social Media, Publishing, Management, Education, Marketing