 
        
        Job Description
">
About Us
Our mission is to make researching and enrolling in schools easy, transparent, and free. We help millions of people find the right school for them.
We want our platform to be a place where people truly enjoy working and can thrive professionally.
Role Description
As a Senior Fullstack Engineer, you will build services and user-facing features across our platform, focusing on reliability, maintainability, scalability, testability, and user experience.
You will leverage your expertise spanning the entire stack, from database interactions to front-end libraries, contributing significantly to our technical direction while mentoring other engineers.
This role is ideal for engineers who enjoy prototyping and experimenting to learn quickly.
Key Responsibilities:
 * Design, develop, and maintain robust and scalable full-stack applications and features across a modern tech stack, including TypeScript, React, Go, and Postgres.
 * Focus on improving our user experience, collaborating with designers to implement intuitive interfaces and finding creative ways to reduce user pain points.
 * Build and enhance microservices, focusing on reliability, maintainability, testability, and scalability within our distributed systems.
 * Ensure the quality of our products remains high by contributing to automated testing strategies and participating actively in code reviews.
 * Collaborate effectively with product managers, designers, and other engineers within an Agile development framework.
 * Mentor junior and mid-level engineers, fostering a collaborative environment and sharing your expertise.
 * Distill user stories or business requirements into technical requirements and robust technical designs.
 * Efficiently iterate from hypothesis to MVP to scaled solutions, driving software development across profiles, rankings, tools, and data pipelines.
Required Skills and Qualifications
 * Bachelor's degree in Computer Science, a related field, or equivalent experience.
 * 5+ years of professional software engineering experience.
 * Experience with one or more general-purpose programming languages (Go, C/C++, C#, Java, Ruby, etc.).
 * Experience with TypeScript and React.
 * Experience with one or more SQL databases.
 * Strong understanding of common data structures and design patterns.
 * Experience working with a microservice architecture and distributed systems.
 * Proficiency in using unit testing frameworks.
 * A dedication to developing clear, reliable, and maintainable code.
 * Proficiency with common Git operations.
 * Strong communication skills, effectively conveying ideas to both technical and non-technical partners.
 * Experience mentoring other engineers.
Benefits
During the 1st Month:
 * Attend onboarding sessions to better understand our internal processes and learn about the company.
 * Pair with other engineers to learn more about our tech stack, the products we support, and our development standards and processes.
 * Familiarize yourself with our automated testing platforms and begin to contribute to our test coverage.
 * Collaborate with the team to ship one meaningful feature that delivers value to our education searchers or partners and drives impact toward a business goal.
Within 3 Months:
 * Participate in code reviews and provide thoughtful, constructive feedback to other engineers.
 * Gain exposure to the platform's underlying infrastructure and deployment processes.
 * Understand the high-level architecture of the website and back-end services.
 * Begin shipping more complex user-facing code.
Within 6 Months:
 * Grow as a contributing member of a product team, providing input and insight to the rest of the team on challenges and feasibility of proposed development.
 * Confidently implement new functionality and fix bugs across our stack.
 * Work with members of the tech and product teams to distill user stories or business requirements into technical requirements/design.
Within 12 Months:
 * Begin identifying areas for improvement in our codebase, researching best practices, and making recommendations to the team on strategies to address them.
 * Solidify understanding of the breadth of our tech stack, including underlying infrastructure, internal tools, front-end applications, and how they interact with our back-end services.
 * Be a subject matter expert for the product team's areas of responsibility.