Sr Software Engineer

Apply now »

Date: Apr 26, 2024

Location: Pune, MH, IN

Company: Houghton Mifflin Harcourt

Who We Are

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.  

 

What you’ll do:

 

HMH Software Engineer is a mid level position with expectations for both technical leadership, and a force to grow and sustain HMH’s positive, high energy technology company culture.  The Software Engineer creates high-quality craftsmanship-level software for HMH clients and internal users, and are expected to be experts in the software languages used or required by HMH. This includes meeting all requirements/specifications, testing/QA requirements, methodologies and other HMH software/product requirements. This position must be adaptable to changing technology environments, and work collaboratively with all participants in a software development project.  The Software Engineer may be called upon to fulfill functions related to software development that are not specifically software programming, such as requirements gathering, producing documentation, quality assurance testing, mentoring other developers, and leading projects. This position provides technical guidance and serves as a mentor/resources to the more junior level Software Engineer roles. 

 

What you’ll need:

 

Responsibilities

  • Create prototypes to help clarify software requirements
  • Create realistic 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 components to meet design specifications
  • Collaborate with quality assurance engineers to resolve software defects
  • Provide feedback on 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.
  • Perform code reviews of constructed software deliverables
  • Collaborate with project architects and assist team members to prove the validity of new software technologies
  • Engage and improve HMH’s software development methodology.
  • Promote AGILE processes 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

 

Skills and Abilities

  • Excellent object-oriented design & programming skills, including the application of design patterns and avoidance of anti-patterns
  • Experience working in a collaborative team of application developers and source code repositories
  • 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
  • Ability to work under tight timelines in a fast-paced environment
  • Advanced understanding of software design concepts
  • Understanding of software development methodologies
  • Experience using cloud-based database architectures such as AWS RDB and snowflake. 
  • Experience with Tableau Development
  • Deep understanding of SQL server and stored procedures.
  • Experience with python development

 

How We Work (Competencies) 

  • Instills Trust – Gaining the confidence and trust of others through honesty, integrity, and authenticity.
  • Drives Results – Consistently achieving results, even under tough circumstances.
  • Collaborates – Building partnerships and working collaboratively with other to meet shared objectives.
  • Focuses on Customers – Building strong relationships and delivering customer-centric solutions.  
  • Learns Nimbly – Actively learning through experimentation when tackling new problems, using both successes and failures as learning fodder.

 

Education and Experience

  • Minimum Bachelor’s degree in computer science or a related field; or an equivalent combination of education and experience will be considered in lieu of a degree
  • At least 5 years of progressive experience in a software development environment in high growth technology companies
  • Proven experience with multiple completed projects with significant, clearly attributable individual design and implementation contributions.
  • Proven experience working across multiple tiers of an application, including a database, network, operating system, and containers.
  • Deep knowledge of more than one programming language or technology stack.
  • Demonstrable mastery of SQL. 

 

 

 


Job Segment: Curriculum, Education

Apply now »