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 K12 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.
Software Engineering at HMH
Software Engineering at HMH is focused on building fantastic software to meet the challenges facing teachers and learners, enabling and supporting a wide range of next generation learning experiences. We design and build custom applications and services used by millions. We are creating teams full of innovative, eager software professionals to build the products that will transform our industry.
We are staffing small, self-contained development teams with people who love solving problems, building high quality products and services. We use a wide range of technologies and are building up a next generation microservices platform that can make our learning tools and content available to all our customers.
Technology Stack
You'll work with technologies such as Java, Spring Boot, Kafka, Aurora, Mesos, Jenkins etc.
Purpose of the Role: For you this will be a hands-on coding role working as part of a cross-functional team alongside other developers, designers and quality engineers, within an agile development environment. We're working on the development of our next generation learning platform and solutions utilizing the latest in server and web technologies.
About The Role
- You'll be responsible for designing, documenting, supporting and implementing microservices, which are used by Ed, our learning platform
- You'll possess strong coding capabilities, problem-solving skills and with the ability to communicate enthusiastically, clearly and concisely to other engineers within the larger team as well as with other HMH functional teams
- Our 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 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
- Contribute to the collective ownership & delivery of component design, development and maintenance
- Participate and contribute to code reviews
- Contribute to our engineering culture and ever-improving concept of engineering best practices.
- Understand project tracking and agile development methodologies
- Work collaboratively within a cross-functional, agile development team to solve problems, transfer knowledge and contribute to overall product architecture
Skills & Experience
- 3 to 5 years experience in a relevant software development role
- You are an experienced Java developer with exposure to frameworks such as Spring Boot
- Experience with architectural concepts such as microservices and separation of concerns
- 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 with cloud technologies such as AWS
- Experience in Test Driven Development and automated testing tools like Junit, Cucumber, Mockito, Pact, SonarQube and Gatling
Required Education
- Degree or Master's in Computer Science or relevant discipline OR relevant work experience