McGraw Hill is an education innovation company seeking a Sr. Software Engineer (Full Stack) to drive progress and build the future of learning. In this role, you will expand the •Connect• platform by designing, building, and maintaining scalable back-end systems and APIs while collaborating with various stakeholders to deliver robust functionality.
Responsibilities:
- Hands-On Development: Design, build, test, and maintain scalable, secure, and efficient back-end systems and APIs that support web and mobile applications
- Technical Execution: Translate technical designs and product requirements into high-quality, maintainable software solutions under the guidance of engineering leadership
- Collaboration: Partner with other engineers, product managers, designers, and other stakeholders to deliver seamless and robust platform functionality
- Code Quality: Write clean, maintainable code and contribute to code reviews, automated testing, and engineering best practices to ensure high-quality software delivery
- Performance & Reliability: Help optimize server performance, database queries, and system scalability to ensure reliable and responsive applications
- Operational Excellence: Support monitoring, troubleshooting, and incident resolution efforts using observability tools, including participation in off-hours support when needed
- Continuous Improvement: Contribute to the adoption of modern tools, technologies, and development methodologies that improve team efficiency and product quality
- Team Contribution: Share knowledge with peers, support junior engineers when appropriate, and contribute positively to a collaborative engineering culture
Requirements:
- Bachelor's degree in a related field or equivalent experience preferred
- 5+ years of applicable experience in software engineering or back-end development
- Strong experience with server-side programming languages such as Python, Java, Node.js, Ruby, or Go
- Experience in designing and developing REST APIs and working with microservices in low-latency, high-availability environments
- Good understanding of database technologies, both relational (for example PostgreSQL, MySQL) and non-relational (for example MongoDB, DynamoDB)
- Experience working in cloud environments such as AWS, GCP, or Azure and familiarity with infrastructure as code tools like Terraform or CloudFormation
- Knowledge of system performance optimization, caching strategies, and distributed systems concepts
- Experience with observability and monitoring tools such as New Relic, Datadog, or equivalent
- Familiarity with CI/CD pipelines and DevOps practices
- Familiarity with web security best practices and OWASP guidelines
- Experience working on platform services related to authorization, permissions, identity, or access management
- Experience contributing to shared services or internal developer platforms