Loading...

We are hiring!

Company Overview

Synthetic Minds is building program synthesizers, i.e., automation that can write code. We have a system in production that reads/writes smart contracts in Ethereum's Solidity language, and we use it to secure our customer's contracts and ensure they are correct. Our eventual objective is to enable access to code for as many people as possible, ideally even non-programmers.

We are funded by Y Combinator, Khosla Ventures and Pantera Capital. We have paying customers, and a backlog waiting to be on-boarded. More on our story is on our blog.

We are hiring full-time engineers in San Francisco and Seattle. We like simple solutions to hard problems, and will side with the robots in the uprising. Come build with us.

Open positions:

  1. Software engineer (entry): Backend
  2. Software engineer (entry): Security
  3. Software engineer (entry): Smart contracts
  4. Software engineer (mid): Program synthesis
  5. Software engineer (mid): Theorem proving
  6. Software engineer (mid): Formal verification
  7. Software engineer (senior): Scalability
  8. Software engineer (senior): Infrastructure
  9. VP of Engineering
  10. Researcher: Smart contract security
  11. Researcher: Program synthesis (Formal methods)
  12. Researcher: Program synthesis (AI) - Open Q1 2019
  13. Business development - Open Q1 2019

For comments/questions, email Saurabh.



Software engineer: Backend (entry)

Role:

  • Maintain and develop core product that analyzes and writes smart contract code.
  • Take customer specifications and identify/develop features to build on top of the core product.
Qualifications:
Minimum:
  • 2+ years experience in a software engineering role.
  • Interest in smart contracts, and program synthesis.
  • Desire to learn about smart contract languages and compilers, automated theorem provers, code analysis and generation.
Preferred:
  • Bachelors or masters in computer science.
  • Interest in smart contract languages, e.g., Solidity.
  • Experience with large projects in a performance language (e.g., C++).

Apply to this position


Software engineer: Security (entry)

Role:

  • Analyze customer codebases and use Synthetic Minds' proprietary tools to secure their systems.
  • Define specifications and roadmap for unmet customer needs.
  • Work with program synthesis team to develop features needed.
Qualifications:
Minimum:
  • Experience in software security, either developing tools or operational experience in security.
Preferred:
  • Masters or higher in software security.
  • Experience in tools for security analysis: fuzzers, static analysis, penetration testing.

Apply to this position


Software engineer: Smart contracts (entry)

Role:

  • Keep up to date with latest trends in smart contract development.
  • Keep up to date and identify latest security issues with smart contracts.
  • Identify common patterns in customer's smart contracts.
  • Write and deploy smart contracts to stress test SM's program synthesizer.
Qualifications:
Minimum:
  • Experience writing smart contracts.
  • Understanding of important Ethereum improvements proposals; minimum:
    • Digitial goods/Non-fungible tokens (ERC 721).
    • Identity (ERC 725).
    • Token standards (ERC 20, ERC 777).
Preferred:
  • Experience with codebases involving one of 1) digital goods, 2) exchanges, 3) identity.
  • Basic appreciation of other smart contract languages: Tezos' Michelin, Zilliqa's Scilla, Aeternity's Sophia, Cordano's Plutus, DFINITY.

Apply to this position


Software engineer: Program synthesis (mid)

Role:

  • Work on the core program synthesis product and improve it.
  • Work on scaling synthesizer: algorithmic and through distributing work over clusters.
  • Take in customer requests and build synthesis techniques for them.
Qualifications:
Minimum:
  • Bachelors of masters in Computer Science.
  • Experience building code analysis techniques.
  • Basic understanding of the state-of-the-art in program synthesis.
Preferred:
  • Masters or PhD in Computer Science.
  • Academic or commercial projects in program synthesis.

Apply to this position


Software engineer: Theorem proving (mid-level)

Role:

  • Work on the core theorem prover encoding utilized by Synthetic Minds for program verification and analysis.
  • Interface with some of the world's best external theorem proving efforts to provide them with commercial instances.
  • Find and built the most scalable SMT encodings for our application.
Qualifications:
Minimum:
  • Bachelors of masters in Computer Science
  • Experience with automated theorem provers: Z3, CVC4, etc
Preferred:
  • Previous work experience applying Z3 to commercial applications
  • Masters or PhD in topic utilizing theorem provers
  • Experience solving program analysis problems with automated provers

Apply to this position


Software engineer: Formal verification (mid)

Role:

  • Work on the core formal verification product and improve it.
  • Work on scaling the verifier: algorithmic and systems approaches.
