Na Minut, projetamos e construímos mecânica, eletrônica, firmware, backend, modelos de ML, ferramentas e aplicativos móveis e web internamente. Isso é realmente completo.
O Minut é um sensor de ruído e uma plataforma de automação para anfitriões de aluguel de curto prazo. Nós nos esforçamos para ser o melhor coanfitrião que um gerente de propriedades pode ter, ajudando anfitriões e PMs em todo o mundo a proteger suas propriedades de aluguel e proporcionar experiências incríveis aos hóspedes, respeitando os vizinhos.
Isso é o que usamos no Minut:
Trabalhar com uma equipe verdadeiramente completa significa que você pode ver e aprender com pessoas com uma ampla variedade de habilidades. Frequentemente, temos discussões técnicas planejadas e espontâneas sobre arquitetura, ferramentas, experiência do desenvolvedor ou qualquer outra coisa central para o desenvolvimento de software.
Somos uma equipe unida de engenheiros que trabalha em estreita colaboração com designers e principais partes interessadas para desenvolver a melhor experiência para nossos clientes. Os engenheiros da equipe estão envolvidos desde o início na definição do escopo do problema e no desenvolvimento do produto.
Nosso aplicativo web front-end é um aplicativo de página única criado usando React e Typescript. Ele usa react-query para gerenciar dados do lado do servidor de maneira sensata. Há também um site de comércio eletrônico construído em Gatbsy.js e um site de marketing executado no Webflow (uma plataforma de baixo código). Os lançamentos são feitos continuamente e regularmente. Preferimos lançá-los várias vezes ao dia, o que é feito automaticamente após a aprovação das revisões de código. Prettier e Eslint são executados automaticamente em todo o código para garantir que esteja limpo.
O aplicativo web (e os aplicativos móveis) aproveitam o mesmo API HTTP com versão RESTful que nossos clientes Pro e Enterprise usam para se integrar ao Minut. O backend é escrito principalmente em NodeJS com Typescript e armazena dados nos bancos de dados MongoDB, SQL e S3.
Ter uma ótima cadeia de ferramentas e fluxo de trabalho para desenvolvedores facilita nossa vida como desenvolvedores. Isso nos permite entregar mais rápido e com melhor qualidade. Essa é a razão pela qual investimos e incentivamos os desenvolvedores a dedicar tempo às ferramentas. Por exemplo, a equipe de back-end executa as quartas-feiras de automação para dedicar tempo à melhoria da experiência do desenvolvedor, seja melhorando as suítes de teste ou adicionando mais validação automatizada de código.
O monitoramento seguro da privacidade é, em princípio, um conceito simples, mas sua execução é complicada. Projetamos e desenvolvemos uma nova maneira de identificar eventos específicos em sensores alimentados por bateria sem comprometer a privacidade dos hóspedes (patente dos EUA: US20200143823A1).
Os dados brutos são processados diretamente no sensor e nunca são compartilhados com o Minut ou qualquer outra pessoa. Quando o dispositivo detecta um evento potencialmente crítico, como quebra de vidro ou um aumento repentino na temperatura, uma “impressão digital” do evento é enviada para a nuvem, onde é analisada por algoritmos ainda mais poderosos antes de ser enviada ao usuário.
Sim, isso significa que podemos executar modelos de ML em um MCU com 96 MHz e menos de 256 kB de RAM com energia da bateria por até 12 meses.
Leia mais sobre nossa abordagem à privacidade.
O aplicativo móvel do Minut é desenvolvido nativamente no Android e no iOS. Além de ter melhor acesso a APIs como Bluetooth e redes, queremos oferecer aos usuários uma aparência familiar nas duas plataformas. Nós nos esforçamos para nos manter atualizados com os recursos e estruturas da linguagem (o SwiftUI e o Jetpack Compose são dois exemplos recentes).
Embora pensemos que o nativo é a melhor base, mantemos nossos olhos abertos para encontrar maneiras de melhorar a consistência e a velocidade de desenvolvimento. Em um recente escritório externo de engenharia, a equipe experimentou substituir visualizações compartilhadas por estruturas como Flutter e React Native.
Desde o início, projetamos, prototipamos e construímos mecânicas e eletrônicas personalizadas com o firmware que a acompanha internamente. Selecionamos os componentes mais adequados e os integramos à nossa pilha de firmware (escrita em C) para criar um sistema que respeite a privacidade dos hóspedes.
Os sistemas de teste, juntamente com gabaritos de hardware e software personalizados (Python), todos construídos internamente, coletam e carregam estatísticas sobre cada unidade de hardware diretamente da linha de fabricação, o que nos permite aumentar continuamente a qualidade do hardware.
O firmware é atualizado regularmente sem fio após a instalação da unidade na casa do cliente. Por meio dessas atualizações, conseguimos melhorar o desempenho da bateria em > 100%, além de adicionar recursos completamente novos nos quais não tínhamos pensado quando começamos a enviar.
Para possibilitar tudo isso, há um laboratório de hardware bem equipado em nosso escritório no centro de Malmö.
Existem sensores Minut em quase todos os continentes do mundo. (Alguém conhece um anfitrião do Airbnb na Antártica? Introduções bem-vindas.) Na verdade, implantamos sensores em mais de 100 países. Para gerenciar esses sensores, criamos um conjunto rigoroso de ferramentas de teste e automação para minimizar o risco de implantação de software que acidentalmente afeta as operações de um sensor do qual nossos clientes dependem para administrar seus negócios.
Qualquer desenvolvedor da Minut pode criar um ambiente completo em sua máquina local (ou remota) para testes. Um conjunto de ferramentas está disponível para emular usuários, aplicativos e sensores de hardware.
Nossa frota de testes interna consiste em mais de 100 sensores que estão continuamente sendo expostos a diferentes ambientes, configurações de software, versões de firmware e roteadores Wi-Fi.
Ferramentas e automação são uma parte da equação, a outra são os fluxos de trabalho. Todas as equipes usam análises de código rigorosamente e frequentemente fazem programação em pares para oferecer ainda mais novos recursos e manter o código existente com alta qualidade. A combinação de ferramentas, automação e fluxos de trabalho nos permite lançar software em todas as partes da pilha continuamente, às vezes várias vezes por semana.
Como desenvolvedor na Minut, você tem a oportunidade de trabalhar em todas as áreas da pilha, desde eletrônicos até animações no aplicativo. Somos uma organização verdadeiramente completa, adoramos o que fazemos e estamos procurando pessoas com ideias semelhantes para se juntarem à nossa crescente equipe de engenharia.
Se você estiver interessado, confira nosso vagas abertas!