A Software Engineer understands the needs of a growing SaaS business relative to the management of SaaS tenants. The Software Engineer then applies that knowledge, in collaboration with their teammates, to update, modify and test various aspects of a growing Tenant Management implementation. The goal of this work is to help business stakeholders continuously iterate on the SaaS Operations processes of our company.
Be surrounded by smart talented people with shared values of continually challenging, investing in, and stretching themselves to new levels.
Collaborate with seasoned developers to solve problems and to challenge assumptions.
Work in small teams with opportunities for rapid growth and accelerated responsibilities driven purely by individual performance.
Everyone has a voice and is always encouraged to engage in shaping the company by sharing their interests, ideas, and feedback.
What you will do:
Participate in discussions, help with the design and implementation of SaaS Tenant Management solutions.
Support stakeholders and peers in the use of Tenant Management systems.
Take on various SaaS Tenant Management responsibilities, including design and implementation of solutions.
Work closely and share ideas with other teams who will align with Tenant Management systems.
Participate in conversations to evangelize Tenant Management concepts with business stakeholders.
Learn new things and grow rapidly from constant exposure to innovative ideas, concepts, and patterns.
Qualifications:
Extensive experience working with Ruby on Rails and Software as a Service (SaaS) solutions.
Experience in developing Ruby on Rails (RoR) based highly distributed system design, building scalable microservices with high availability enabled for zero-downtime production rollout.
Experience in writing unit tests using a Test-Driven Development (TDD) approach (e.g., RSpec, Minitest & Cabybara).
Enhance and maintain database schemas, develop high performance queries, and automate database migrations using ActiveRecord and Rake tasks.
Experience working with branching strategies, including peer review using Git, GitHub & Jira.
Experience with Elasticsearch, Memcached and Redis is a plus.
Experience with building and troubleshooting CI/CD pipeline and resolve build errors.
Experience with Infrastructure as a Service (IaaS) and Infrastructure as Code (IaC) development using configuration management tools such as Terraform or CloudFormation.
Experience in containerizing microservices using Docker.
Experience with real-time asynchronous data processing using Stimulus and Hotwire.
Familiarity with documenting and executing User Acceptance Tests, writing release guide and providing technical signoff.
Familiarity with relational databases such as PostgreSQL and SQL Server.
Experience working with various middleware solutions, including the use of RESTful API’s.
Knowledge and/or experience with responsive web technologies (e.g., JavaScript, HTML5, CSS 3).
Knowledge of Microsoft Azure DevOps or Amazon Web Services.
Ability to learn and adapt quickly to new business domains and technologies.
Ability to conceptualize and articulate ideas clearly and concisely to both technical and business stakeholders.
Strong problem-solving skills, including learning and reuse by leveraging patterns and frameworks.
Good communication, presentation, and interpersonal skills.
Understanding of and experience with Agile principles and practices.