Backend Developer (Devices Team)
- Zürich, Switzerland
Nexxiot AG, headquartered in Zurich, Switzerland, is a pioneer and industry leader in the development and delivery of digital supply chain management solutions. It is a spin-off of ETH Zurich, one of the world's leading technical universities. Founded in 2015, the company can rely on more than ten years of research in the areas of complex systems, big data algorithms, and ultra-low-power embedded technology. Currently employing more than 60 people across 4 offices and more than USD 80m in total debt and equity funding, the company is established as the market leader in Europe and well-equipped for future growth world-wide.
Our “Devices team” is responsible for the command and control of our IoT fleet. This includes monitoring and interacting with devices, securing communications and preprocessing sensor data. You will work closely with firmware and hardware engineers to develop interfaces between the embedded systems and our data processing architecture. Your focus will be squarely set on the development and operation of software services, taking ownership across the full SDLC.
- Process and enrich incoming IoT sensor data, to make it readily usable for downstream services.
- Automate systems to monitor and adapt behaviour of IoT devices.
- Investigate cases of anomalous behaviour of devices in the field (3rd level support).
- Conduct technical requirements analysis, including functional and non-functional requirements (e.g. security, availability, scalability, cost-optimization, ...) and incorporate this in the implementation.
- Help maintain and operate existing systems: implementing features, bug fixes, refactoring and version upgrades.
- Act as an onboarding buddy for new team members.
- 3 years’ of experience developing backend applications - ideally in JVM languages (we use Kotlin!).
- Demonstrable experience in distributed system design, with a focus on architecture and APIs (REST/gRPC).
- Although a University degree in Computer Science/Electrical Engineering or any related technical field isn’t a requirement, it certainly is an advantage.
- Willingness to take ownership of projects throughout the design, implementation, testing and operation phases.
- The ability to work independently in a dynamic environment.
- Experience in writing JVM based software (we use Kotlin & Java).
- Familiar with concepts, patterns and technologies like SQL (PostgreSQL), NoSQL (DynamoDB), Message Queuing (SQS), Publish & Subscribe (SNS & Apache Kafka), Twelve-Factor App, Serverless (AWS Lambda) and Containerized (Docker) workloads.
- Well acquainted with the Git version management system (Gitlab) and CI/CD best practices (Gitlab pipelines).
- Experience in writing and operating containerized software services.
- Prior experience working with Kubernetes, AWS ECS, AWS Fargate or Docker is a great plus.
- In addition to the above skills, Python, PHP and Linux/Unix shell know-how is “great to have” but not a necessity.
We expect a lot from our developers here at Nexxiot, that’s why we also give a lot in return. In addition to a competitive salary and benefits package we also have the following to offer:
- Dress: Wear anything you like to the office – and be as comfortable at work as you are in your own home.
- Flexibility: Can’t make it into the office at 07:30? No problem. Feel free to hit snooze a little longer and come in when you’re most productive due to our flexible working hours policy.
- Location: On the days you are in the office, get here quickly thanks to our highly accessible central location in the Zürich prime tower.
- Remote work: Prefer to work from home? We understand! Provided you are based anywhere in Switzerland or Germany we can work something out that fits your lifestyle.
- Travel: Get from A to B anywhere in the Kanton of Zürich and beyond, whether or not you’re on the way to work cause we’ll cover a large part of your monthly commuter expenses, provided you’re using public transport.