Who we look for
Here at comma, we don't care about the source of your education or your traditional puffed up resume, we care about your abilities. We are looking for the following traits:
Competitors
People who have done well at math competitions(USAMO, IMO, PUTNAM), competition programming(ACM, USACO, codejam, topcoder), science fairs(ISEF, STS), or capture the flag(DEFCON, secuinside, GITS). Those competitions don't just select for ability, they also select for quickness. We are in a very competitive space.
Contributors
People who have contributed value to open source projects. Show me your github. Got stars? Code is never measured in quantity, but rather quality. We value those who can do more with less code; software engineering doesn't have an external selection pressure for low part count and cost like EE and ME, but you pay massive costs down the line in debugging and upkeep.
Architects
People who can design good APIs and source layouts on the first try. This is crucial to working in teams and scaling. Before you do work, you should be able to explain to a contractor what you want done. ME has a great divide between design and machining that software lacks; we want to try to fix that.
Rigor
It's easy to build something that works. It's hard to build something that works 100% of the time. At comma, crashes are real.
We are looking to assemble a small elite team. We want people who value being right, but not at the expense of being wrong. Roles we are hiring for listed here.
We are actually about to change the world.
email: givemeajob at comma.ai
Open Positions
Controls/Planning
We are starting to accumulate a massive amount of data about how cars drive. Currently our driving system openpilot is 100% reactive. Add in GPS information, categorize, and drive down the worldwide number of disengagements that appear on MassiveMap (our internal worldwide map of all users). Know about PID loops, how to debug, how sensors work, and when sensors fail.
Simulation/Testing
Take a comma neo running openpilot, point it at a computer running GTA or similar, and have it drive. Write and maintain openpilot regression tests. Maintain and improve our internal route replay infrastructure. Drive and regression test real cars. Know how to test well.
Pipeline/MassiveMap
Infrastructure. Build and maintain the backend of what's soon to be the largest AI data collection machine in history. 1000's of hours of data come in, process them, make them easy for the company to use. Maintain and improve our large map that's soon to be 3D. Provide more value to our chffr users. Know about celery, EC2, the cloud, and good APIs.
Firmware/Car Reversing
Develop the code that runs on our interface board. Reverse engineer cars into niceDBC files. Add more car support to openpilot. Know about CAN, SPI, operating systems, and how cars work.
Machine Learning Engineer
Improve our internal segnets and depthnets. Work on our automatic ground truthing and ML pipeline. Build better models for openpilot and ship them. Know aboutTensorFlow, softmax, ground truthing, and Keras.
3D Reconstruction
We have data from tons of sensors that is all correlated. Build a global optimizer for the 3D location of points and the car path. It's SLAM, but with a lot more information than just a video. Then use free satellite data to globally localize it. We are Waze 2.0, building a 3D map of the world. Know about SLAM, visual odometery, sensor fusion, and projective geometry.
All positions on site in our beautiful new San Francisco, CA office. Jobs do not have requirements beyond the generic ones on hiring and writing good code. Just convince me that you can do the task and make it ship. Our stack is largely written in Python, with some C/C++.
We are actually about to change the world.
email: givemeajob at comma.ai