Linux kernel & device drivers – developing, configuring, and debugging Linux kernel modules, board support packages (BSPs), and peripheral drivers.
Leverage design tools to develop, simulate, test, and optimize real-time embedded systems.
Shape and pursue external opportunities with U.S. government agencies such as the DOE and DOD.
Work with GE businesses to help transition real-time embedded controls and communication systems from early-stage lab demonstrations to fieldable prototypes.
Publish technical papers, file patents, and contribute to open-source communities.
Develop solutions for embedded systems and industrial control systems (ICS).
Build systems – Make, CMake, Yocto, Buildroot.
Requirements
embedded c++
rtos
git
tcp/ip
phd
microcontrollers
Debugging tools – GDB, Valgrind, strace, perf.
Unit testing & CI/CD – Google Test, Ceedling, Jenkins, GitHub Actions.
Because of the specific categories of data handled by GE Vernova Advanced Research and the structure of our work environment, we are unable to accommodate employment of persons while they are considered nationals of countries subject to comprehensive restrictions under the US Export Administration Regulations (EAR), 15 CFR Section 746 et seq. (currently North Korea, Syria, Iran and Cuba). Please note that citizens of these countries who have either “U.S. person” status under U.S. export control laws or subsequent citizenship or permanent residency from a non-restricted country can be considered.
Embedded C / C++ programming – strong low-level coding ability with efficient, memory-safe, and real-time oriented design.
RTOS (Real-Time Operating Systems) – experience with FreeRTOS, ThreadX, VxWorks, QNX, or Zephyr.
Version control – Git, Gerrit.
Legal authorization to work in the US is required. We will not sponsor individuals at the Master's or Bachelor's level for employment visas, now or in the future, for this job opening.
File systems – FAT, ext4, NAND/NOR flash management.
Ph.D. in Computer Science, Electrical Engineering, or related disciplines OR Master’s degree in Computer Science, Electrical Engineering, or related disciplines with a minimum of 2 years of industry experience OR Bachelor’s degree in Computer Science, Electrical Engineering, or related disciplines with a minimum of 5 years of industry experience.
Digital electronics fundamentals – buses (I²C, SPI, UART, CAN, PCIe).
Multithreading, multitasking, and synchronization primitives (mutexes, semaphores, queues).
Must be willing to work out of an office located in Niskayuna, NY
Assembly language (ARM, RISC-V, x86, or other relevant architectures).