The Quest


There are countless teams seeking to make software with AI. We’re excited to be making software that is more like people because people are artistic in their work. It’s why we often hear it’s “my job” and not “a job.” The subtle difference is important to us. To work at GridCure you need to be an artist in your work.

We have recently become a fully remote team. This has allowed us to open our doors to talent located just about anywhere. Although we don’t physically work together, we are proud of the connection we all have with each other, both personally and professionally. It’s an internal mission of ours to maintain a sense of togetherness as we grow in numbers.

Current Openings


Junior Developer

About Us:

GridCure provides a cloud-based enterprise analytics software platform for electric utilities, 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 utility users. These displays include mapping, routing, chart, and tabular views of this information in a series of dashboards.

This is realized through a microservice stack that ingests inbound data, which is then fed to a customized model (written in Python by our data science staff) that produces 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 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.

The language of choice for most data science work is Python, and we harness its power as well. Our models are written in Python, and we interop with it in the Scala microservices. Some engineering is accomplished in that language, and there are existing services we maintain there too. These existing services require maintenance and extension. All members of the engineering team work towards that end.

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 either on Google Cloud (GCP) via Kubernetes (primarily) or on Amazon. 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.

About You:

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. GridCure 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 in specific use cases.

While we embrace the purely functional 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.

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:

  1. SQL (we use Postgres mostly)
  2. Microservices: their strengths and weaknesses, and the general principles therein.
  3. REST APIs
  4. GIT and the standard “Pull Request” model of software change management
  5. The general principles of Code as Infrastructure DevOps
  6. Cloud hosting
  7. Kubernetes
  8. The principles and reasoning of Continuous Integration / Deployment (CI/CD).
  9. The basics of Kanban

About the Role:

We see this role as a great opportunity for a less experienced developer 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 senior engineers in Scala and Python to maintain and extend software. The role is not limited to “keeping the lights on” tasks, though, like every other engineer at GridCure, that is part of the responsibility–instead, you will have a mix of tasks that may also include true “greenfield” development under the supervision of others.This role will work with the senior engineers in Scala and Python to maintain and extend software. The role is not limited to “keeping the lights on” tasks, though, like every other engineer at GridCure, that is part of the responsibility–instead, you will have a mix of tasks that may also include true “greenfield” development under the supervision of others.

Paired (or more) programming is core to the way we work. Expect, particularly early on, writing 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 will be treated more like a peer than an intern out of the gate.

Interested? Drop us a note and tell us:

  1. Top three skills: what three skills can you bring to our team
  2. One non-work related fact about you: tell us something about you that your resume doesn’t
  3. Resume: c’mon what would an application be without it?
  4. Portfolio/GitHub: you got it? Share it!
  5. The Whys: why do you want to work at our company, and why would you be an awesome for our team?
Send Us an Email

Senior Developer

About the Role:

As a back-end developer at GridCure, your general responsibilities will include bolting together the core components of our platform that allow us to interact with utility company data stores, helping build systems to better catalogue and analyze smart grid data, and creating features to automate the process of launching analytical models as new clients come on board.

More specific to this role, you’ll be spending a lot of time working with to make sure the connections and communications between our backend systems and front-end UI components and modules are working properly. You’ll spend a lot of time in Django, be one of our key people making sure we’ve got proper segregation between user data where it’s required client to client, and fundamentally helping us decrease our time to deploy to our customers.

About Your Background:

We use cloud infrastructure, and we’re looking for familiarity with the standard Amazon Web Services and Google Cloud offerings. Most of our clients use more traditional database systems to store their smart grid data, and familiarity with working with some older-school system integrations is helpful. We’re a python shop, and a background in Django background is key. Knowledge about Google’s hosted Kubernetes clusters (and perhaps most importantly, when *not* to use containers) is good to have as well.

We also value experience in the utility space (bonus points if you can tell us the difference between AMI and AMR), and experience deploying applications with very strict user and data security will be valuable.

Send Us an Email

Full Stack Developer

About the Role:

As a full stack developer at GridCure, your general responsibilities will focus on our Django-based platform, construction of RESTful APIs to communicate between the various database technologies we use and the front end user interface, and helping ensure the security of the platform by tying in our customers’ single-sign-on tools and systems to our own.

More generally, you will also be involved in reviewing other Tech and Product team members’ pull requests, contributing to our overall internal knowledge base on Confluence, and making important design decisions with regards to our front end framework overall.

About Your Background:

We use cloud infrastructure, and we’re looking for familiarity with the standard Amazon Web Services (AWS) and Google Cloud (GCP) offerings. We’re a python shop (with a bit of Scala in the background), and a strong familiarity with web frameworks is key, especially with regards to incorporating Auth0 and other authentication systems.

Knowledge about Google’s hosted Kubernetes clusters (and perhaps most importantly, when *not* to use containers) is good knowledge to have as well, but not critical for this role. Most of our clients use more traditional database systems to store their smart grid data, and familiarity with working with some older-school system integrations is helpful.

We also value experience in the utility space (bonus points if you can tell us the difference between AMI and AMR), and experience deploying applications with very strict user and data security will be valuable.

Qualifications:

  • Bachelor’s degree or equivalent in Computer Science
  • 2+ years of experience in frontend/backend development
  • Familiarity using Scrum/Agile development methodologies
Send Us an Email

The Future is now, be part of it!

For our 2020 company offsite we went virtual with the help of VR headsets!

Everyone at GridCure enjoyed this new way of connecting so much so that we now have whole company meetings in VR.