About Scratch

Scratch is a creative programming language and the world’s largest online coding community for children and teens. Children around the world use Scratch and ScratchJr to create their own interactive games, stories, and animations -- and share their creations with one another. In the process, they learn to think creatively, reason systematically, and work collaboratively. Last year, more than 30+ million children and teens around the world created projects with Scratch.

Scratch is translated into 70+ languages and used in schools, community centers, libraries, computer clubhouses, and homes across the globe. More than half of Scratchers access the site from outside of the United States. We’re passionate about supporting children in diverse settings and cultures around the world, because our global community is one of our greatest strengths.

In 2019, we moved our team out of the MIT Media Lab after 15 years, and into the Scratch Foundation, a new 501(c)(3) nonprofit. We’re transitioning out of an academic environment and into an independent nonprofit organization. We believe young people learn best when they are given the freedom to play, collaborate, and explore their interests. Those values extend to our team members as well, and we are committed to foster spaces for our staff to play and express their creativity and humanity. 

As an organization, we’re focused on centering our work on supporting creative learning for youth from communities impacted by systemic inequities, investing in our online community, developing our team, scaling our infrastructure, and improving data privacy, interoperability, and in-school experience. We’re looking for a diverse pool of applicants to join our team of 75+ educators, designers, and engineers, and help us steward our community through this work.

To learn more about Scratch, please visit: https://www.scratchfoundation.org/ and https://scratch.mit.edu/

Position Overview:

We are looking for a Principal Software Engineer with experience primarily in GoLang to join our  Infrastructure & Backend Engineering (IBE) team. You will be a key member of our small but growing engineering team making important technical decisions that will shape the future of Scratch applications and global reach. Right now, our engineers support applications with upward of 100 million users. If you love solving tough problems in a fast-paced and collaborative environment, then we’d love to meet you.


As Principal Software Engineer, you will be responsible for planning, designing, and building modern software applications and supporting the sunsetting of our legacy applications and programs. Your responsibility as a Principal Software Engineer will include contributing to the evaluation, selection, and implementation of supporting software such as databases and open and closed-source frameworks and projects we produce. This organization has a cloud-native future mindset and takes responsibility for the cloud and on-prem infrastructure that supports the array of applications within our system.


Our Environment:


  • On Prem MySQL and AWS RDS Aurora

  • EC2

  • Elastic Beanstalk

  • Circle CI

Responsibilities:

  • Implement API endpoints for high volume user facing applications (in Golang)

  • Excellent understanding of computer science fundamentals, data structures, algorithms, and software design

  • Implement and maintain scalable backend systems

  • Build performant and micro services

  • Contribute to backend architectural decisions

  • Develop capabilities to efficiently process large volumes of data

  • Consistent exercise of independent judgment and discretion in matters of significance

  • Present and defend architectural, design, and technical choices to internal teams during design and code reviews

  • Collaborate and communication across Development, QA, Ops and other cross-functional teams

  • Work with new technologies in order to design highly scalable software which achieves Scratch applications desired functionality

  • Create documentation and be a champion of Scratch architecture as the organization continues to rapidly grow

  • Regular, consistent and punctual attendance. Must be able to work nights and weekends, variable schedule(s) and overtime as necessary

  • Must be able to travel to necessary locations including our headquarters in Boston

  • Other duties and responsibilities as assigned


You Have


  • 7+ years software development experience

  • 5+ years of strong Go/Golang programming skills

  • 3+ years experience with Python (or similar)

  • Experience designing and building gRPC and RESTful APIs

  • Experience with Serverless & Event Driven Architecture via AWS

  • Experience with document, relational and other structured data storage solutions

  • Experience with Kubernetes/Docker

  • GraphQL experience is a plus

  • AWS certifications are a plus


You Are


  • Someone who builds relationships across all functions and levels, who focuses on the team wins, and makes work fun

  • A champion of diversity, who values the lived experiences and perspectives of others, especially when they’re different from your own

  • Passionate about the potential that technology can offer to positively impact the ways in which people can explore, create, learn, and connect with one another

  • Comfortable in fast-moving environments, knowing there will be risk and ambiguity, but driving toward mutual agreement, understanding and clarity

Additional information
The compensation range for this position at $182,600. 

The Scratch Foundation is an equal opportunity employer. Scratch welcomes people of all ages, races, ethnicities, religions, abilities, sexual orientations, and gender identities. We especially encourage historically marginalized identities to apply.