The Senior Full Stack Software Developer is responsible for the design, development, and maintenance of complex software applications across the full technology stack. The role serves as a technical leader within the engineering team, driving architectural decisions, establishing standards, and mentoring junior developers while delivering reliable, scalable software solutions that support core business operations.
Essential Duties and Responsibilities:
- Designs, develops, tests, and maintains complex software applications across front-end, back-end, and database layers
- Leads technical design and architecture discussions, providing guidance on approach and implementation
- Translates business requirements into technical specifications and working software solutions
- Conducts code reviews and establishes and enforces team coding standards and best practices
- Mentors and provides technical guidance to junior and mid-level engineers
- Identifies and resolves complex software defects and performance issues across systems
- Drives continuous improvement of systems, processes, and team capabilities
- Maintains technical documentation in accordance with departmental standards
Education and/or Skill Requirements:
- Bachelor's degree in Computer Science, Software Engineering, or related field. Equivalent experience accepted in lieu of degree
- Minimum 6 years of professional software engineering experience, including 3 or more years working with distributed systems in a production environment
- Advanced knowledge of full stack development including front-end frameworks, back-end services, and relational databases
- Advanced knowledge of distributed systems architecture and NoSQL datastores
- Strong understanding of software design principles including SOLID and CAP Theorem
- Demonstrated ability to lead technical projects and mentor other engineers
- Ability to read, write, and debug code across multiple languages and frameworks. Our stack is mostly Ruby on Rails with a React frontend, with a heavy emphasis on GraphQL and SQL, and we expect confidence and competence with Docker, Kubernetes, AWS, and Git. You'll also touch some TypeScript, Go, and Rust. AI-assisted development is allowed but not required.
- Strong analytical, problem-solving, and decision-making skills
- Strong written and verbal communication skills
Physical Requirements:
Sedentary work; primarily performed at a desk in an office environment.
Ability to operate standard office equipment including computer, keyboard, and mouse for extended periods.