Senior Software Developer (C++/HPC) (f/m/d)

at  GEMESYS GmbH

44803 Bochum, Nordrhein-Westfalen, Germany -

Start DateExpiry DateSalaryPosted OnExperienceSkillsTelecommuteSponsor Visa
Immediate18 Feb, 2025Not Specified19 Nov, 2024N/AGood communication skillsNoNo
Add to Wishlist Apply All Jobs
Required Visa Status:
CitizenGC
US CitizenStudent Visa
H1BCPT
OPTH4 Spouse of H1B
GC Green Card
Employment Type:
Full TimePart Time
PermanentIndependent - 1099
Contract – W2C2H Independent
C2H W2Contract – Corp 2 Corp
Contract to Hire – Corp 2 Corp

Description:

THE OPPORTUNITY

As a Senior Software Developer (C++/HPC) you will be an integral part of the core developer team at GEMESYS, which works on low-level optimization and scalable software for our brain-like chip. We are looking for a skilled Software Developer with extensive experience in C++ and familiarity with Python (advantageous) to join our team.
You will be at the forefront of cutting-edge technology, collaborating with excellent specialists to develop the foundational technology for new AI solutions in various industries such as healthcare, space, energy, and robotics.

Responsibilities:

As a (Senior) Software Developer (C++/HPC), you are responsible for developing, debugging, profiling, optimizing, testing, and documenting low-level software emulating our analog AI chip as a digital twin. Working closely with the Concept and Research team, you will build performance-optimized and scalable software to emulate our hardware chip. This role involves implementing numerical models of physical systems through numerical mathematics and digital signal processing in a high-performance computing (HPC) context. You’ll work on preliminary investigations using a digital twin of our analog chip, designed for AI training and inference on the edge.

  • Design, implement, and optimize numerical models of physical systems using C++.
  • Apply methods of numerical mathematics and digital signal processing within an HPC environment.
  • Use HPC software design methods, e.g. multi-process/multi-node communication.
  • Parallelize algorithms using CUDA and multithreading to achieve high computational efficiency.
  • Profile and optimize computational workload to utilize available hardware fully
  • Write unit tests and/or employ test-driven development.
  • Create documentation and visualization of the developed software architecture.
  • Create technical reports and present findings to the team and external stakeholders.
  • Collaborate closely with cross-functional teams (software and hardware engineers) to implement performance-optimized hardware emulators.
  • Support software development for preliminary research and investigations to advance our analog AI chip technology.
  • Lead theproject planning and management with an agile approach to ensure adequate progress and adaptation.
  • Work as a Dev-Ops engineer (development, testing, integration, and deployment).
  • Stay current with industry trends, technologies, and best practices related to software engineering and solutions.


REQUIREMENT SUMMARY

Min:N/AMax:5.0 year(s)

Computer Software/Engineering

IT Software - System Programming

Software Engineering

Graduate

Proficient

1

44803 Bochum, Germany