Headquarters: San Luis Obispo, CA
URL: https://mindbodyonline.com
The Software Engineer IV (Senior Ruby on Rails Developer) is the vanguard for software design and implementation at Mindbody + ClassPass. The motto of this role is to be the first to break down complex problems and envision elegant solutions. Members of this role are the go-to subject matter experts and guides responsible for actualizing technical innovations within our core product. This includes spearheading technical designs, producing proof-of-concepts and manufacturing effective documentation to inform implementation teams.
Job summary
The Mindbody + ClassPass Consumer Marketplace is looking to grow our engineering team. We are seeking an intelligent, ego-free and inquisitive problem solver who loves learning just as much as they do teaching. You would be joining a dynamic team with a strong focus on collaboration and creativity. Work in partnership with a diverse group of engineers and QA to create unique customer solutions for an ever-changing marketplace. We emphasize flexibility and a strong work life balance in conjunction with a fast-paced, agile environment. The team values transparency, being humble and helpful, and embracing the Scrum framework. This is an opportunity to be a part of a supportive engineering culture that not only values building great software but improving the lives of the people that use our products every day.
Minimum qualifications and requirements
- Bachelor’s Degree in Computer Science or equivalent experience.
- Experience knowledge of the Ruby language, related frameworks (Rails), and the Ruby toolchain.
- Substantial experience with BDD or TDD and testing frameworks.
- Substantial experience designing APIs.
- 8+ years of industry experience programming web applications, mobile and/or large-scale enterprise products.
- Hands-on experience with both RDBMS (PostgreSQL, SQLServer, etc.) and NoSQL (Mongo, DynamoDB, etc.).
- Fluency in Git and branching workflows such as Gitflow or Trunk-based development.
- Demonstrated ability to work well on highly collaborative scrum teams.
- Detailed oriented, professional and possesses a positive work attitude.
- Comfort with *nix-based systems and the command prompt.
- Experience using Docker and/or Kubernetes.
- Familiar with AWS services including EKS, EC2, ElastiCache, DynamoDb, SNS, SQS.
- Familiar with SDLC and programming design patterns.
- Familiar with Agile methodology.
- Skillful at reviewing new feature impact on an application and recognizing potential risks.
- Demonstrated ability to pick up new concepts quickly.
- Interest in working with various server languages such as: Golang, C#, or something other than Ruby.
- Communicate professionally both verbally and in writing.
- Effective time management skills.
- Familiarity with architecture patterns like Pub/Sub, Event Sourcing and CQRS.
- Familiarity search engines such as CloudSearch and ElasticSearch.
- Familiarity with IaC concepts and tools: Terraform, Puppet, Chef, CloudFormation, or similar.
- Be the technical lead throughout the development lifecycle, from scoping, planning, conception, design, implementation and testing, to documentation, delivery and maintenance.
- Develops software solutions by studying information needs, conferring with users, studying systems flow, data usage and work processes, investigating problem areas, following the software development lifecycle.
- Conducts systems analysis and makes recommendations to improve the system to achieve an outcome.
- Promotes internal best practices and coding conventions to write and execute tests for your own code, including creating comprehensive automated tests.
- Occasional on-call rotation duty to respond to after-hours system incidents.
- Requests constructive feedback for designs early in the process.
- Communicates successfully with large teams and many personalities.
- Provides mentorship for Software Engineers and participates in interview panels to hire new Software Engineers.
- Performs peer code reviews to ensure quality of the codebase.
- Ability to decompose and delegate work to junior engineers.
- Updates job knowledge by studying state-of -the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
- Works effectively with multiple projects and departments.
- Ensures designs and projects created comply with design library guidelines, internal best practices, and coding conventions when applicable.
- All other duties as assigned.