Software Engineer

Atomic Machines Inc.
Santa Clara, CA Full Time
POSTED ON 6/2/2024

Our mission at Atomic Machines is to bring autonomous bits-to-atoms manufacturing of anything at any scale to the world, and we are well on our way.  We are developing an entirely new class of manufacturing foundry for micro- and nano-scale machines, and we are using that foundry to create products the world has heretofore been unable to build.  Our first device has exceptionally strong and large-scale product-market fit:  it is both iconic of what our platform can do and a driver of very significant enterprise scale.


Joining forces with us means becoming part of an incredibly talented, inventive and passionate multi-disciplinary team running hard to make our platform, devices 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 offices are located 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. 

\n


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.
  • 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 monitor-able and controllable.
  • 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.
  • 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, particularly at multiple levels of the stack. Should be comfortable working in at least C on the low end and an object-oriented language like Java or C at the high end, understand code compilation and optimization and the “at the metal” interface to hardware.  
  • Strong understanding of computer hardware architecture, how operating systems work and how networking works from at least the protocol level up.
  • Time/space complexity understanding with associated algorithms.
  • Deep understanding of compilers (traditional and JIT) - how they work, what makes one compiler better than another, how they are designed and built, etc. 
  • Experience building complex distributed software systems that control hardware in sophisticated ways, as part of a team, but where the candidate served as an architect and designer of major portions of the system and delivered a lot of production code, as well.
  • Experience with instrumenting software, both for debugging and real-time monitoring of the machines. We need to be able to detect problems before they affect uptime.
  • Understanding of and proclivity for agile development methodologies.
  • Understanding the principles of a functional language, specifically the ways in which state and side effects are managed.
  • Bachelor of Science in Computer Science (bonus points for an advanced degree).


\n
$170,000 - $220,000 a year
The compensation for this position includes equity and benefits.
\n

If your compensation planning software is too rigid to deploy winning incentive strategies, it’s time to find an adaptable solution. Compensation Planning
Enhance your organization's compensation strategy with salary data sets that HR and team managers can use to pay your staff right. Surveys & Data Sets

Sign up to receive alerts about other jobs that are on the Software Engineer career path.

Click the checkbox next to the jobs that you are interested in.

Income Estimation: 
$117,482 - $143,277
Income Estimation: 
$140,812 - $170,838
Income Estimation: 
$117,482 - $143,277
Income Estimation: 
$140,812 - $170,838

Sign up to receive alerts about other jobs with skills like those required for the Software Engineer.

Click the checkbox next to the jobs that you are interested in.

  • Bug/Defect Analysis Skill

    • Income Estimation: $71,559 - $95,264
    • Income Estimation: $73,003 - $104,220
  • Debugging Skill

    • Income Estimation: $71,559 - $95,264
    • Income Estimation: $73,003 - $104,220
View Core, Job Family, and Industry Job Skills and Competency Data for more than 15,000 Job Titles Skills Library

Job openings at Atomic Machines Inc.

Atomic Machines Inc.
Hired Organization Address Berkeley, CA Full Time
About the role: We are seeking a passionate HR Business Partner / Generalist to work from our Berkeley or Santa Clara of...
Atomic Machines Inc.
Hired Organization Address Berkeley, CA Full Time
About Atomic Machines: Atomic Machines is on Earth to radically advance humanity’s command over matter. Our mission is r...
Atomic Machines Inc.
Hired Organization Address Berkeley, CA Full Time
Atomic Machines is on Earth to radically advance humanity’s command over matter. Our mission is real-time bits-to-atoms ...
Atomic Machines Inc.
Hired Organization Address Berkeley, CA Full Time
Atomic Machines is creating a smart digital MEMS factory consisting of modular building blocks (each a digital microfact...

Not the job you're looking for? Here are some other Software Engineer jobs in the Santa Clara, CA area that may be a better fit.

Software Engineer

Selector Software, Santa Clara, CA

Software Engineer

Indium Software, Cupertino, CA