Qualifications:
Minimum:
  • Bachelors of masters in Computer Science.
  • Experience building program analysis tools.
  • Basic understanding of state-of-the-art in automated formal verification.
Preferred:
  • Masters or PhD in Computer Science.
  • Commercial experience building products for code: static analysis, formal verification.

Apply to this position


Software engineer: Scalability (senior)

Role:

  • Deploy Synthetic Minds' systems on cloud VMs (AWS or Azure).
  • Develop infrastructure and operational procedures to distribute over 100s-1000s of AWS VMs.
Qualifications:
Minimum:
  • Experience building and deploying large distributed infrastructure on cloud platforms (Azure, GCP, AWS).
  • Bachelors or masters in computer science.
Preferred:
  • Experience handling very long running (days/weeks) tasks and distributing them.
  • Experience developing recovery solutions to ensure infrastructure robustness under VM failures.

Apply to this position


Software engineer: Infrastructure (senior)

Role:

  • Build and maintain both on-prem and cloud deployments.
  • Setup and maintain testing infrastructure.
  • Ensure infrastructure can handle spikes in customer needs.
Qualifications:
Minimum:
  • Bachelors or masters in computer science.
  • Experience building backend infrastructure.
Preferred:
  • 4+ years experience building/maintaining backend infrastruture.
  • Experience managing a infrastructure team.

Apply to this position


VP of Engineering

Role:

  • Oversee and manage engineering team.
  • Set and deliver engineering milestones.
  • Anticipate customer needs and plan engineering around them.
  • Interface with executive, research, and product.
  • Recruit and hire engineering talent.
Qualifications:
Minimum:
  • Bachelors or masters in computer science.
  • 4+ years experience managing engineering teams.
Preferred:
  • Experience handling engineering teams building hard tech.

Apply to this position


Researcher: Smart contract security

Role:

  • Keep up to date, and discover new, security vulnerabilities in smart contract languages.
  • Collaborate with program synthesis developers to ensure our system can identify known and new security issues.
  • Aggregate customer security needs in synthesis product specifications.
Qualifications:
Minimum:
  • Knowledge of Solidity language design and its security considerations.
Preferred:
  • Experience finding security vulnerabilities in Solidity smart contracts.
  • Experience using open source security tools.

Apply to this position


Researcher: Program synthesis (Formal methods)

Role:

  • Work on Synthetic Minds' core program synthesis product.
  • Develop next generation of scalable program synthesizers.
  • Connect the core product to customer requirements.
Qualifications:
Minimum:
  • Experience or training in design and development of programming languages/compilers.
  • Interest in smart contracts and their evolution.
Preferred:
  • Masters or PhD in formal methods, program synthesis, programming languages, or compilers.
  • Interest in automated theorem provers, smart contract languages (e.g., Solidity), security.

Apply to this position


Researcher: Program synthesis (AI) - Open Q1 2019

Role:

  • Augment Synthetic Minds' core program synthesis product with deep neural networks (DNN).
  • Develop next generation synthesizers using DNNs.
Qualifications:
Minimum:
  • Experience building deep neural networks for text applications.
  • Interest in applying deep neural networks for generating code.
Preferred:
  • PhD or Masters in AI.

Apply to this position


Business development - Open Q1 2019

Role:

  • Source customers, and create business opportunities for current product and future directions.
  • Create content to educate customers on Synthetic Minds' capabilities.
Qualifications:
Minimum:
  • 2+ years experience in operations, sales, BD or community building.
  • Interest in smart contracts, fintech, and customer relations.
Preferred:
  • Experience in traditional fintech, or smart contract ecosystems.

Apply to this position


About the team

Saurabh Srivastava

Saurabh is CEO and Founder of Synthetic Minds. He has been building program synthesizers for over a decade. First in his PhD, then postdoc at UC Berkeley, and then using it to design new bio-organisms at his first company 20n.

He has over 900 citations to his publications; most of which are in program synthesis, including the 4th most cited for the topic. Program synthesis is a hard problem, but solvable for specific domains such as Excel macros, or super-optimizations, and with Synthetic Minds: smart contracts.

His previous YC W'15 company brought synthesis to biology, building an open-source platform for genetic engineering. An amazing team of 12 engineers helped realize the technology, and we engineered 40 different organisms in collaboration with DARPA, YC, Khosla Ventures, many Fortune 500 companies. The company was named in TechCrunch and YC's hard tech companies.

In 2016, Saurabh got interested in perpetually running applications, aka smart contracts on the blockchain. He started building Synthetic Minds in 2017 and made the first version available to users in summer 2018.