REMOTE Senior Software Engineer (Ruby on Rails) - ClassPass (Mindbody) - remote

Mindbody + ClassPass
Posted 2 years ago
Job family summary
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.
Additional desired background 
  • 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. 
Principal duties and responsibilities 
  • 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.