Senior Software Engineer
Utica, Oneida County, New York, 13501, USA
Listed on 2026-10-30
-
Software Development
Data Engineering
Build the future!
McGraw Hill is a learning science company that delivers personalized learning experiences to help students, parents, educators, and professionals drive results. We are hiring a Senior Engineer to join our Insights and Personalization Engineering team and build reporting and personalization features at scale on our Open Learning platform. This role focuses on data engineering in Databricks for Symphony, the platform behind teacher- and administrator-facing reports for products such as PRoPL, Open Learning, and MHPlus.
Howare you creating an impact?
You will own the data pipelines and analytics models in our Databricks lakehouse that power reports used by millions of users, from ingestion through to the serving layer consumed by our reporting APIs and UIs. Working closely with backend, UI, product, and data platform teams, you will help shape how McGraw Hill delivers insights to educators.
This is a remote position open to applicants authorized to work for any employer within the United States. This is a Project Status Worker (PSW) role with an end date of 8/16/2027.
What will you be doing?- Translate business requirements into technical specifications and solution designs, partnering with product and engineering leaders
- Build and maintain scalable batch and incremental data pipelines using PySpark, Spark SQL, Delta Lake, and Databricks Workflows
- Design reporting data models using dimensional modeling and medallion (bronze/silver/gold) architecture
- Build and optimize the SQL serving layer in Unity Catalog, including views, materialized views, and table-valued functions
- Tune Spark and SQL performance and manage compute cost
- Own data quality, observability, and reliability through automation, testing, and monitoring
- Apply data governance and access controls through Unity Catalog
- Lead design reviews and mentor engineers on data engineering best practices
- Languages: Go (APIs/services), Python/PySpark, Spark SQL, Scala (data pipelines)
- Databricks: Delta Lake, Unity Catalog, PySpark/Spark SQL, Databricks SQL warehouses, Workflows/Jobs, notebooks, materialized views, SQL table-valued functions
- AWS and data stores: S3, RDS, Kafka, Aurora (PostgreSQL)
- Platform and Dev Ops: Git Hub, Git Hub Actions, Docker, Kubernetes, ECS, EKS, Terraform
- Collaboration: Jira, Confluence, Slack
- 5+ years of software or data engineering experience, including 3+ years building production data pipelines on Databricks or an equivalent Spark platform in AWS
- Experience delivering production-grade, fault-tolerant software in a fast-paced environment with a distributed team
- Advanced SQL skills, including tuning complex analytical queries over large datasets
- Expertise in data warehousing, lakehouse concepts, data modeling, and cloud data architecture
- Strong applied knowledge of several of:
Unity Catalog governance, batch and incremental ETL/ELT, Spark performance tuning, REST services, AWS data services (Athena, Glue, EMR, Lambda), Terraform, Git Hub Actions, and Git - A Bachelor's degree in Computer Science or a related field, or equivalent experience
- Education or publishing domain experience
- Streaming/CDC ingestion (e.g., Kafka) into Delta Lake
- Data quality frameworks (Delta Live Tables, Great Expectations)
- Databricks certification
The work you do at McGraw Hill will be work that matters. We are collectively designing content that will build the future of education. Play your part and experience a sense of fulfilment that will inspire you to even greater heights.
The pay range for this position is between $124,300 - $140,000 annually. However, base pay offered may vary depending on job-related knowledge, skills, experience, and location. Additionally, a full range of medical and/or other benefits may be provided, depending on the position offered.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).