Staff Software Engineer - Backend

Apply now »

Date: Apr 18, 2024

Location: Pune, MH, IN

Company: Houghton Mifflin Harcourt

Staff Software Engineer

About HMH: 

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.


About the role: 

You will lead the technical direction of a cross-functional team that includes front-end and back-end engineers, designers and quality engineers You will be required to provide technical leadership and guidance for your team to innovate, solve problems and build high-quality software products and services. You will be the focal point for interactions with other Technical Leads, Engineering Managers, Architecture and product teams to determine the best technical solutions.  You will enjoy contributing to development efforts, performing code reviews and promoting engineering best practice.

About the role:

  • You have proven experience leading teams of software engineers to design and deliver major software components
  • You enjoy actively contributing code, working with your cross-functional full-stack teams  within an Agile development environment
  • You are able to contribute to technical leadership, collective ownership and delivery of component design, development and maintenance
  • You can collaborate across functional development teams to solve problems, transfer knowledge and contribute to overall product architecture (Microservices)
  • You pro-actively architect components, look ahead and avoid pitfalls for the team
  • You drive quality by initiating and managing code reviews


Leading Teams

  • You will be responsible for leading your team of 7-12 software engineers to deliver major software components and services, collaborating with other teams and functions to align solution delivery across the Technology Solutions Group
  • You will help build a collaborative, motivated, interdependent team who will work with product, design and architecture teams in the delivery of software products
  • You will ensure effective communication of solutions within the Engineering group and its stakeholders in the US, Canada, Europe and India




Engineering Expertise 

  • You will use your engineering knowledge to identify and solve problems and to foresee potential issues and risks. You will manage risks within your team and ensure effective escalation of issues which impact other teams to your manager 
  • You will promote a positive culture that stimulates innovative approaches to solving problems. You encourage proactive, open communication and collaboration within your team
  • You will ensure high quality standards and practices are followed in your team and the end product is robust, high-availability best-in-class software applications. 


Technology Stack at HMH: 

We give you the best tools and latest technologies to keep you learning and growing. Here’s a small sample of our tech stack;  

  • Methodology                               - Scrum, Lean and Agile  
  • Microservices                               - Java, Spring Boot, Maven, NodeJS,  
  • Container technologies            - AWS, Docker and Kubernetes 
  • Development tools                    - GitHub, Jira, Confluence, Datadog 
  • Database technologies             - PostgreSQL, GraphQL, MySQL, Elastic Search and Redis 
  • Operating frameworks             - Apache Kafka 
  • CI/CD                                              - Jenkins, Concourse 
  • QE tools                                   jUnit / xUnit,  Mockito / Moq, Supertest, Ava
  • Web technologies                   - ReactJS, ECMAScript6, Node/NPM, Jenkins, GIT

You can find out more on our HMH Engineering Blog. 


Skills & Experience:

  • 8+ years of experience in Software Engineering
  • 2+ years’ end-to-end people management experience
  • Experience with JavaScript frameworks (React, Polymer, Vue, Angular)
  • Possess a deep understanding of popular JavaScript design patterns and their appropriate application (e.g. Module, Factory, Observer, Facade, Adapter, MVC)
  • Experience developing with one or more modern JS frameworks (e.g. React, Polymer, Vue, Angular) understanding of their capabilities and appropriate application
  • Strong appreciation of User Experience (UX) best practice with an ability to envisage user behaviors, needs, and motivations.
  • Exposure to Accessibility, Internationalization and Security patterns on modern Web development projects
  • Knowledge about Micro Frontend
  • Hands on experience of unit testing library like React Testing Library (RTL) or Jest
  • Nice to have understanding of Jenkins.
  • Experience with Java development with exposure to frameworks such as Spring Boot
  • Experience with architectural concepts such as microservices and separation of concerns
  • Experience with cloud technologies such as AWS
  • Experience with container technologies such as Docker, Kubernetes and Mesos
  • Experience with messaging Systems such as Kafka and SQS
  • Experience with Database and Caching technologies such as SQL, Aurora, and Redis
  • Experience with development tools such as GitHub and Jira
  • Experience in Test Driven Development and automated testing tools like Junit, Cucumber, Mockito, Pact, SonarQube and Gatling
  • Experience working in an agile delivery framework

Preferred Experience: 

  • Cloud technologies such as AWS
  • Container technologies such as Docker and Kubernetes
  • Development tools such as GitHub and Jira
  • Database technologies such as SQL, Aurora, and Redshift
  • Experience in a wide range of technologies and patterns across the full stack including micro frontends
  • Experience with Java development and frameworks such as Spring Boot
  • Experience with popular JavaScript design patterns and their appropriate application (e.g. Module, Factory, Observer, Facade, Adapter, MVC)
  • Experience with one or more modern JS frameworks (e.g., React, Polymer, Vue, Angular)
  • Operating frameworks such as Apache Mesos, Apache Kafka, Apache Spark, and Amazon Kinesis
  • Test Driven Development and automated test tools such as Junit, Cucumber, Mockito


Required Education:

  • Degree or Master’s in Computer Science or relevant discipline

Job Segment: Curriculum, Education

Apply now »