This is an opportunity to be part of a world-class team at the nexus of two of the most exciting developments in energy today - big, real-time data and energy storage.
Stem creates innovative technology services that transform the way energy is distributed and consumed. Stem's mission is to build and operate the largest digitally-connected energy storage network for our customers. Our world-class analytics will optimize the value of customer's energy assets and facilitate their participation in energy markets, yielding economic and societal benefits while decarbonizing the grid. We create automated, price-responsive systems that enable C&I customers to predict and control electricity costs and capture savings in a rapidly-evolving utility landscape. The Stem system combines predictive analytics and advanced energy storage with a high-fidelity software user interface. By buffering spikes in energy usage, Stem also reduces the impact of the C&I customer on the utility grid and enables better grid citizenship. Through innovation in technology and financing, our goal is to optimize the relationships between energy providers and consumers.
Who are we looking for?
A Backend Software Engineer who breaths and lives software and enjoys designing and implementing cloud based data processing frameworks.
What will your job look like?
Stem's ambitions translate into developing Cloud and IoT services that process very large amounts of data, that run autonomously, are secure and can scale flexibly.
Your new development environment will include this:
* AWS Cloud data frameworks (Kinesis, DynamoDB, S3, Aurora,….)
* Modern technology stacks like Docker, Kubernetes and Spark
* Python (and Java when needed)
As a Software Engineer at Stem, you are engaged in multiple ways:
Ownership - Your cloud based data processing frameworks are the underpinning for many of our other applications and services; for example,
* Our Data Scientists run their ML algorithms over large volumes of data that your software framework ingests, validates, down-samples and persists.
* Our Applications Programmers are managing their business objects using your frameworks to store, query, cache, version, journal and notify changes of the data.
You are designing, implementing and deploying the core data processing services they rely on!
Agile - Stem not only embraces the Agile methodology, it defines how we do our software development. You will participate in all your team's ceremonies, embrace the concept of "done as in done" and help write the technical tasks of our backlogs.
DevOps - At Stem, DevOps is not a role, but it is in the DNA of all of us! We continuously seek ways to accelerate our delivery, observe how things are performing and we experiment in order to improve. You will use observability as a core principle, help pay off technical debt, and quickly remove impediments.
Communication - The role of a Software Engineer is critical to the success of Stem. You will be articulating detailed designs and implementation details within your team, but you will also be able to explain things to others who are less intimate with all the details and effectively convey the right amount information to make them successful.
Collaboration - In your role you will interact with almost all software development teams in Stem and frequently collaborate on the design, implementation and testing of new capabilities.
While doing so, you help:
Create virtual power plants comprising of distributed energy storage, that help stabilize the electricity grid, take advantage of different energy related value streams and deliver concrete environmental, economic and social value to our customers.
We don't expect you check the box in each of the following but you should recognize yourself in many of these:
* 7+ years of experience in writing Cloud applications that process large volumes of data.
* Deep knowledge of AWS data processing frameworks (Kinesis, DynamoDB, S3) as well as MySQL and Redis
* Experience with distributed computing frameworks like Kubernetes, Spark
* Knowledge of continuous integration & delivery toolchains
* You have programmed in Python and preferably Java
* Know how to design data models
* Experience developing Micro-services and Rest APIs
* Have used Agile methodology (really used it)
* You know Docker (and preferably Kubernetes)
Communication - You know how to write for, and speak to different audiences and have excellent written, verbal and collaboration skills.
Master or Bachelor's degree in Computer Science or related field.
Stem, Inc. is an equal opportunity employer committed to diversity in the workplace and does not discriminate against any employee or applicant for employment because of race, color, sex, pregnancy, religion, national origin, ethnicity, citizenship, sexual orientation, gender identity, age, marital status, disability, genetic information, military status, protected veteran status or any other factor protected by applicable federal, state or local laws.
Stem is a company developing energy storage and predictive energy software solutions.