Truly Full-Stack — Die Technologie, die Minut ausmacht

Als Entwickler bei Minut hast du die Möglichkeit, an allen Bereichen des Stacks zu arbeiten, von der Elektronik bis hin zu Animationen in der App. Wir sind wirklich Full-Stack, lieben, was wir tun, und suchen Gleichgesinnte für unser Team.
By
Minut
in
Technik und Sicherheit
Calendar icon
November 26, 2021
5
min read
Truly Full-Stack — Die Technologie, die Minut ausmacht

Bei Minut entwerfen und bauen wir Mechanik, Elektronik, Firmware, Backend, ML-Modelle, Tools sowie Mobil- und Web-Apps im eigenen Haus. Das ist wirklich Full-Stack.

Minut ist eine Geräuschsensor- und Automatisierungsplattform für Gastgeber von Kurzzeitvermietungen. Wir sind bestrebt, der beste Co-Gastgeber zu sein, den ein Hausverwalter haben kann. Wir helfen Gastgebern und PMs auf der ganzen Welt dabei, ihre Mietobjekte zu schützen und Gästen tolle Erlebnisse zu bieten, während wir gleichzeitig die Nachbarn respektieren.


TL; DR

Das verwenden wir bei Minut:

  • Web: React, Typoskript, Webflow
  • Anwendungen: Swift, Kotlin
  • Backend: Node.js, Typoskript, Python, Tensorflow, Keras
  • Speicher: MongoDB, MySQL, S3
  • Infrastruktur: AWS, Kubernetes, Docker, Jenkins, Github
  • Firmware: C, FreeRTOS, LWIP, Protobuf, Python (Werkzeuge)
  • Elektronik: KiCad
  • Mechanik: Solidworks, Fusion 360

Die Arbeit mit einem echten Full-Stack-Team bedeutet, dass Sie Menschen mit einer Vielzahl von Fähigkeiten kennenlernen und von ihnen lernen können. Wir führen häufig sowohl geplante als auch spontane technische Diskussionen über Architektur, Tools, Entwicklererfahrung oder alles andere, was für die Softwareentwicklung von zentraler Bedeutung ist.

Freigeben und iterieren

Wir sind ein engmaschiges Team von Ingenieuren, die eng mit Designern und wichtigen Stakeholdern zusammenarbeiten, um das beste Erlebnis für unsere Kunden zu entwickeln. Die Ingenieure im Team sind frühzeitig in die Problemanalyse und Produktentwicklung eingebunden.

Unsere Frontend-Webanwendung ist eine einseitige Anwendung, die mit React und Typescript erstellt wurde. Sie verwendet React-Query, um serverseitige Daten auf vernünftige Weise zu verwalten. Es gibt auch eine E-Commerce-Website, die in Gatbsy.js integriert ist, und eine Marketing-Website, die auf Webflow (einer Low-Code-Plattform) läuft. Veröffentlichungen erfolgen kontinuierlich und regelmäßig. Wir ziehen es vor, sie mehrmals am Tag zu veröffentlichen, was automatisch erfolgt, nachdem die Code-Reviews bestanden wurden. Prettier und Eslint werden automatisch auf dem gesamten Code ausgeführt, um sicherzustellen, dass er sauber ist.

Die Web-App (und die mobilen Apps) nutzen dasselbe REST-fähige versionierte HTTP-API die unsere Pro- und Enterprise-Kunden für die Integration mit Minut verwenden. Das Backend ist hauptsächlich in NodeJS mit Typescript geschrieben und speichert Daten sowohl in MongoDB- als auch in SQL- und S3-Datenbanken.

Eine großartige Entwickler-Toolchain und ein großartiger Workflow machen unser Leben als Entwickler einfacher. Es ermöglicht uns, schneller und mit besserer Qualität zu liefern. Aus diesem Grund investieren wir und ermutigen Entwickler, Zeit mit Tools zu verbringen. Zum Beispiel veranstaltet das Backend-Team mittwochs Automation, um Zeit der Verbesserung der Entwicklererfahrung zu widmen, sei es durch die Verbesserung der Testsuiten oder das Hinzufügen weiterer automatisierter Codevalidierungen.

Datenschutz im Mittelpunkt

Datenschutzsichere Überwachung ist im Prinzip ein einfaches Konzept, dessen Ausführung jedoch kompliziert ist. Wir haben eine neuartige Methode zur Identifizierung bestimmter Ereignisse auf batteriebetriebenen Sensoren entworfen und entwickelt, ohne die Privatsphäre der Gäste zu gefährden (US-Patent: US20200143823A1).

Rohdaten werden direkt auf dem Sensor verarbeitet und niemals an Minut oder andere Personen weitergegeben. Wenn das Gerät ein potenziell kritisches Ereignis wie Glasbruch oder einen plötzlichen starken Temperaturanstieg erkennt, wird ein „Fingerabdruck“ des Ereignisses an die Cloud gesendet, wo er von noch leistungsfähigeren Algorithmen analysiert wird, bevor er an den Benutzer gesendet wird.

