Distributed Systems Engineer

About the Role

Artificial is looking for a software engineer with distributed systems experience.  You will help design and build our platform to connect, monitor, and maintain fleets of autonomous and automated devices.  

About You
  • Extensive experience developing products involving concurrency, synchronization, and failure recovery
  • Knowledgeable of the practical trade-offs of distributed systems. Please respond exactly once.
  • Excited about the challenges of working with physical devices in the real world
  • Sound security fundamentals
  • Comfort defining goals and roadmaps for execution in an ambiguous environment 
  • Very comfortable developing in a Linux environment

You Have
  • Extensive experience delivery and maintaining products involving distributed systems challenges
  • Knowledge of messaging and serialization formats: shared memory, sockets, RabbitMQ, ØMQ, gRPC, HTTP, Websockets, WebRTC, MQTT, JSON, BSON, CBOR, XML, msgpack, protobuf, should all sound familiar
  • Solid grasp of local and distributed data management and experience with flat-file, schema'd and schema-less datastores, and data pipelines
  • Mastery of Python and/or C++1x is preferred, interest in Erlang/Elixer, Go, Scala is helpful
  • A degree or study in software engineering or computer science is preferred, but equivalent experience is welcome.

Want to apply later?

Type your email address below to receive a reminder

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field
Error
Error
insert_drive_file
insert_drive_file