Senior Software Engineer - DevOps/Systems
Kairos Aerospace · Mountain View, CA/Remote (USA)
Clean EnergyPosted 3 months ago
About Kairos Aerospace
At Kairos Aerospace, we combine innovative aerospace systems with advanced data science. Unlike traditional aerospace companies, we sell information, not hardware - we operate our sensors cost-effectively at continental scale to produce novel data streams about pressing global problems.
First on our list: spotting hard-to-monitor emissions of methane, a potent greenhouse gas that accelerates climate change. Since starting continuous survey operations in 2018, Kairos has removed methane emissions equal to over 9.2 million tonnes of CO2e through our work. To put that in perspective, that’s equivalent to over 2 million cars being removed from the roads for a year or shutting down about seventeen 350 MW coal-fired power plants.
We call that a good start.
As a team, we love science and engineering, we love getting our hands dirty with hardware and software, and we love seeing our work make a difference in the real world.
We’ve created a diverse, collaborative, supportive, and fun environment based on integrity and treating people right. So no matter your gender, gender identity, race, age, beliefs, sexual orientation, or disabilities, we welcome you and would like to work with you. :-)
It’s never boring, it’s always challenging, and we’re usually laughing.
Software Engineering at Kairos
Everything that Kairos does is driven by software, from recording sensor data while flying at 3000', to ephemeral high-scale cloud-native data processing, to computer-aided GIS analysis, to using machine-learning to extract structured information from geopixels.
The software engineering team is involved in every step of our process, building the automation that allows Kairos to not only image things that humans have never seen before but to do it reliably, repeatably, inexpensively, and quickly. (Yes, you can have all four).
We work primarily in Python, with a smattering of Bash, SQL, Terraform, and Typescript when it makes sense.
We work on single-board-computers, field laptops, in virtualized cloud environments, in containers, inside of web browsers, and even inside lab automation frameworks.
We practice compositional engineering, tying together disparate pieces of technology to create novel artifacts that solve real-world problems.
We practice continuous integration and deployment, automated testing, and have a lovely monorepo.
In short, it's a playground for the skilled generalist.
The DevOps/Systems focus in software engineering expands on the role outlined in Software Engineer - Generalist. This role will be 70% DevOps, 30% Software Generalist.
Measuring methane emissions on a continental scale is, putting it lightly, a monumental task. Scaling up to that level of operations requires a deep reliance on automation in every step of our process - from running the cameras on the wing of a plane to measuring and associating the found emissions to integrating all of our available data into a report view that our customers use to find and fix fugitive emissions.
Deploying and operating software in these disparate contexts is made possible through the creation of infrastructure that makes this activity safe, democratized, and rapid. That’s where you come in.
The software engineering team creates and operates its own infrastructure. In the development stage, this takes the form of continuous integration, testing, and deployment systems that are used by everyone at Kairos that writes software (over half the company!). In data collection operations, this takes the form of tailored OS distributions and simulation systems to make field operations reliable and agile. In the data processing context, we design ephemeral computing architectures that provision, compute, and clean-up cloud resources on the fly - this lets us do bursty high-scale scientific computing without the large cloud bill or stalwart operations team that are traditional features of that sort of work.
A growing, evolving team and role
This position is a specialized role inside a team of generalists. For the specialized responsibilities outlined below, you would be the lead person for dealing with those types of issues when they arise. At other times, you’ll be writing software for our various application domains.
Kairos is a growing company. As we grow, there will be opportunity for advancement, including into engineering management. Additionally, we’re happy to place more experienced folks at a higher level, commensurate with past experience.
- Act as a productive member of our software engineering team, doing work beyond DevOps. Write code for a variety of non-DevOps problems as described in Senior Software Engineer - Generalist.
- Architect and implement infrastructure and orchestration pipelines in Terraform, Apache Airflow, and Astronomer.
- Take the lead on maintaining and improving our CI/CD pipeline encompassing Github, CircleCI, Artifactory, and various pieces in AWS.
- Take the lead on occasionally defining and updating system builds, including customized Ubuntu distros for field deployment, Docker images, and AMIs.
- Mentor / cross-train other folks on how to Unix (well, Linux).
- Troubleshooting of network and OS tuning issues in data collection systems.
- Expertise in Python development.
- Software development experience beyond DevOps/Systems.
- Expertise with Unix/Linux systems as a traditional sysadmin.
- Expertise with building and maintaining CI/CD pipelines.
- Experience building container images and general familiarity with container-based workflows.
- Experience working as a software developer as a member of a larger team
- Familiarity with networking configuration, OS-tuning.
- Familiarity with one or more packaging systems and workflows (we mostly create Debian apt and Python wheel packages).
- Familiarity with Terraform or similar infrastructure-as-code systems.
Life at Kairos
A few important facts about working at Kairos Aerospace:
- We provide health, dental, and vision insurance, including subsidized coverage for dependents. Our 401K plan does matching based on the amount of methane we removed from the atmosphere in a given year.
- We think death-march hours are a bad way to run a company. We expect something approximating a 40-hour workweek, but mostly we just care that your work gets done. No, really. (Full disclosure: we occasionally put in some extra hours during crunch periods, but that is the exception, not the norm).
- We do not track vacation time, nor do we have set hours to be in the office. Instead, we encourage taking real vacations, mental health days, leaving early to pick up the kids, working from home, time-shifting commutes, staying home when you're sick, ducking out to the gym - we believe work time should be flexible.
In this time of the Covid-19 pandemic, we have transitioned to 100% remote work aside from hardware and flight operations and plan to continue having remote positions in perpetuity.
(We love it when kids make a cameo in a video call.)