Software Engineer / Software Developer
- Zürich, Switzerland
Nexxiot is an innovator in zero maintenance IoT / M2M solutions. Founded in 2015, the service is made possible through our self-developed smart sensor modules and software. We have evolved from our research heritage in ultra-low power networks, energy harvesting, complex systems and algorithms to a growing (startup-) company with very close customer interaction and technically unique products & services. Because this combination permanently leads to high demand around the globe, we are constantly looking for new enthusiasts to improve our products, invent new ones or detect the hidden wishes of our customers from our offices in Zurich, Hamburg, Frankfurt or Dallas.
You will be part of our IoT Core feature team, which is responsible for the development and operations of the core software services of our IoT Cloud Platform. We use agile DevOps and SRE practices to provide outstanding service quality and availability to our customers. You will join a team of always curious and enthusiastic Engineers, which are working closely together with the Product Owner to deliver valuable features that enable the digitalisation of the logistics industry.
This is a (specialized or full-stack) software engineering position with focus on development and operation of software services. He / She designs, implements, tests and operates high quality software services according to SLAs and OLAs in place and takes co-ownership for team owned software components. The focus of the role will be:
- Conduct technical requirements analysis based on input from business analysis respectively business requirements engineering, including functional and non-functional requirements (e.g. security, availability, scalability, cost-optimization, …)
- Create software designs based on result of requirements analysis according to the architectural-, security-, product- and team guidelines
- Implement software designs using continuous integration and deployment
- Maintain existing software systems; including fixing bugs, adding new features, refactoring and conducting version upgrades
- Participate in code reviews as part of the agile software development process and collaborate with other software engineers to integrate code changes (e.g. pull/merge requests)
- Conduct quality testing on software (unit testing) and software systems (integration and end-to-end testing)
- Write and maintain technical documentation of software and software systems
- Operate software systems and collaborate with customer support team and system team to resolve incidents (2nd level support)
- Participate in agile software development activities (e.g. stand-ups, planning meetings, retrospectives, …) and collaborate with product owner and product management team to coordinate timeline for new features
- Good conceptual skills in developing solution designs, documenting and implementing them
- Experience in writing JVM based software, primarily in Kotlin and Java. Python and Unix shell know-how is a great plus
- Experience with at least two of the following tools:
- Git / DataDog / Prometheus & Grafana / Ansible
- Experience with at least one of the following approaches to API development:
- Protobuf & gRPC
- Rest API (ideally using OpenAPI or Swagger)
- Experience with at least four of the following systems:
- Apache Kafka
- PostgreSQL or other relational database systems
- AWS ECS / Fargate
- Elastic Search
- Linux / Unix
- Experience with Stream processing (e.g. Kafka Streams, Flink, Spark etc.) is very helpful
- Fluent in English spoken and written. German is a plus, but not mandatory
You can choose between either a MacBook Pro or a Microsoft Windows Notebook at a top location right next to the railway station Zurich Hardbrücke.
Nexxiot is an equal opportunity employer. Welcoming diversity gives us a competitive advantage in the global marketplace and is an important driver of our success and culture. Our recruitment team is looking forward to receive your CV via our career portal.