Middle C++ engineer requirements

 

Responsibilities:

Developing robust and fast code for flying robots. Implementing mathematical models and motion planning algorithms for high-speed and low-altitude drones running embedded Linux.

Requirements:

  1. Descent English.
  2. Education in physics, applied math, electrical engineering or related field.
  3. Excellent knowledge of computer architecture and good Linux administration skills.
  4. 2+ years of XP as C++ developer of Linux applications in the industry or academia.
  5. Experience in developing high-loaded multithreaded applications. Pthread and boost::thread is a must.
  6. Practical XP with sensors (accelerometers, gyroscopes, barometers etc): I2C, SPI communication protocols and understanding how data acquisition algorithms work is a must.
  7. Basic skills in digital signal processing (filters, FFT, convolution etc) is a must.

Optional requirements:

  1. Control theory and Estimation theory deep knowledge is a big plus.
  2. Good mathematical and algorithmic skills with decent practice with libs like Eigen, OpenCV, LAPACK, BLAS, Boost, STL.
  3. 3d graphics coding is a plus. BGL is a plus.
  4. Development for ARM CPU for embedded computers (Raspberry Pi, Odroid) is a plus.
  5. Experience with async I/O and networking implementation. Knowledge of common communication protocols: TCP/IP, UDP, IPC.  
  6. Practical skills with BSD sockets or high-level libraries for coding communications over the network. Experience with ROS is a plus.
  7. Experience in robotics is and good knowledge of kinematics and control theory is a great plus.

How do I apply?
Send your CV to jobs_2016(at)kray.technology