Principal Engineer

Company Info
Oakland, CA, United States

Phone: (510) 907-0009
Web Site:

Company Profile


Principal Engineer


Oakland, CA 



Job ID:


Job Description:

UtilityAPI Principal Engineer Application

This is the application for the Principal Engineer position at UtilityAPI.

Estimated time to complete: 10-20 minutes.
==About UtilityAPI==
UtilityAPI is a mission-driven company that is fighting climate change by helping solar, storage, energy efficiency, and energy management companies access the utility bill and usage data they need for their projects. Lack of access to data is a key choke point for many companies in renewable energy, and our automation helps shorten the sales cycle and lower their customer acquisition costs.  Our customers love us.

We have a diverse leadership team and we value the insights that a diverse team can bring. We encourage applications from members of groups that have been traditionally underrepresented and underestimated in tech, including women, people of color and people with disabilities.

==Job Description==
You will be helping us fight climate change. We are growing rapidly on all fronts (team, customer usage, utility coverage, product features, and more), and we need someone to help guide and mentor our engineers as we build features and grow.

You will act as an experienced resource for training and mentoring various engineering team members across the organization. You will be working closely with the CTO and Director of Engineering on architecture, strategy, and scoping out projects based on input from pretty much all other parts of the company (product, sales, marketing, support, etc.). You will also be regularly checking-in with engineers assigned to projects, helping guide them and answering questions as needed. Code reviews and paired programming will be common occurrences.

The main challenge for this position will be its steep learning curve, not because of the complexity of our codebase, but because of the complexity of the utility industry (so many edge cases, thousands of independently run systems, bureaucracy and regulations, etc.). So this position is best for someone who likes spending the time it takes to really learn and understand something, then teach and mentor others. This is not the best position for someone who wants to make a big impact their first week or likes to "move fast and break things". We're building infrastructure, not apps.

Our backend is boring (Nginx/Django/Redis/Postgres/AWS). Our codebase is organized, documented, and well-tested. Our engineering culture is communicative, collaborative, and helpful. We work normal hours and take plenty of time off. You are welcome to work remotely anywhere in the United States.

You'll succeed in this position if you like learning and helping others.

* Base salary, depending on experience: $160k - $180k
* Stock options
* Medical, dental, vision insurance
* 401k

* Live in the United States, be a U.S. citizen, permanent resident, or have a non-expiring visa that doesn't require sponsorship
* Extensive Django software engineering professional experience
* Extensive experience working with or building HTTP APIs
* Extensive experience with various authentication protocols (OAuth 2.0, OpenID Connect, etc.)
* Moderate vanilla Javascript, CSS, and HTML (i.e. front-end) software engineering experience (hobby or professional)
* Experience mentoring all levels of software engineers (entry, intermediate, senior)
* High confidence and comfort with written and spoken communication (once you get up to speed, you'll be having discussions with, teaching, and explaining things to internal folks all the time)
* Experience scaling a platform to high usage and reliability
* Experience with scaling databases and optimizing queries
* Experience with under-pressure troubleshooting and patching during unexpected outages (you won't have to do this yourself, but you should be able to relate to the people who will)

==How To Apply==
* Fill out this Google Form, and we'll let you know!

Estimated time to complete: 10-20 minutes.

1. It is OKAY if you don't have much experience with a couple of these questions! Just say "No experience."
2. It is OKAY if your answers are short (1-3 sentences) or just lists! Don't spend more than 20 minutes on this!
3. If an answer is already in your resume, just point us to the relevant sections in your answer. No need to duplicate!