As a Devices Backend Engineer working at Nexxiot you are part of an interdisciplinary agile product team, responsible for implementing software features according to the requirements and priorities provided by the Product Owner (PO). Working closely with the rest of the team, your goal is to design, implement and test software solutions and to operate and maintain the resulting software services according to our Site Reliability Engineering (SRE) practices. You are skilled and experienced in writing distributed backend services including data and software modelling, as well as API design.
You are a curious and open-minded team player who is keen to learn and develop new solutions. Goal oriented, well organized, and comfortable to work independently. Never afraid of reaching out to other staff members in order to gather the information and know-how needed to resolve the task at hand. You prefer to automate recurring tasks and to create tools that help conduct manual activities semi-automatically. You have technical writing capabilities (in English) which enable effective and understandable write-ups of knowledgebase entries and to document your software services, procedures, and tools. You are fluent in English, having decent communications skills, and you feel comfortable working remotely, collaborating with your team members via chat channels, audio and video calls.
What we offer
- Work Life Balance: We offer 25 days' paid leave.
- Sustenance: Coffee, tea, water, fruit and nuts, snacks and fridges usually stocked with delicious smoothies – all free of charge.
- Public transport: After completion of your probation period we offer a subsidized monthly subscription for public transport in Zurich.
- Implement software components and services including testing and writing technical documentation according to continuous integration best practices.
- Deploy software services to different (development, testing, and production) environments using continuous deployment practices, operate and maintain those deployments according to the principles of Site Reliability Engineering.
- Provide 3rd level support and ensure service availability during business hours.
- Participate in the proposal, review, and discussion of solution design documents.
- Review and approve merge/pull requests created by teammates.
- Participate in agile software development activities (e.g. stand-ups, planning meetings, demos, retrospectives, …).
- Act as an onboarding buddy for new team members
- Good conceptual skills in developing solution designs and implementing them in software.
- Experience in writing JVM based software, primarily in Kotlin and Java. Linux/Unix shell know-how is a great plus.
- Familiar with common backend engineering concepts, patterns, and technologies like SQL (PostgreSQL), NoSQL (DynamoDB), Message Queueing (SQS or Apache Kafka) and Containerized (Docker) workloads.
- Basic understanding of networking: UDP, TCP, DNS, HTTP.
- Experience in writing and operating containerized software services (e.g. Kubernetes, AWS ECS, AWS Fargate or Docker).
- Strong interest in cloud architecture / distributed system design.
- Experience with automated testing and CI.
- Interest in working with hardware but not required. Some C experience is a plus.
- Fluent in English spoken and written. German is a plus, but not mandatory.