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.
If you want to make a difference in the lives of students and teachers and understand what it takes to deliver high quality software, we would love to talk to you about this opportunity.
Technology Stack
You''ll work with technologies such as Java, Spring Boot, ActiveMQ, Aurora, Mesos, Jenkins etc. 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. Were working on the development of our next generation learning platform and solutions utilizing the latest in server and web technologies.
About the role:
Software Engineering at HMH is focused on building fantastic software to meet the challenges facing teachers and learners, enabling and supporting a wide range ofnext generation learning experiences. We design and build custom applications andservices used by millions. We are creating teams full of innovative, eager softwareprofessionals 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. If you want to make a difference in the lives of students and teachers and understand what it takes to deliver high quality software, we would love to talk to you about this opportunity.
Responsibilities:
- Create prototypes to help clarify software requirements
- Createrealistic design specification documents from software requirements
- Plan and perform development tasks from design specifications
- Provide accurate time estimates for development tasks
- Construct and verify (unit test) software componentsto meetdesign specifications
- Collaboratewith quality assurance engineers to resolve software defects
- Provide feedbackon software design, construction,development methodologies, and best practices.
- Participate in creating standards and ensuring team members adhere to standards, such as security patterns, logging patterns, etc.
- Performcode reviews of constructed software deliverables
- Collaboratewith project architects and assist team members to prove the validity of new software technologies
- Engage and improve HMHs software development methodology.
- PromoteAGILEprocesses among development and the business, including facilitation of SCRUM.
- Perform other duties as assigned to ensure the success of the team and the entire organization
- Build and maintain CI/CD pipelines for services owned by team by following secure development practices.
Skills & Experience:
- 3 to 5 years'' experience in a relevant software development role
- Excellent object-oriented design & programming skills, including the application of design patterns and avoidance of anti-patterns
- Experience with web technologies such as
React, NextJS, Node,
and Cypress. - Experience using cloud-based database architectures such as AWS RDB and
snowflake
. - Experience with
AWS
containerization technologies such as Fargate, EKS, or ECS. - Experience with AWS (Lambda, EC2, IAM, VPC, CloudFront, S3, API Gateway) and infrastructure automation using Terraform.
- Proficient in containerization and orchestration tools like
Docker and Kubernetes.
- Experience with development tools such as Bitbucket/GitHub Cloud and Jira
- Skilled in
CI/CD pipelines, Git-based version control, and Agile methodologies
(Scrum, Kanban). - Demonstrated ability to follow through with all tasks, promises and commitments
- Ability to communicate and work effectively within priorities
- Ability to advocate ideas and to objectively participate in design critiques
Required Education:
- Degree or Masters in Computer Science or relevant discipline OR relevant work experience.