The Backend Software Engineer will develop the backend component of the Edge Virtualization Platform (EVP), an innovative edge computing platform that brings next-generation AI onto the IoT devices equipped with various cutting edge sensors. EVP solves challenging problems in the world of IoT such as centrally managing massively distributed devices, deploying and upgrading applications remotely, securing data end-to-end, and optimizing the placement of workloads onto a set of heterogeneous devices. EVP integrates tightly with various sensors and Machine Learning libraries to offer optimal edge computing solutions in various scenarios such as SmartCity and SmartFactory.
We are looking for a highly motivated individual who is willing to learn new technologies and innovate and has strong analytical, problem-solving, and communication skills, as well as the ability to take on multiple responsibilities at once. Must be able to work in a fast-paced environment with teams distributed around the globe.
- Develop the backend component of the Edge Virtualization Platform (EVP) in high quality and on schedule to help achieve company business goals.
- Design and implement highly concurrent and efficient software components.
- Test and debug.
- Interact with the product owners to gather requirements and provide means to deploy and support our software following architect solutions.
Desired Skills and Experience
- 7+ years of software development experience
- Experience designing and developing distributed systems (high availability, fault tolerance, consistency, replication protocols).
- Strong development experience in either Java or Scala (Go, Python, C and C++ are a plus)
- Container technologies such as Kubernetes, Mesos and Docker.
- Concurrent and asynchronous programming.
- Experience with Version Control tools and Continuous Integration frameworks.
- Excellent analytical skills.
- Strong written and verbal communication skills
The following skills and experience are a plus
- Machine Learning libraries, such as Tensorflow and Pytorch.
- Sensor technologies and/or embedded programming (DSP, ISP, FPGA, etc)
Experiences with IoT
- End-to-end security architecture
- Remote management of devices
- User management, RBAC, authorization and authentication
- API designs (REST, SOAP, etc)
- Distributed storage such as etcd, MongoDB and Cassandra.
- Cloud technologies such as AWS and OpenStack.
- Knowledge about L2-L7 network protocols including Ethernet, IP, TCP, HTTP.
- Data processing engines such as Spark and Hadoop.
- Search engine platforms such as Elasticsearch and Solr.
BS or MS in Computer Science, or a related field, required