Midokura’s software engineers develop cutting edge software to solve real-life problems in the world of infrastructure virtualization, networking, Edge Computing, and Cloud. We are looking for a highly skilled and enthusiastic engineer with strong ability to work in a small team and learn new technologies. We are driven by passion and insatiable curiosity and are not constrained by conventional thinking.
MidoNet Edge Cloud Platform is an innovative edge computing cloud application that allows customers to deploy, manage and monitor various services and applications running on massively distributed devices. We are looking for software engineers who see the big picture of where Cloud, containers, software-defined networking(SDN), IoT, Big Data and AI technologies are headed and wish to be at the forefront of a new era of computing.
For this role, you will be asked to architect and develop a highly-scalable and reliable backend solution for MidoNet Edge Cloud Platform.
● Architect and develop distributed systems for control and monitoring.
● Design and implement highly concurrent and efficient software components.
● Test and debug.
● Interact with the product owners to gather requirements, architect solutions, provide means to deploy and support our software.
Desired Skills and Experience
● 3+ years of software development experience.
● Experience designing and developing distributed systems (high availability, fault tolerance, consistency, replication protocols).
● Strong Java and/or Scala development experience (previous experience in C/C++ is not required but will be taken into account).
● Concurrent and asynchronous programming.
● Test-driven development.
● 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
● Knowledge about L2-L7 network protocols including Ethernet, IP, TCP, HTTP.
● Container technologies such as Kubernetes, Mesos, and Docker.
● NoSQL databases such as MongoDB and Cassandra.
● Data processing engines such as Spark and Hadoop.
● Search engine platforms such as Elasticsearch and Solr.
● Machine Learning libraries, such as Tensorflow and Pytorch.
● Cloud technologies such as AWS and OpenStack.
● BS or MS in Computer Science, or related field, required.