We work with Github (and Github Actions), Slack, Confluence and Jira. Our work is peer-reviewed using Github Flow, linted and tested.
We run our projects in an agile way. Most projects use methods from SCRUM and Extreme Programming. For us, it is essential that Agile means continuous learning and improvement (Kaizen). As we work for customer projects, it is crucial for our teams to work with the customer as closely as possible. We adapt to the individual conditions for each customer and project. Usually, a team consists of a Product Owner, a Scrum Master, and at least one lead developer. To deliver the best result for the customer, we have to make their product, our product.
The development team has a joint responsibility for their work. While there are different levels, roles and specializations, all parts — including the architecture — are always part of a collaborative process.
We are working towards a standardized set of tools and packed a small selection in our toolbox, e.g.:
- For backend development, we usually choose Kotlin. Our go-to general purpose setup for IoT backend solutions is Spring Boot and Kotlin. It provides us with a battle tested framework and runtime, while using a modern language.
- We develop our mobile applications in Kotlin (Android) and Swift (iOS), but are open to look into recent innovative solutions like Flutter. For dependency management we rely on Carthage and Gradle.
- In Bare Metal and Embedded Linux environments, we typically go with C. We usually deal with Bluetooth® Low Energy, Apple® HomeKit™ and cellular technologies like LTE, LTE-M or NB-IoT in our projects.
- Postgres is a versatile database usually solving all of our needs.
- Kubernetes is our friendly, cloud agnostic way to deploy on any infrastructure. We use a combination of Kustomize, ArgoCD and Terraform to manage our complete infrastructure.
- Azure is our primary public cloud provider; we still use Google Cloud or AWS for different reasons.
- We are generally open to evaluate new technologies and enrich our stacks sensibly.
If that sounds good, let us tell you something about our hiring process.