Software Engineer

Mission Bay, San Francisco /
Engineering /
/ On-site
About Us 

The convergence of laboratory automation, high-throughput assays, and machine learning is moving the medium of biological discovery to silicon. At LatchBio, we are building the ubiquitous cloud platform to store, visualize and analyze data from biological experiments. Over forty biotech companies are using our platform to accelerate their ability to engineer biology, from drug discovery to bioproduction.

About the role 

We are looking for engineers to join the small team of engineers that built Latch from scratch. You will be working on difficult problems in software spanning web development, systems programming, database administration, algorithmic programming, cloud infrastructure, etc.

We believe certain fields of study and employment are generalizable and particularly indicative of the overall skill of software developers. You are likely a good fit if you are proficient in any of the following:

- Operating Systems: e.g. containerization, virtualization, networking drivers, memory management, scheduling, file system design and implementation (especially distributed/networked)
- Software correctness: e.g. formal verification, model checking, property testing and fuzzing, design by contract
- Concurrency primitives: e.g. futexes, parking lots, eventcounts, event/async I/O loops implementation
- Low-level programming: e.g. memory ordering, virtual machines, just-in-time compilation, freestanding (bare metal) software, SIMD/vectorized algorthims, assembly-level optimization
- Distributed Systems or Databases: e.g. consistency guarantees, transaction isolation, time synchronization
- Programming Language theory: e.g. parsing theory, compiler optimizations, continuation-passing style
- Mathematics: e.g. algebra, topology, category theory, higher-order logic, proof theory, signal processing, optimization theory, any other graduate-level pure or applied mathematics
- Type Theory: e.g. Homotopy Theory of Types, calculus of constructions, Hindley-Milner-based type systems, refinement types, dependent types, linear/affine types, effect systems, monadic computation
- Theory of Computation: e.g. amortized algorithm analysis, numerical methods, purely functional data structures design, persistent/immutable data structure design, probabilistic computing, conflict-free replicated data types, general purpose and video/image/audio compression, Monte-Carlo/quasi-random algorithms
- Linux internals: e.g. inter-process communication, extended Berkeley packet filter, cgroups + process namespacing, SELinux/AppArmor, system introspection with ptrace/KProbes/strace, kernel programming
- Advanced web development: e.g. React hook implementation, WebAssembly, accessibility expertise, functional reactive programming, virtual DOM implementation
- Networking: e.g. proxy servers and network mesh implementation, HTTP3, wide area networking, wireless/mobile network specifics
- Security: e.g. reverse engineering, cryptography **(NOT cryptocurrencies),** network/cloud security expertise, malware research
- Graphics programming: e.g. compute shaders, kinematics, spectral ray tracing, novel techniques

About our culture

Our team is serious about building a generational platform for science:

- We work 6 days a week (Mon-Sat)
- We work in-person in Mission Bay, SF.
- We want engineers who will be designing, writing, and reviewing code (This is not a management/leadership role)

Engineers are given enormous responsibility and creative freedom over the design and implementation of features built. The code we ship will often touch thousands of scientists the same day it's released. We work directly with these end users to fix issues and aggressively improve our tools.

We are an intellectually curious team that enjoy learning about software, math and science. We host regular reading groups covering topics from category theory to immunology.