Ja, das bedeutet, dass wir ML-Modelle bis zu 12 Monate lang auf einer MCU mit 96 MHz und weniger als 256 kB RAM im Akkubetrieb betreiben können.

Lesen Sie mehr über unseren Ansatz zum Datenschutz.

Systemeigene Apps

Die mobile App von Minut wurde nativ sowohl für Android als auch für iOS entwickelt. Abgesehen davon, dass wir einen besseren Zugriff auf APIs wie Bluetooth und Networking haben, wollen wir den Benutzern auf beiden Plattformen ein vertrautes Erscheinungsbild bieten. Wir bemühen uns, sowohl bei den Sprachfunktionen als auch bei den Frameworks auf dem neuesten Stand zu bleiben (SwiftUI und Jetpack Compose sind zwei aktuelle Beispiele).

Obwohl wir der Meinung sind, dass native Software die beste Grundlage ist, halten wir die Augen offen nach Möglichkeiten, die Konsistenz und die Entwicklungsgeschwindigkeit zu verbessern. Vor Kurzem experimentierte das Team bei einer externen Entwicklungsabteilung damit, gemeinsam genutzte Ansichten durch Frameworks wie Flutter und React Native zu ersetzen.

Two smartphones with Minut UI
Hardware ist schwer (sprich: lustig)

Von Anfang an haben wir kundenspezifische Mechaniken und Elektronik mit der dazugehörigen Firmware im eigenen Haus entworfen, prototypisiert und gebaut. Wir wählen die am besten geeigneten Komponenten aus und integrieren sie in unseren Firmware-Stack (in C geschrieben), um ein System aufzubauen, das die Privatsphäre der Gäste respektiert.

Testsysteme sowie kundenspezifische Hardware-Jigs und Software (Python), die alle im eigenen Haus gebaut wurden, sammeln und laden Statistiken über jede Hardwareeinheit direkt von der Fertigungslinie hoch, sodass wir die Qualität der Hardware kontinuierlich verbessern können.

Die Firmware wird regelmäßig drahtlos aktualisiert, nachdem das Gerät beim Kunden zu Hause installiert wurde. Durch diese Updates konnten wir die Akkuleistung um > 100% verbessern und völlig neue Funktionen hinzufügen, an die wir zu Beginn der Auslieferung nicht gedacht hatten.

All dies wird durch ein gut ausgestattetes Hardwarelabor in unserem Büro im Zentrum von Malmö ermöglicht.

Minute in einer Box

Minut-Sensoren gibt es auf fast allen Kontinenten der Welt. (Kennt jemand einen Airbnb-Gastgeber in der Antarktis? Intros sind willkommen.) Tatsächlich haben wir Sensoren in über 100 Ländern eingesetzt. Um diese Sensoren zu verwalten, haben wir eine strenge Suite von Test- und Automatisierungstools entwickelt, um das Risiko zu minimieren, dass Software eingesetzt wird, die versehentlich den Betrieb eines Sensors beeinträchtigt, auf den sich unsere Kunden für ihren Geschäftsbetrieb verlassen.

Jeder Entwickler bei Minut kann eine komplette Umgebung auf seinem lokalen (oder entfernten) Computer zum Testen aufrufen. Es steht eine Reihe von Tools zur Verfügung, mit denen sowohl Benutzer als auch Apps und Hardwaresensoren emuliert werden können.

Unsere hauseigene Testflotte besteht aus über 100 Sensoren, die kontinuierlich unterschiedlichen Umgebungen, Softwarekonfigurationen, Firmware-Versionen und Wi-Fi-Routern ausgesetzt sind.

Tools und Automatisierung sind ein Teil der Gleichung, der andere sind Workflows. Alle Teams führen Code-Reviews rigoros durch und führen häufig Paarprogrammierungen durch, um neue Funktionen bereitzustellen und den vorhandenen Code in hoher Qualität zu erhalten. Die Kombination aus Tools, Automatisierung und Workflows ermöglicht es uns, Software kontinuierlich, manchmal mehrmals pro Woche, für alle Teile des Stacks zu veröffentlichen.

Minut sensor with its lens off, exposing electronics


Treten Sie unserem Full-Stack-Team bei

Als Entwickler bei Minut hast du die Möglichkeit, an allen Bereichen des Stacks zu arbeiten, von der Elektronik bis hin zu Animationen in der App. Wir sind ein echtes Full-Stack-Unternehmen, lieben, was wir tun, und suchen Gleichgesinnte für unser wachsendes Engineering-Team.

Wenn Sie interessiert sind, schauen Sie sich unsere an offene Stellen!