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. As a senior member of the team, 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.
How you will make an impact
- 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, 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, QA analysts, and other engineers within an Agile development framework.
- Contribute to engineering best practices, identifying and driving improvements in our processes, architecture, and technology stack.
- 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.
You may be a good fit for this role if you
- Are passionate about coding and creating scalable systems and fantastic user experiences.
- Embrace a growth mindset by continuously questioning established ideas and learning from your experiences.
- Exhibit humility and a collaborative spirit, fostering a positive work environment while valuing the contributions of others without ego.
- Value autonomy and empowerment to make your own decisions.
What you will do
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 product team members to implement and ship small features and functionality
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
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 Typescript and React
- Experience with one or more general-purpose programming languages (Go, C/C++, C#, Java, Ruby, etc.)
- 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