Key Responsibilities:
· Analyze and understand existing Python code for electromagnetic field computations.
· Translate Python code into efficient, high-performance C++ code for embedded systems.
· Implement and optimize mathematical and computational algorithms to enhance performance, focusing on manipulating and analyzing data in multidimensional spaces.
· Collaborate with cross-functional teams to ensure the accuracy and efficiency of the code conversion.
· Optimize computation to achieve real-time processing performance on embedded platforms.
· Document code and processes to facilitate future maintenance and updates.
Skillsets:
· 7+ years of experience and working at a Senior or Principal level
· Proficiency in designing, implementing, and optimizing Digital Signal Processing algorithms and with embedded systems design.
· Experience optimizing algorithms for embedded targets that are memory and CPU resource constrained with optimizing computations for real-time processing.
· Experience with DSP hardware and software tools and strong debugging and troubleshooting skills with target tools and environments.
· Experience with real-time operating systems (RTOS) requirements
· Experience with working with C++ mathematical libraries and tools that use linear algebra: matrices, vectors, numerical solvers, and geometric transformations
· Familiarity with microcontrollers, DSP processors, and interfacing to FPGA.
· Experience in agile development methodologies
· Languages: C++, Python, MATLAB
· Familiarity with mathematical and scientific simulations software tools like MATLAB, Eigen, Boost
· Experience working with Git
Qualifications:
· Minimum M.S. in Electrical Engineering, Computer Engineering, or Computer Science, Mathematics, or a related field.
· Proven experience in C++ development with a strong understanding of Python.
· Experience in embedded systems programming and development.
· Familiarity with Python libraries used for scientific computations (e.g., NumPy, SciPy).
· Experience with optimizing computations for real-time processing is highly desirable.
Preferred Qualifications:
· Background in physics or electrical engineering with a focus on electromagnetic fields.
· Knowledge of electromagnetic field computations and related mathematical concepts, and experience with complex number handling.
· Experience in using mathematical libraries and tools, particularly in the context of linear algebra, geometric transformations, and optimization techniques such as iterative algorithms.
· Experience with software development lifecycle (SDLC) in regulated environment