Senior Software Engineer (Backend)
Job Description
The Senior 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 Smart City, Smart Factory, Workplace Safety, Retail automation, etc.
We are looking for a highly motivated individual with excellent coding abilities 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.
Responsibilities
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.
Contribute to architecture designs and evaluations to facilitate the services' implementation
Interact with the product team to gather requirements and provide means to deploy and support our software and architect solutions.
Required Skills and Experience
10+ years of relevant software development experience
5+ years of service design and operations experience.
Experience designing and developing distributed systems (high availability, fault tolerance, consistency, replication protocols).
Strong development experience in Java ( Scala, Go, Python, C and C++ are a plus) and Spring Framework (Spring Boot as a must)
Cloud technologies such as Azure, AWS and OpenStack.
Container technologies such as Kubernetes, Mesos and Docker.
Good understanding of network protocols including IP, TCP, UDP, HTTP, MQTT.
Good understanding of security, PKI, TLS, etc
Concurrent and asynchronous programming.
Experience with Version Control tools and Continuous Integration frameworks.
Excellent analytical skills.
Strong written and verbal communication skills.
English (Full Professional Proficiency) required and Spanish as a plus
EU Working Permit
Additional skills and experience as a plus
Machine Learning libraries, such as Tensorflow and Pytorch.
MLOps frameworks such as Kubeflow, MLFlow,
Sensor technologies and image signal processing.
Embedded programming on MCU.
Experience with signal processing on DSPs.
Experiences with IoTEnd-to-end security architecture
Remote management of devices
SaaS developmentUser management, RBAC, authorization and authentication
API designs (REST, SOAP, etc)
Distributed storage anr coordination such as Zookeeper, etc, Cassandra.
Data processing engines such as Spark and Hadoop.
Education
BS or MS in Computer Science, or a related field, required.
Other Requirements:
EU Residence (Mandatory)
Strong written and verbal communication skills in English (Full Professional Proficiency)
Spanish or Japanese as a plus
Job location in Barcelona (Spain).
Powered by JazzHR