Embedded Software Engineer

Job Title: Embedded Software Engineer
Contract Type: Permanent
Location: Shibuya-ku, Japan
Salary: 6000000 - 9000000
Reference: 9770
Contact Name: Dana Greenfield
Job Published: March 06, 2018 09:00

Job Description

We are striving to create a platform-independent AI that can learn how to do various tasks in a virtual environment and then we apply this AI to the real world. Our Embedded Engineers are a team of hands-down engineers who are our window to this real world.

Embedded team is creating low-level code and hardware components for our smart robots to bring them alive. To do this we need people that are not afraid to get their hands dirty with cutting edge technologies and prototyping platforms to create the real world prototypes our AI will run on. 

As part of the Engineering team you'll be part of a highly collaborative team who can work closely together and help each other on different tasks. Together you'll bring to life the results of the research team, while providing vital feedback to push our effort forward. This will involve developing, testing and integrating either already available platforms or using custom solutions.


  • Working with the Engineering team to develop our embedded systems that will make use of the algorithms developed by Software Engineers and Research Engineers
  • Work shoulder to shoulder with Robotics Engineers to design our future embedded platforms
  • Close the gap between system simulation and real world
  • Report and present software development including status and results clearly and efficiently, verbally and in writing
  • Architect and implement embedded systems to control robots and self-driving cars
  • Write and maintain documentation for the code you write
  • Trying new technologies that may make things better. We are not constrained by legacy code


Minimum Qualifications

  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering or a related technical field, or equivalent experience.
  • Strong experience in C++ with a desire to learn new programming languages
  • Strong Linux knowledge
  • Familiarity with embedded system platforms, such as FreeRTOS, Yocto, QNX or µC/OS
  • Familiarity with basic communication protocols such as I2C, SPI, UART, GMSL etc.
  • Programming experience in at least one script language such as Lua, Python or Matlab
  • Familiarity with software collaboration tools (git, Jira, etc.)
  • Experience working with two or more of the following
    • Robotic or control systems
    • Computer vision or perception
    • ARM software development
    • SMID development (ARM NEON, Intel SSE/AVX)
    • Real time safety critical development
    • Experience with ROS
    • Sensor driver development

Plus points for any of these

  • Master’s or further education
  • Experience with GPU Programming (CUDA, OpenCL)
  • Experience with VHDL/Verilog development and debugging
  • Experience with network protocols like TCP, UDP, Bluetooth, etc.
  • Knowledge of Ethernet,CAN, FlexRay
  • Interest in machine learning and AI
  • Experience using machine learning platforms, tools and libraries (such as Tensorflow, Caffe, Kubernetes, Docker, Chainer, Ansible, Logstash, Amazon AWS, Google Cloud, etc.)
  • Contributions to Open Source projects