Senior Software Engineer
Job Type: Full Time / Permanent
Job Description: A senior engineer with experience designing and developing complex software systems. You will be expected to work closely with the Head of Engineering to architect and design new features as defined by the Product team, and lead development work with the engineering team in implementing these features. Code reviews and feedback are expected as well as providing mentorship to the other developers. In addition to new features, supporting, maintaining, and upgrading the existing platform are tantamount to this role as well. An understanding of DevOps is required to support our infrastructure: familiarity with AWS, containers, etc. This role requires being on site part time.
Responsibilities: Design, build, and maintain efficient, reusable, and reliable code. Help maintain code quality, organization, and automation. Identify bottlenecks and bugs and devise solutions to these problems. Implementation of services and APIs to power the application. Building reusable code and libraries for future use. Optimization for performance/scalability. Translation of designs to visual elements. Support the app and platform. Support and manage the deployment, scalability, and monitoring of our infrastructure.
Requirements: 5+ years experience writing production software. 3+ years of Ruby on Rails experience. 1+ years of front-end experience with a modern web framework (Angular, React, etc.). Experience with deployments, AWS, and DevOps Nice to have. Experience using Terraform for managing infrastructure. Experience using GitHub Actions. Experience in nonprofit or social enterprise setting. Dog friendly.
Benefits: Health insurance, dental, vision. Paid time off 11 company holidays + 2 floating holidays. Professional development resources.