About Rhythmos Rhythmos develops advanced technology that optimizes the electric mobility ecosystem, enabling the transition to a decarbonized power grid based on distributed energy resources as primary service providers. Our Rhythmos Algorithmic Optimization System (AOS) platform uses advanced machine learning and data analytics to optimize grid performance, considering EV fleet owner operational requirements, existing utility tariffs and rates, electric utility infrastructure capacity and grid constraints, wholesale energy market pricing, and more. By approaching optimization from this end-to-end ecosystem perspective, the Rhythmos AOS extracts the dormant value for all participants in the energy ecosystem, something traditional point solutions cannot identify and capture. Based in Boulder, CO, Rhythmos is at the forefront of solving a $2.1 trillion problem and facilitating a rapid and cost-efficient transition from fossil fuels to clean, renewable energy and decarbonized transportation.
Job Summary Rhythmos provides a cloud-based enterprise analytics software platform for electric utilities and EV fleet managers, an app store for utility analytics modules. These modules consume utility-internal and utility-external (public utility and/or 3rd party data) to analyze and display processed results to end users. These displays include mapping, routing, chart, and tabular views of this information in a series of dashboards. Additionally, Customers can interact with our platform via our API.
This is realized through a microservice stack (hosted on Kubernetes GCP) that ingests inbound data, which is then fed to customized models (written in Python by our data science staff) that produce predictive results. The raw data and the model results are then synthesized together to present to the web front-end through REST endpoints.
Our backend microservice stack is written in purely functional Scala 3 using the cats effect libraries (https://typelevel.org/cats-effect/). The components of the stack mostly derive from cats-effect. For example, we use Http4s for the web host, fs2 for streaming, and Doobie for database access. We embrace “purely functional effectful programming in the large,” finding this paradigm leads to the most robust, type-safe, scaleable, and error-free software the fastest–it’s also a joy to work with. We have a strong unit test stack that enables us to ensure correctness as well as refactor with confidence.
We are a data-centric shop. We see data as the hub of the wheel, using Apache Kafka to realize this vision. Our microservices interact directly and indirectly with Kafka, shuttling data and both producing and consuming data events via Kafka streams.
Our cloud-native services are hosted on Google Cloud (GCP) via Kubernetes. We have a strong code-as-infrastructure ethic, using both Kubernetes and Terraform configuration files to manage all of the hosted artifacts. We enable CI/CD with GitHub Actions. Engineers are encouraged to learn and extend our DevOps stack. We do not strictly silo between DevOps and general backend engineering.
Key Responsibilities and Traits include:
We see this role as a great opportunity for a less experienced developer, particularly one who wants to develop in the Pure Functional Programming (PFP) model, to both contribute to our vision and grow their skills. We have a modern platform with best-of-class tooling of which you will work with daily. Your ideas about how to improve our existing stack or design extensions to our software are taken as seriously as every other member of the team, regardless of seniority. We are a flat org. This role will work with the more senior engineers to maintain and extend software to grow and maintain our product. The role is not limited to “keeping the lights on” tasks, though, like every other engineer at Rhythmos, that is part of the responsibility–instead, you will have a mix of tasks that will also include true “greenfield” development. Paired (or more) programming is core to the way we work. Expect, particularly early on, to write software with at least one other person. This enables “learning by doing” while also fostering a strong co-working relationship. Our team is small. This gives us the significant advantage of having less project management “goo” in the mix, but also requires exemplary communication. Paired programming is the primary way to facilitate this communication such that everyone on the team feels comfortable with what the others are doing. As you gain experience and knowledge of the business problems and the existing technology stack, this role will likely evolve to one of greater independence and responsibility. We expect candidates to embrace the fact that they are expected to grow and expand their responsibilities. You’re an excellent communicator who’s not afraid to voice your opinion, yet you’re also a great listener. You’re a strong team player and know how to keep things moving smoothly towards the end goal. You find value both in working independently and in small groups to solve problems. It’s inspiring to collaborate with others to engage in engineering problems, yet you are also productive solo. Your curiosity about new technologies keeps you growing; you like bringing these new ideas to the team. Yet you also understand that not every shiny object needs implementing and oftentimes the new is the enemy of the good. Startup culture means that everyone wears many hats and priorities can change quickly. There is no room for those who want to create a silo and then stay in it, or for those who need things to remain the same. You embrace this challenge, and want to foster an environment that helps the rest of the team to that end. Writing new and improving existing documentation is a priority to you, and you don’t hesitate to keep improving written artifacts even with all the competing priorities on your plate. Rhythmos has a strong and permissive documentation culture where everyone is expected to create and maintain our artifacts. You find this of value and want to enhance it. You feel comfortable in a polyglot environment where you may be tasked with something not in your preferred software language. You can ask for help from those who know better than you, and you return the favor by unhesitatingly giving your time to help others with the languages and technologies you are more expert in. Moreover, you embrace learning programming models and techniques that are foreign to you, knowing full well that there is no silver bullet in software, but some languages or technologies are better than others for specific use cases. While we embrace the purely functional programming paradigm, we do not expect you to have experience with it. What we do require is interest and curiosity to learn it, along with the knowledge that, like any significant paradigm, it takes time and diligence to master.
Required Skills and Experience: These are some of the tools in your arsenal (in no particular order). Some of these may not be your strong suit, but you are at least familiar with them:
SQL (we use Postgres) Microservices: their strengths and weaknesses, and the general principles therein. REST APIs GIT and the standard “Pull Request” model of software change management The general principles of Code as Infrastructure DevOps Cloud hosting Kubernetes Basic object-oriented programming principles. Test-first development. The principles and reasoning of Continuous Integration / Deployment (CI/CD). The basics of Kanban Must be legally authorized to work in the United States without company sponsorship.
Who Everyone Here Is Problem solvers - we are a solutions oriented company who are eager to learn and face new challenges. Agile - needs change, and we need to change with them. All team members are self-motivated and proactive with a strong work ethic and the ability to operate with minimal supervision. Effective communicators - exceptional interpersonal skills and effective verbal and written communication skills in-person, on the phone and written. Inspired - highly motivated team players who are passionate about creating positive change. Collaborative - we work together as a team with a focus on strong planning and organization. Commitment to diversity and inclusion - demonstrated commitment to valuing diversity and contributing to an inclusive working and learning environment. Continuous learners - eager and willing to learn, improve and ask questions.
Compensation & Benefits
Compensation Rhythmos is committed to salaries which are fair and equitable, which means comparable pay for comparable roles and responsibilities.
The below annual base salary range reflects the expected hiring range (s) for this position. The wage range for this role takes into account the wide range of factors that are considered in making compensation decisions including but not limited to skill sets; experience and training; licensure and certifications; and other business and organizational needs. We take a geo-neutral approach to compensation within the U.S., meaning that we pay based on job function and level, not location.
Individual compensation decisions are based on a number of factors, including experience level, skillset, and balancing internal equity relative to peers at the company. We expect the majority of the candidates who are offered roles at our company to fall healthily throughout the range based on these factors. We recognize that the person we hire may be less experienced (or more senior) than this job description as posted. If that ends up being the case, the updated salary range will be communicated with candidates during the process.
We anticipate the base pay for this position to be between $80,000 - $140,000, which varies based on the ranges as noted below.If your desired salary falls outside of these rates, we hope you’ll still apply as there may be other positions that better align.
Equity Rhythmos is a growth company that looks for team members to grow with it. Rhythmos believes that our employees are essential to the success of the company. All full time positions include a competitive equity package option.
Benefits Here at Rhythmos, we strive to provide everything our teammates need to be happy, healthy and motivated. Our package includes: Health, dental and vision - Comprehensive coverage is available for you, your spouse/domestic partner and dependents through multiple medical plan options, including 100% medical coverage for employees and 40% for dependents. Basic Life Insurance - $50,000 of Basic Life Insurance at no cost to you. 401(k) Savings plan Paid time off - Flexible PTO policy, with an additional 17 company holidays. Learning and Development - Continuing education and professional development Remote workforce - you have the flexibility to work from around the world and the hours that make sense for you, so that you can do your best work. Our core working hours range from 9AM - 3PM Mountain time.
Commitment to Diversity Rhythmos is committed to hiring talented and qualified individuals with diverse backgrounds for all of its tech, non-tech and leadership roles. Rhythmos believes that the gathering and celebration of unique backgrounds, qualities and cultures enriches the workplace. Together, our team strives to create and maintain working environments that are inclusive, equitable and welcoming. We are passionate about building and sustaining an inclusive and equitable working environment across the company. We believe every member on our team enriches our diversity by exposing us to a broad range of ways to understand and engage with the world, identify challenges, and to discover, design and deliver solutions.
Rhythmos provides equal opportunity to qualified individuals regardless of race, color, sex, national origin, citizenship status, religion, age, disability, veteran status, creed, marital status, sexual orientation, gender identity, genetic information, or any other status protected by state or local law.
Reasonable Accommodations We are committed to maintaining a diverse workforce. This commitment governs all decisions related to employment, including selection, development and compensation. It also includes an employee’s request for reasonable accommodation. All employees will be treated in a manner free from discrimination or harassment. Rhythmos is committed to providing equal employment opportunities for persons with disabilities, including reasonable accommodation when needed. If you believe you need a reasonable accommodation in order to search for a job opening or to submit an application, please contact us by calling 844.297.4743 or by emailing Rhythmos’ Talent Acquisition team at [email protected]. Please be sure to include your full name, best way to reach you and the accommodation needed to assist you with the application process.