People Matter

Software Engineer

Software Engineering
Mountain View, CA, USA
Posted on Wednesday, July 3, 2024

We can’t do it alone -- we’re seeking curious, capable, passionate team members motivated by the opportunity to create lasting impact on the world through their work. This role offers ample growth opportunities while working side-by-side with an impassioned, multi-disciplinary team spanning mechanical design, software, computer vision, systems integration, and ops to design and operationalize world-changing technology.

The Software Engineer will work as part of our Automation Controls team to develop software which controls and monitors large, designed-in-house robotic systems. This includes designing data systems to facilitate real world interactions, synchronizing data across multiple layers of the software stack, handling mid and high-level system commands, developing high-level control algorithms, and managing software communication.

What We’re Looking For

  • Bachelor’s degree in Computer Science, Computer Engineering, Mechanical Engineering, Electrical Engineering, or similar
  • At least two years experience designing software systems, with a strong grasp on architecture, design patterns, reliability and scaling (We would consider a highly motivated recent-grad with significant project and/or intern experience)
  • Candidates must have experience working with large code bases and strong software fundamentals in object-oriented design, data structures, algorithm design, and complexity analysis.
  • Familiarity with electromechanical systems is not required. While this is not a low-level firmware role, candidates must be comfortable learning on the job and excited by the chance to do some hands-on work in testing their code with hardware systems.
  • Experience working with databases such as MongoDB and MySQL and data modeling
  • Experience in C, C++ or C#, including multi-threaded and low-latency applications
  • Experience in version control and unit testing
  • Ability to generate and implement creative ideas, mostly unsupervised
  • Team player, ready to learn and work in a fast-paced startup environment

What we’d love to see

  • Experience with .NET Framework, C#, Visual Studio
  • Experience working with software communication, TCP/IP, HTTP and REST
  • Experience in programming robot behavior such as HFSM or Behavior Trees
  • Experience with developing microservices and using gRPC
  • Understanding of robotics concepts like motor drive controllers, sensors, finite state machines, PID control
  • Experience with hardware-interfacing Linux systems
  • Mission driven with a care for local and global communities, and desire to make an impact through technology
  • Not afraid of robots

What You Get

  • A chance to be an early team member and leader of a rapidly growing startup and have an impact on company and technology direction
  • The ability to solve challenging problems with a skilled, dedicated and friendly multi-disciplinary team
  • A balanced, highly collaborative work environment
  • Ability to work hybrid on-site in the Bay Area
  • Competitive medical, dental, and vision coverage, with 401K, life and disability coverage
  • A PTO policy where we encourage and expect all employees to take time to enjoy life outside of work
  • Discount on groceries from our store
  • The salary range for this position is 120,000 - $180,000 plus stock and benefits. Pay within the range is based on candidate experience, job-specific skills, education, and work location.

Fulfil is committed to creating an inclusive culture, and we celebrate diversity of all kinds. If this sounds like the kind of environment that you find intriguing, then please apply even if you don't feel you meet all the requirements listed above. We'd love to hear from you.