Software Engineer (Applications)
Niobium Microsystems
Software Engineer (Applications)
At Niobium Microsystems, we develop high performance microelectronic products to enable the secure collection, processing, and distribution of critical data. We are a trusted partner for Department of Defense and commercial customers whose solutions require lower power, higher efficiency, and proven security.
Founded as a 2021 spinout from a world-class security and computing systems R&D company, our team combines decades of experience in advanced semiconductor design with experience in advanced cryptography. Niobium is headquartered in Dayton, Ohio with additional locations in Portland, Oregon; Denver, Colorado; and Columbus, Ohio.
Our values are at the heart of every decision we make and we understand that each member of our talented team is the key to our on-going success. For those reasons, we've designed a highly competitive benefits program to support employees and their families. These include:
- Competitive salaries scaled based on experience
- Employer paid health care
- Employer contribution to health savings account
- Flexible time off
- Flexible work location with remote options
- 401K employer match
POSITION DESCRIPTION /
Niobium Microsystems is seeking a software engineer
with 5+ years of relevant experience. Reporting to the Sr. Director of Software Engineering, the successful candidate will develop, demonstrate, simulate, and characterize performance of sample applications that represent prospective customer workloads. Working with emerging industry standard homomorphic encryption libraries and programming languages such as C++, Rust, or Python, the successful candidate will first understand the application targets by working with customers, create both plaintext and homomorphic versions of the target application, select parameters for computations such as ring dimension, plaintext modulus, and others, prepare data for execution, and then use our performance simulators and (when available) our hardware platforms to characterize and optimize application performance. After characterization, the candidate will work with the CTO and SW departments to present the results to customers as part of our sales process. The successful candidate will also develop internal benchmark suites that characterize our product performance in publishable form to proactively engage customers and excite the market segment. An essential outcome of this work is the identification and prioritization of improvements to our software stack and future hardware products. The Niobium environment is fast-paced with overlapping priorities and requires the candidate to be highly flexible, able to juggle multiple tasks at once. This position is integral to the success and growth of Niobium Microsystems.
JOB RESPONSIBILITIES /
Primary Responsibilities:
- For fully-homomorphic encryption (FHE) applications:
- Design, develop, document, and maintain benchmarking and simulation tools.
- Assist with developing, documenting, and maintaining application configuration tools to specify appropriate security parameters for encryption, decryption, and FHE computation.
- Design, develop, and document reference FHE applications internally and for Niobium customers.
- For each product domain listed:
- Collaborate with the hardware and software teams to understand the performance and proper use of the FHE hardware accelerator.
- Collaborate with the compiler and firmware engineers to understand and recommend performance improvements for FHE applications.
- Assist with customer development activities, including performing demos and aiding prospects and customers to understand the successful development, configuration, and deployment of FHE applications in commercial and governmental contexts.
- Stay connected with the broader FHE community and represent Niobium at some FHE events and conferences.
- Apply and maintain high software development standards and practices for all internal and customer-facing software.
- Communicate with customers and document activities with clarity, professionalism, and compassion for those working in this developing and highly-technical domain.
DESIRED SKILLS & EXPERIENCE /
Required:
- Minimum of 5 years of experience in applications development
- Exposure to cryptography
- Experience in application performance modeling using detailed processor execution models
- Experience in creating and characterizing performance using micro- and macro-benchmarks
- MS in Computer Science or Electrical Engineering, or equivalent
- Ability to multi-task and prioritize in a fast-paced environment; managing multiple complex, multidisciplinary tasks and projects.
- Ability to work collaboratively across teams and communicate effectively.
- Attention to detail and remarkable eye for accuracy.
- Willingness to learn and develop new skills.
Preferred:
- Experience in development of homomorphic encryption libraries and application development
- Advanced degree in relevant fields of study
CONTACT /
careers@niobiummicrosystems.com
444 E 2nd Street, Suite 250, Dayton, OH 45402
niobiummicrosystems.com