Software Engineering at B12
B12's engineering team views software as a craft, but improving the world as the reason to practice it. Our engineers are responsible for prioritizing, conceptualizing, co-designing, building, testing, & engaging users for any concept we are building out. Were generalists in encouraging each other to experience the full stack, but were also aware of each others preferences in the stack. We mentor & teach where we can, both inside & outside of the company.
We value sharing our work with the outside world. Our team has published papers on checklists for creative work, forming expert flash teams, & machine-mediated worker hierarchies. Weve baked our research into Orchestra, the system that coordinates our expert & machine teams, & released Orchestra into open source to contribute our software back to the community.
We hope our engineers have more longevity than any one tool we use, but here is a sampling of our current thoughts about technology:
- We store blobs in Amazons S3, munch on them in Amazons EC2, develop in Docker, & deploy containers to Amazons Elastic Beanstalk.
- We believe Postgres should be the first system you consider when you think about persisting structured data.
- We have near-full test coverage on the backend, are increasingly pleased with our frontend tests, & embarrassed about our integration tests.
- We set up continuous integration & deployment because, while this model comes with its own pains, weve disliked being on fixed release schedules on previous projects.
- We like to move fast & support point-in-time recovery :).
As a Software Engineer - Infrastructure, you will:
- Maintain & update our infrastructure, writing python code to coordinate various AWS services (e.g., EC2/Elastic Beanstalk, RDS/Postgres, Route 53, CloudFront, Redshift).
- Build monitoring & alerting tools to track the health of our infrastructure.
- Performance-optimize various backend components, including Python/Django-based API endpoints & testing frameworks, measuring & tracking improved performance along the way.
- Iterate on our continuous integration & deployment frameworks.
- Keep various packages up-to-date & secure.
- Perform root-cause analysis during infrastructure failures & identify efficient fixes to keep things running.
Youd be a good fit for the Software Engineer - Infrastructure position if:
- You have between 3-5 years of experience working as a backend engineer with a particular focus on infrastructure health, optimization, & monitoring.
- You have particular experience in backend Python.
- You have experience programmatically manipulating & administering AWS services.
- You have an understanding of concepts like HTTP, DNS, IP, & basic statistics.
- You are an amazing communicator.
- You feel comfortable managing your time & deciding amongst competing priorities.
- You enjoy learning & teaching.
- Dont fear:
- We highly favor talent & interest over years of experience.
- Some candidates may see this list & feel discouraged because they dont match all the items. Please apply anyway: theres a good chance youre more wonderful than you think you are.
- B12 is a safe place for human beings. We particularly encourage you to apply if you identify as a woman, are a person of color or other underrepresented minority, or are a member of the LGBTQIA+ community.
How to apply
- A pointer to your CV, resume, LinkedIn profile, or any other summary of your career so far.
- Some informal text introducing yourself & what you are excited about.
- If you have a profile on websites like GitHub or other repositories of open source software, you can provide that as well. If you dont have one, its still very possible for us to get along just fine!