Junior 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.
Provide means to deploy and support our software.
Desired Skills and Experience
3+ years of software development experience
Strong development experience in either Java or Scala (Go, Python, C and C++ are a plus)
Strong knowledge in distributed systems (high availability, fault tolerance, consistency, replication protocols).
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.
- - Travel the world by visiting our overseas offices.
- - Flexible hours.
- - Free beverages, and snacks.
- - Work from home days.
- - Reimbursements for commuting.
- - Help with apartment searches.