Senior Software Engineer

We are remote-first and have team members throughout the United States and Canada, as well as in our headquarters in downtown Chicago. We value our collaborative, team-first culture which supports a healthy work-life balance.
 
At CityBase we are organized into cross functional teams and use an agile methodology (Scrum) with a two week sprint. While we collaborate during design phases and sometimes utilize pair programming, we often work independently when coding. We maintain high standards through peer reviews and automated testing. Using ArgoCD and Kubernetes, we are able to quickly spin up an environment to validate our work and deploy on demand.
 
Who you are:
 
  • Dedicated team player with strong interpersonal skills, values humility and respects others
  • Lifelong commitment to improving your skills, work habits, and productivity
  • Professional who is comfortable with providing and receiving constructive feedback and managing deadlines
  • Several years of experience developing scalable backend solutions using an object oriented language
  • Experience with or a strong desire to learn functional programming
  • Possess a disciplined approach in creating readable and testable code
  • Proficient in version control fundamentals such as branching, rebasing, and providing peer reviews by way of pull requests
  • Experience operating in an agile environment
  • Resourceful and comfortable working without complete information
  • Ability to prioritize tasks and self manage
  • US or Canadian citizen
     
What you would do:
 
  • Expand our platform to best serve our customers, who are typically government agencies, through a highly available, scalable, reliable, and easy to implement architecture
  • Develop automated tests to validate acceptance criteria in our CI/CD environment
  • Provide peer code and design reviews to ensure high quality standards
  • Identify, propose, and implement improvements to our systems and processes
  • Efficiently create maintainable documentation to clearly communicate system design
     
Helpful experience:
 
  • Ruby on Rails
  • Elixir / Phoenix
  • GraphQL
  • Event bus / message bus patterns (NATS / RabbitMQ / Kafka)
  • Postgres / Redis
  • Git / GitHub / GitHub Actions / ArgoCD
  • Docker / Kubernetes
  • React / Redux / Typescript
     
Benefits:
 
  • Comprehensive health, dental and vision insurance
  • 401(k)
  • Flexible vacation policy
  • Paid parental leave
  • Flexible spending account and dependent flexible spending account
  • Pre-tax commuter program
  • Short and long term disability and life insurance
  • Fitness membership stipend
     
What to expect from the interview process:
 
We are nice people and take our interview process seriously to ensure there is a good mutual fit. There are four rounds of interviews which encompass behavioral questions, a coding challenge, and system design. We are interested in how you think, problem-solve and who you are. We are not expecting perfection, so please don’t be nervous - we are rooting for you!