About the Product
Niche is the leader in school search. Our mission is to make researching and enrolling in schools easy, transparent, and free. With in-depth profiles on every school and college in America, 140 million reviews and ratings, and powerful search tools, we help millions of people find the right school for them. We also help thousands of schools recruit more best-fit students, by highlighting what makes them great and making it easier to visit and apply. Niche is all about finding where you belong, and that mission inspires how we operate every day. We want Niche to be a place where people truly enjoy working and can thrive professionally.
About the Role
We’re looking for a driven, resourceful, and experienced Senior Full Stack Software Engineer to join one of our growing product teams. You will be tasked with designing, building, and enhancing services and user-facing features across our platform, with a strong focus on reliability, maintainability, scalability, and user experience. You’ll leverage your expertise spanning the entire stack, from database interactions to front-end libraries, contributing significantly to our technical direction and mentoring other engineers.
What You Will Do
- 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 user experience, collaborating with designers to implement intuitive interfaces and reduce user pain points.
- Build and enhance microservices, focusing on reliability, maintainability, testability, and scalability within distributed systems.
- Ensure product quality by contributing to automated testing strategies and participating in code reviews.
- Collaborate effectively with product managers, designers, QA analysts, and other engineers within an Agile development framework.
- Contribute to engineering best practices, driving improvements in processes, architecture, and technology stack.
- Mentor junior and mid-level engineers, fostering a collaborative environment.
- Distill user stories or business requirements into technical requirements and robust designs.
- Iterate from hypothesis to MVP to scaled solutions across profiles, rankings, tools, and data pipelines.
- Help shape the Data-Driven Content team’s engineering practices as we embrace experimentation and optimize data operations.
What We Are Looking For
- 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 with a microservice architecture and distributed systems
- Proficiency in using unit testing frameworks
- A commitment 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
- Experience with dbt, Airflow, Kafka, and Snowflake a plus
First Year Plan
During the 1st Month:
- Attend onboarding sessions to better understand internal processes and learn about the company
- Pair with other engineers to learn more about the tech stack, products, and development standards
- Familiarize yourself with automated testing platforms and contribute to test coverage
- Collaborate with the team to ship one meaningful feature that delivers value
Within 3 Months:
- Participate in code reviews and provide thoughtful feedback to other engineers
- Gain exposure to platform 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 on challenges and feasibility
- Confidently implement new functionality and fix bugs across the stack
- Work with tech and product teams to distill user stories or business requirements into technical designs
Within 12 Months:
- Identify areas for codebase improvement and propose best-practice strategies
- Solidify understanding of the breadth of the tech stack and how components interact
- Be a subject matter expert for the product team’s areas of responsibility