Software Engineering at HMH is focused on building fantastic software to meet the challenges facing teachers and learners. Enabling and supporting the next generation of learning experiences. We design, and build custom applications and services used by millions. Creating teams full of innovative, eager software professionals to build the products that will transform our industry. Our modern cloud platform is under way, and we are advancing our next generation services using a variety of new technologies like Scala, graph databases, Mesos frameworks and more.
HMH is staffing new, small, self-contained teams of engineers with people who love solving problems, building high quality products and services. You bring a rich skillset, and can contribute broadly. You know how to pick the right tool to the right job, and influence the definition of right for every project. We use a wide range of technologies, and are investing heavily to make sure our learning tools and content are improving outcomes for students and teachers every day. Do you want to make a difference in the lives of children, and understand what it takes to deliver high quality software? If so we would love to talk to you about this opportunity.
The Opportunity - Staff Engineer
Staff Software Engineers will be technology leaders of the highest impact projects. You should have a background of extraordinary technical competence and experience taking ownership of a high impact project; leading the development from inception to production. You set the bar for a team for technical excellence, acting as engineering role models and mentoring Software and Senior Software Engineers. You will have strong skills in a specific area, but will have expertise for the full technology stack with the knowhow to apply the right technology to the job. You will use these skills and experience to improve technology practices across the group and communication. You. You look forward to representing HMH in industry groups and open-source communities. Staff Engineers are great communicators with an added ability to improve the team around them.
- Write code for complex projects
- You will be the engineering leader and influencer for the development team of 5-10 engineers
- Program-level solution design/technology and product evaluations
- Applying domain expertize to improving technology practices, standards and methodologies within the group
- Communication across the organization.
Skills & Experience
- 10+ years of experience
- Bachelor's degree in Computer Science or related field
- Exceptional technical competence that includes a portfolio of thought leadership and individual technical accomplishments.
- Proven track record as a leader in initiating, architecting and building distributed and scalable solutions across the complete stack, including front end, backend, web services and database layers.
- We are looking for people who have experience with Java, Node, as well as front-end (HTML/JS) but place the highest value on ability to be productive in a wide range of environments, and the willingness to learn even with unfamiliar tools.
- 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.
- Great collaborator with colleagues face to face, written form, conference calls, and online meetings.