Software Engineer, Distributed Systems

  • WeaveGrid
  • San Francisco, CA, USA
  • Aug 06, 2021
Full time role

Job Description

WeaveGrid’s Core engineering team is responsible for our internal data services and products, which process, store, and combine data from many different sources including electric utilities and EVs. These systems underpin all of our products, and their quality and performance are central to our business.

We are searching for a backend engineer passionate about designing and running distributed data processing systems, which transform information from many different sources into powerful insights and real-time optimization decisions and lie at the heart of all WeaveGrid products . This individual will work closely with other infrastructure engineers, as well as data scientists and data engineers.

Our current system is built entirely on AWS, with much of our processing taking place in containerized services managed by Kubernetes. We use AWS's native queueing and messaging services, as well as tools such as Redis. We are currently largely a Python shop, and a solid grounding in that language and its ecosystem is preferred, but more important is that you bring practical experience building and running data processing systems in demanding settings.

We are a small team, though growing fast. You appreciate that the specific responsibilities described here may evolve as the company expands.

Core Responsibilities

  • Maintain and improve the performance, robustness, and feature velocity of our existing data processing systems
  • Design/deploy new data processing pipelines as our requirements evolve through further product development
  • Adjust our overall architecture and technology choices as demands on our systems evolve
  • Collaborate closely with data engineers and data scientists to support and “host” the algorithms and application-level capabilities that they develop

About you

You are passionate about building and running distributed, cloud-native applications; you naturally break systems into components such as processing workers, job queues, and storage units. You enjoy balancing tradeoffs between system aspects such as scalability, reliability, simplicity, understandability, feature velocity, isolation/multi-tenancy, and more.

You have experience building, maintaining, or evolving distributed applications in practical contexts; ideally, you have seen at least one such system through its entire life cycle, from design to maturity.

You understand that building and running reliable distributed systems is a team sport, and you enjoy collaborating with other smart, creative, and down-to-earth engineers. You are comfortable with agile software engineering practices, and you are focused on results and shared success.

To meet the needs of this role, you will bring

  • Experience with a range of distributed services and architectures, including at least one system across the entire lifecycle
  • Familiarity with the fundamental pieces of data processing systems sufficient to play a major role in their design and refinement
  • Working familiarity with some of the primary messaging, queueing, or processing frameworks

Culture and mission

Beyond your core skills and track record, you are someone who will expand the culture and cumulative wisdom of the team as a whole. This can take many forms - relevant past projects, hard-won perspective from personal history, an unusual or adjacent skillset, a motivating passion, and so on. We are whole individuals, not just functional role-fillers, and we value everything that you can bring to the team.

Finally, you should be strongly motivated by Weave Grid’s mission. Energy and transportation expertise are not necessary, but it is important that you are passionate about tackling the climate crisis head on, by improving societal and environmental health.

Compensation and location

We are looking to fill this position as soon as possible. Compensation will include competitive salary, equity, and benefits. Weave Grid is based in San Francisco but is open to considering remote candidates in the US for some roles.

Organization Type

Company

Organization Size

11-50

Sectors

Energy, Transportation