Software Engineer (C++)

Job Title: Software Engineer (C++)
Contract Type: Permanent
Location: Shibuya-ku, Japan
Salary: 6000000 - 9000000
Reference: 9771
Contact Name: Dana Greenfield
Job Published: March 06, 2018 11:17

Job Description

Focused on creating the ideal software environment and infrastructure to support research and robotic/AI applications. We use cutting edge technologies and high performance computing platforms to make our software infrastructure both on our robots and in the cloud fast and easy to use.

The work we do presents interesting and unique engineering challenges. As a Software Engineer, you can work on several different areas such as 3D simulation, machine learning frameworks and robotic systems. You will develop both internal software tools and products that ship to our industry partners. You'll have flexibility to chose between development areas, some of which are research oriented.


  • Engineering team to develop back-end systems with large data sets in order to provide information to various front-ends and embedded systems
  • Provide software design and programming support to research projects
  • Report and present software development including status and results clearly and efficiently, verbally and in writing
  • Architect and implement software libraries and internal tools
  • Write and maintain documentation for the code you write
  • Integrate our systems such as building API's, working with databases
  • 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 or a related technical field, or equivalent experience.
  • Strong software engineer experienced with large-scale software systems
  • Strong experience in C++ with a desire to learn new programming languages
  • Programming experience in at least one script language such as Lua, Python or Matlab
  • Familiarity with software collaboration tools (git, Jira, etc.)
  • Good Linux knowledge
  • Experience working with two or more of the following
    • desktop application development
    • distributed/parallel computing systems (cloud or in-house)
    • robotic or control systems
    • computer vision or perception
    • machine learning algorithms or platforms
    • firmware/embedded systems engineering
  • Good understanding of math and ability to interpret research papers

Plus points for any of these

  • Master’s or further education
  • Experience with GPU Programming (CUDA, OpenCL)
  • Experience with ROS
  • 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.)
  • Knowledge of Ethernet, Serial, CAN, FlexRay and other network protocols and their usage
  • Experience with Unity and/or Unreal Engine
  • Experience with AR/VR
  • Contributions to Open Source projects