SantaClaraRecruiter Since 2001
the smart solution for Santa Clara jobs

Senior Software Engineer

Company: Atomic Machines Inc.
Location: Santa Clara
Posted on: March 17, 2023

Job Description:

Atomic Machines is developing an entirely new digital manufacturing platform ("AMP") that will enable the creation of micro-scale machines that existing technologies are unable to produce. Our zero-tooling platform will have a profound impact on the rate of industry-wide innovation while enabling mass scale production of transformational devices. We are also designing and building devices ourselves utilizing our platform, and our first products have exceptional product/market fit.

This is the starting point for us in pursuit of a massive world-changing mission that promises to radically enhance humanity's command of matter. Joining forces with us means becoming part of an incredibly talented, inventive and passionate multi-disciplinary team running hard to make our platform, products and vision a reality. You will have the opportunity to help define the company from its earliest days. You'll be challenged to learn and grow as a builder and a leader as the company itself grows rapidly. And you will receive significant equity compensation - you'll truly be a company owner and benefit financially from our overall success.

Our engineering offices are in Berkeley and Santa Clara, California.

About The Role:

We are seeking a seasoned software engineer who will architect, design, and build any and all code above the embedded level in the software stack, i.e. from the operating system up.

What You'll Do:

  • Design and build AMPOS, the distributed software system that controls the AMP manufacturing platform, a truly novel fabrication system for micro-devices and components. Your software will orchestrate all of the activities of the fab, from high-level workflow planning to the code that operates individual robotic nodes and automated material transport.
  • Work at multiple levels of the software stack, and must be "fluent" at all levels: operating system (including real-time OS), device drivers, and otherwise communicating with low-level code controlling hardware, network (building distributed systems with complex communication patterns), structured APIs, databases and associated architectures and algorithms.
  • Architect and design complex systems that must scale to very large numbers (e.g. production quantities per unit time), be highly robust (meaning fault tolerant, designed to uptime requirements), high performance and both monitorable and controllable.
  • Code in a variety of languages, as needed for the situation. This role will involve a prolific amount of coding - we're not looking for an ivory-tower architect type, but a real builder.
  • Thrive within the Scrum methodology (which means we're looking for at least excitement from the candidate about the principles, but ideally significant experience building complex software systems in Scrum and an understanding of its benefits).
  • Partner productively with other peer software engineers in team projects. What You'll Need:
    • Ability to code fluently in multiple languages, at multiple levels of the stack. Should understand code compilation and optimization and the "at the metal" interface to hardware. Should have strong ability in: a low level language like C, C++, or Rust; a compiled language like Go, C++, or Java; a scripting language like Python or JavaScript.
    • A strong understanding of: Computer hardware architecture. How operating systems work. How networking works from the protocol level up.
    • Experience building complex distributed software systems. Should understand principles of API design and software interfaces. Should have experience working as part of a team, designing & architecting major system components, and writing production code.
    • Experience building complex systems that control hardware. Should have experience communicating with low-level protocols & working with hardware-oriented teams during the development process. Should have experience deploying & validating new software running on novel hardware.
    • Ability to identify and structure ambiguous problems. Broad understanding of classic computer science problems & relevant algorithms. Some examples we've encountered: TSP - for optimizing toolpaths. State Machines - for structuring manufacturing work. Job Shop & Queueing Theory - for scheduling manufacturing work. Computer Vision - for inspecting & locating work materials.
    • Experience instrumenting software systems for monitoring and debugging. Should know the tools used for debugging and observability and how to design systems for reliability.
    • Understanding of and proclivity for agile development methodologies.
    • Bachelor of Science in Computer Science (bonus points for an advanced degree).

      The compensation range for this position is $150-200K, plus equity and benefits.

Keywords: Atomic Machines Inc., Santa Clara , Senior Software Engineer, IT / Software / Systems , Santa Clara, California

Click here to apply!

Didn't find what you're looking for? Search again!

I'm looking for
in category

Log In or Create An Account

Get the latest California jobs by following @recnetCA on Twitter!

Santa Clara RSS job feeds