Senior Software Engineer (Elixir + Ruby) Multiple Positions - Remote, USA + Canada

CityBase is a publicly traded (part of GTY Technology Holdings: GTYH) and rapidly growing GovTech company working to improve the efficiency and accessibility of Government products and services with a focus on payments. We are seeking multiple senior software engineers to join the team who are familiar with either Elixir or Ruby.

About us

My name: Gabriel Taylor Russ
My position: Director of Engineering
Company name: CityBase
Country: USA
Company info and history:
We have been using Elixir for a number of years and have ~15 Elixir services running in production. Our applications are containerized and deployed to Kubernetes running on AWS, managed through Argo, and defined in Helm charts.

CityBase works with more than half of the top 20 largest US cities deploying payment and information services that help make interactions with Government and utilities more efficient for millions of Americans.

About the job

Job title: Senior Software Engineer
Job description:

  • Design, build, test, deploy and maintain applications for the delivery of digital services and payments
  • Contribute to the evolution of the platform through strong architectural design
  • Develop standards, tools, processes, libraries, and frameworks that facilitate the development of reliable, secure, performant, and consistent services
  • Identify and resolve issues related to scalability and performance
  • Coach and mentor less experienced developers on the team

Salary range: USD 120k - 150k
Position on remote work: 100% supported.
Qualifications or experience required:

  • 5+ years of professional software development experience with Ruby and Ruby on Rails.
  • An appreciation of functional programming and a strong desire to become an expert Elixir programmer
  • Experience working with relational databases at scale
  • Excellent oral and written communication skills
  • Demonstrated ability to document system architecture
  • Strong preference to succeed as a member of a team

What the successful job applicant will be working on:
We are hiring across several teams so the successful candidates may be working primarily on either:

  • Building a robust point-of-sale (POS) product that integrates multiple hardware devices such as
    check readers, cach drawers, card readers, barcode scanners etc with an interface that connects Government and utility employees with the CityBase API.
  • Adding features to our existing API and enhancing business-critical features like recurring payments and our content management system product.

About the interview process

Once we’ve received your resume, we’ll assess whether your skills and experience align well with the challenges we’re working on at CityBase. If it looks like a good fit, we’ll arrange a call with someone for the recruitment team to talk about how your goals and experience align with CityBase and with one of our senior Elixir developers. Through your discussion with our dev team you will have an opportunity to ask us questions about the company, work environment, projects, teams and anything else about CityBase that piques your curiosity. We’ll also cover some basic technical questions to verify your experience.

We next offer two paths forward.

If you have made open source code contributions that you feel are a good representation of your skills and experience then we’ll ask you to send us some repos, PRs or specific commits that we can review. This path, our preferred method of assessing your skills, recognizes that your time is finite and valuable, that open source is an integral part of our stack at CityBase and the value of open source software to society.

If you have not yet had the opportunity to contribute to open source, we’ll be happy to send you a programming task that will take a couple of hours to complete and give you an opportunity to demonstrate your knowledge in the programming language in which you are most confident. It need not be Elixir as we understand that not everyone excited about Elixir has had an opportunity to work professionally in the language.

In either case, we’ll take 2 to 3 days to assess your code and get back to you about the next steps.

The third stage is a series of back-to-back video or in-person interviews, primarily with engineers and product managers, designed to give you the best sense of the culture and to challenge your skills in designing complex systems, comprehending and refactoring code, communication, and collaboration.

Our assessments are NOT algorithmic whiteboard exercises. We’re interested in seeing how you solve problems and communicate your thinking in a more realistic environment as we feel that gives us the most accurate picture of your skills.


Typically we respond to applicants within 8 business hours of receiving their application to organize an initial discussion at a time convenient to them within 5 business days.

We try to organize the remaining stages quickly after that.

After each stage, we endeavor to respond to the applicant within 8 business hours about the next steps. The code review portion of the process can take slightly longer, but we’re committed to getting back to you within 5 days for that portion.

How to apply

Please submit your resume to