Roger Demuth, VP of Engineering shares an inside look at the engineering team at Ruby, a Portland-based company that supports more than 10,000 businesses with live virtual receptionists and 24/7 chat services. Learn about Ruby's tech stack, how the engineering team is organized, and tips on the interviewing process.
In this article series we talk to people at some of the most admirable companies in The Silicon Forest, simply asking, how do I get a job there? First off, we have an interview with Roger Demuth, VP of Engineering at Ruby. If you or someone you know would like to be interviewed, please contact us.
Hi Roger! Please introduce yourself and tell us about your role at Ruby.
My name is Roger Demuth and I am the VP Engineering at Ruby. As so often happens, I came to Ruby through contacts within my professional network. My time at Ruby is a mix of people leadership, ensuring that our processes support our business goals and technical oversight of our systems.
My team consists of a mix of developers, QA engineers, software architects and engineering managers. We deliver the software that enables the company to deliver services to our small business customers. I am responsible for ensuring we have the right people on board, they know what to deliver, that our processes assist us in delivering our work smarter and more efficiently, and ultimately for delivering business value in the form of functional software.
Tell us a bit about Ruby and what you and the team are building.
The Engineering team here is responsible for the ongoing development and maintenance of a set of applications used to provide receptionist and chat services to our customers. These apps are both internal and external facing, web and mobile, and involve integrations with several third-party systems including telephony systems, payment processors and CRMs. Our customers are primarily small businesses who need some assistance managing their telephone and chat interactions with their customers. Our services are available 24/7/365.
Ruby is a well established company of 18 years with more than 650 employees and 13,000+ customers. Our customers are primarily U.S.-based. Many are professional organizations such as attorneys or service businesses such as home service (e.g. furnace, plumbing, etc). We have employees in several different states and a significant presence in Oregon, Washington, Arizona, and Missouri.
What is the size and structure of the Engineering team? How do you work together?
We have four engineering teams responsible for our system with a total headcount above 20 employees. Their roles are a mix of front-end, back-end, full-stack, QA and software architect. In addition, we have networking and telephony architects, DevOps and site reliability engineers. There is also a technical business intelligence team. We near-shore a minority of our work. The near-shore engineers are each assigned to one of the internal scrum teams and work closely within those teams.
We use a mix of scrum and Kanban. While we aren’t yet at truly CI/CD, we release code frequently. We use Slack as our primary internal communications platform within Engineering, but we also use Microsoft Teams across the company. Engineering uses Target Process for tracking user stories and Asana for project management.
Our most recent hires have been a Front-End Engineer, a QA Automation Engineer and a DevOps Engineer.
What is your tech stack?
We use Angular for our front-end development. The back end is a mix of Linux and Microsoft systems using .Net Core. We use SQL Server, Maria DB and Mongo for data storage. Large portions of our system are deployed in Amazon Web Services, while some parts are deployed in redundant colocated facilities due to specific technical requirements around telephony.
Do you have any sort of on-call structure or rotation?
Ruby currently has an informal on-call structure. We are in the process of formalizing that structure and the overall outage handling process.
Especially with the current challenges for small business across the country, helping them out really energizes me and the team.
How would you describe the company culture?
The culture at Ruby is diversified and inclusive. From our annual Space Kitten Pizza Party to our quarterly Ruby Zine, we consider it our business to empower our Ruby’s in their preferred forms of self-expression. If you’ve got a secret skill worthy of “Ruby’s Got Talent” or a not-so-secret enthusiasm for competitive kickball, you might be cut from the same tie-dye cloth.
People ask us why we’re so happy. And the answer is, because we work at it. The concept of Swellness is one aspect of the job—an ongoing wellness program that includes everything from fitness classes to personal development workshops, to community events, and beyond.
What kind of opportunities do you provide for professional development?
While we have always advanced people internally in their careers, we have been working recently towards establishing more formal development plans for our engineering staff. That has included creating a technical job ladder for those contributors who want to remain on the technical side of things without going into management. We do internal mentoring and formal training to ensure we stay up-to-date on technology.
Ruby takes professional growth and internal opportunities very seriously. A number of the individuals in the product and technology department (and other teams) began their careers here as receptionists and through hard work and a helping hand from leaders have taken on QA engineer, product manager, manager and other roles.
What is your favorite part of working at Ruby?
We have a great team that really likes working together and that cares about each other. We are helping small businesses across the country succeed and prosper. Especially with the current challenges for small business across the country, helping them out really energizes me and the team.
I want to know what you did; what you accomplished, not just what technology you used.
I’m curious how those who work at Ruby right now got their position.
About a quarter of our current internal team came through internal transfers. Another quarter came about as a result of acquisitions. The rest were external hires. We have had significant success leveraging employee’s professional networks for finding new hires. For the most part, we do not use external recruiters.
What type of candidates do you think would be a good fit for Ruby?
Ruby is quite flexible in our hiring practices. We like to have a mixture of seniorities as we believe this provides a good balance in a team. Some of our developers have 4+ year degrees while some have gone to code school and others are completely self-taught. Having experience with the frameworks and APIs we use is, of course, a good thing, but what we’re really looking for is development skill, aptitude and innate curiosity and problem solving ability.
What are the top mistakes you see engineers make when applying for a job at Ruby?
My experience here is limited as I’ve only been at Ruby for four months and we’ve only hired a small number of people in that time. That said, one false assumption I’ve encountered is that—because Ruby does not sell technology directly—we aren’t “high tech.” All of the services we provide are entirely enabled by our proprietary technology and we aim to keep that technology cutting edge.
Two pet peeves of mine when it comes to resumes are: spelling and grammatical errors (have someone proofread) and long, long resumes that are nothing more than a list of technologies and positions—I want to know what you did; what you accomplished, not just what technology you used.
Say I make the first pass and get invited to an interview. Can you briefly describe the interview process from there?
First round is normally through an in-house recruiter. Then would come a screen with the hiring manager. If you pass both rounds, we set up interviews with potential peers/teammates. These interviews could be team interviews (2-3 people) or individual. Depending on the position, you may also interview with a software architect and/or a more senior manager.
You should expect a mix of technical questions and style/fit questions in all phases with the obvious caveat that the less technical people will ask you less technical questions. To prepare for an interview, know as much as you can about the company before your interview. Have a list of questions you want to ask even if you have to ask the same questions of more than one interviewer.
Lastly, what advice would you give to someone that wants to apply to Ruby?
Having a cover letter that references Ruby and something you may have read about the company absolutely helps. Do your research on the company! Know something about our values, our products, our technology. If you are being referred by an existing or former employee, absolutely mention it. If you’re active in the broader tech community, mention your involvement whether it be in the open source community or meetups or whatever.
What jumps out at me is authenticity of interest in the company and the position. This is shown by your ability to reference something about Ruby and ask intelligent questions of us about the company, about our software, about our roadmap, our technology approach, etc.
For more info about Ruby, check out their profile on The Silicon Forest. You can also see all of their openings here.