Position: Java (or Golang) Engineer
Company: Uppeople
Experience required: 5y
English level: upper

We aim to create a platform to easily deploy and run AI workloads on edge devices, taking advantage of AI accelerators and to run complex distributed workloads on a cluster of IoT devices, the fog/MEC, and cloud, all managed by a SaaS platform.

**Responsibilities:**
· Develop backend components in high quality and on schedule to help achieve company business goals;
· Design and implement scalable and efficient software components;
· Deliver fully tested software and debug and troubleshoot it when necessary;
· Deliver software that has operability, security and support as first class concerns from the design phase all the way to operations;
· Contribute to architecture designs and evaluations;
· Interact with the product team to gather requirements and understand the reasons behind them as well as our customers’ needs;
· Be an active participant in Midokura´s engineering community helping to continuously push it to higher levels of excellence.

Requirements:
We believe you will thrive in Midokura if you possess a mix of some of the following skills and experiences:
· Experience designing and developing distributed systems (high availability, fault tolerance, consistency, replication protocols);
· A base of software engineering fundamentals;
· Development experience in Java and/or Golang and eagerness to learn new technologies and languages;
· Cloud platforms such as Azure and AWS;
· Container and container orchestration technologies such as Kubernetes and Docker;
· Good understanding of network protocols;
· Concurrent and asynchronous programming;
· Distributed storage: Cassandra, DynamoDB, Redis, etc;
· Version control, continuous integration, continuous deployment tools;
· Experience with developing microservices architectures and everything associated with them: instrumentation, service to service communication, testing, continuous deployment strategies, etc.;
· Experience being part of a team that takes full responsibility for the operations of the software it builds;
· User management, RBAC, authorization and authentication;
· API designs (REST, etc).

**Will be plus:**
· Experience in C and C++;
· Machine Learning libraries, such as TensorFlow and PyTorch;
· Understanding on ML Dataset management (knowledge of COCO format);
· Sensor technologies and image signal processing;
· Experiences with IoT;
· End-to-end security architecture.
**
What we offer:**
· Very flexible remote work policy: You can choose the days you want to come to our office;
· Career Plan: biannual performance evaluation;
· Health insurance full paid by Midokura;
· 23 holidays + December 24th and 31st;
· Exchange program: possibility to move to our office in Tokyo;
· Training credits.