Principal Backend Engineer (GoLang) Remote
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.
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.
On Prem MySQL and AWS RDS Aurora
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
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
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