Nexxiot
Backend Software Engineer - IoT & Asset Intelligence
NexxiotPortugal9 hours ago
Full-timeRemote FriendlyEngineering
Nexxiot is digitalizing freight asset management with technology that now oversees the world’s most extensive network of connected intermodal containers and railcars.

Clients gain access to unparalleled real-time data, which streamlines fleet management and automates logistics processes. Nexxiot devices, built for resilience, withstand extreme conditions and provide long-term, detailed insights into cargo events, including impacts, delays, safety and security incidents, and loading activities.

Based in Zurich, Switzerland, Nexxiot’s influence extends globally. Our team, comprised of industry experts, operates from offices in Europe and North America and maintains a presence in a majority of depots, ports, and rail yards.

To learn more about how Nexxiot is leading the value generation for the rail industry, please visit www.nexxiot.com.

The Role

We are an IoT startup turning massive-scale, low-power device data into real-world impact. With a live fleet of close to one million connected devices, we generate high-volume telemetry every day, and we are looking for a passionate Backend Software Engineer to help us enrich, transform and distribute this data in our new office in Porto.

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 team, your goal is to design, implement, and test software solutions and to operate and maintain 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 to gather the information and know-how needed to resolve the task at hand. You prefer to automate recurring tasks and to create tools to optimize your team’s workflow. You are fluent in English, have good communication skills, and feel comfortable working remotely and collaborating with your team members in-person or via chat channels, audio and video calls. You have technical writing capabilities (in English) that enable effective and understandable write-ups of knowledge base entries and documentation of your software services, procedures, and tools.

Our 6 Values

  • Contribute actively
  • Be transparent / Do not BS
  • Promote mutual respect
  • Keep cool and have fun
  • Fail forward
  • Think and act as an entrepreneur

Your responsibilities

  • Design and implement software components and services, including tests and technical documentation, according to continuous integration best practices.
  • Deploy software services to different environments using continuous deployment practices, operate and maintain those deployments according to the principles of Site Reliability Engineering.
  • End-to-end responsibility throughout the software development lifecycle: Design, Implementation, Testing, Deployment, Operations and Maintenance.
  • Provide 3rd level support and ensure service availability during business hours. Monitor data streams and react to anomalies in a timely manner.
  • Review and approve merge/pull requests and design documents created by teammates.
  • Participate in agile software development activities (e.g. planning meetings, reviews, retrospectives, …).
  • Act as an onboarding buddy for new team members.

Requirements

  • Good conceptual skills in developing solution designs and implementing them in software.
  • Experience with working in an agile environment.
  • Good algorithmic knowledge.
  • Good software architecture and system design knowledge.
  • Curious and never afraid of learning to master new tools, technologies, and methodologies.
  • Minimum 3 years of experience in software development
  • Strong experience in writing software in Kotlin or Java. Linux/Unix shell know-how is a great plus.
  • Strong experience with common backend engineering concepts, patterns, and technologies like SQL (PostgreSQL), NoSQL (DynamoDB), Message Queueing (SQS), Publish & Subscribe (SNS & Apache Kafka).
  • Good knowledge of (RESTful) API design
  • Solid experience with Git, and CI/CD best practices (Gitlab CI)
  • Solid knowledge of software testing; TDD is encouraged, but not mandatory
  • Experience in writing and operating containerized software services (Docker, Kubernetes, AWS ECS or AWS Fargate).
  • Basic understanding of networking: UDP, TCP, DNS, HTTP.
  • Geospatial data understanding is a plus
  • Good Gradle knowledge is a plus.
  • Fluent in English (spoken and written)

Our Backend Stack

  • Kotlin / Java
  • Apache Kafka
  • SQS
  • DynamoDB
  • CockroachDB
  • Docker
  • Kubernetes

Key Skills

Ranked by relevance