Software Engineer – Platform Job Description

Software Engineer – Platform Job Description Template

Our company is looking for a Software Engineer – Platform to join our team.

Responsibilities:

  • Innovate solutions to complex problems;
  • Explore new ways for us to efficiently ingest, process, store, and leverage the vast amount of data we capture;
  • Develop tooling to help internal teams automate tasks;
  • Build scalable, cloud-based services capturing and aggregating streams of data;
  • Write applications and service software components and processes; examples: logging, intra system messaging, user interface;
  • Produce high quality code that conforms to style and approaches in the organization;
  • Build a platform, services and applications that are powered by Machine Learning and Distributed algorithms;
  • Collaborate cross-functionally with other R&D teams;
  • Implement safety critical designs that detect errors, fail safely and have the necessary redundancy to minimize risks;
  • Develop APIs for use by external systems;
  • Help measure, define, and optimize towards target performance metrics for components across the stack;
  • Write production code in C++ for a variety of platforms, including GPUs and microcontrollers;
  • Help recruit and potentially lead a team of similarly-qualified engineers;
  • Participate in code reviews to ensure code quality and distribute knowledge;
  • Develop robust, high-performance drivers and data processing pipelines for sensor subsystems, such as cameras, lidar, IMUs, etc.

Requirements:

  • A strong sense of quality and robustness;
  • Tenacity and resolve;
  • Collaborative style;
  • Experience working with public clouds like AWS;
  • Agility and the flexibility to adapt;
  • Uncompromising integrity;
  • Minimum of 2 years of experience with software engineering;
  • Experience with JavaScript;
  • Experience with Web Technologies, Java and frameworks like SpringBoot;
  • BS (or higher, e.g., MS) in Computer Science or related technical field involving coding), or equivalent technical experience;
  • Proficiency with Git or other distributed version control systems.