Full-timeStaff Software Engineer

Reno, NV, United StatesTest Engineering

Company Overview:  

Amperesand is disrupting industrial power with the first commercialized Solid State Transformer systems. Solid State Transformer systems are much more than a transformer replacement, enabling numerous advanced features to unlock solutions for data centers, EV charging, renewables, microgrids, and industrial installations.  We are seeking mission-driven team members who are passionate about making amazing products for worldwide electrification at maximum acceleration.  Amperesand is building a global company and looking for talent across our geographies.

Role:

At Amperesand, you will lead the design and development of a highly scalable, performant, and robust software framework to automate test systems. These test systems will accelerate early prototype validation and help ramp up high-volume production.

Responsibilities: 

  • Architect a highly scalable software framework in Golang to test high-voltage power electronics, thermal systems, and more.

  • Drive end-to-end test software development from design through deployment and post-deployment improvements.

  • Innovate test system design by collaborating with electrical, mechanical, and manufacturing engineers.

  • Implement infrastructure for ease of validation and system maintenance.

  • Lead and mentor a team of software engineers. Establish development standards, foster a code review culture, and challenge ideas and decisions with reasoning from first principles.

  • Collaborate and integrate with hardware design and firmware teams to develop efficient systems. Provide feedback to improve product quality and functionality.

  • Participate hands-on in software and system debugging. Drive improvements to meet accuracy, cycle time, and other performance factors.

  • Travel to different facilities worldwide, collaborating with teams and deploying our solutions.

Qualifications

  • BS or MS in Computer/Electrical Engineering.

  • 5+ years of experience in designing and building scalable software for distributed systems.

  • Demonstrated excellence using system-level languages (such as Golang, Rust, C, C++, etc.) to design products and automated systems.

  • Excellent software fundamentals, including architectural design, algorithm development, data structures, code modularity, and maintainability.

  • Demonstrated excellence in using concurrency, asynchronous programming, and distributed systems to achieve strict cycle-time requirements and maximize throughput.

  • Experience ingesting and leveraging high-volume data for real-time decision-making.

  • Experience with both relative and non-relative database systems.

  • Experience working with Linux OS.

  • Experience working with electrical hardware and microcontrollers/processors.

  • Proven ability to build team depth and mentor engineers.

  • Be engaged, proactive, and positive when taking on challenging tasks, owning assignments, and taking accountability for personal and overall team success.

Apply