
Existe uma palavra estranha "telemedicina", e eu a associo apenas às sessões de Kashpirovsky na TV e a carregar água da tela. Na verdade, esse é apenas um termo para tecnologias que podem tornar remédios remotos.
Esse é um campo enorme no qual a TI se desenvolverá muito seriamente quando todos os tipos de formalidades forem resolvidos, como atrasos legais, áreas de responsabilidade e disputas por dados pessoais. Bem, quando concordamos em confiar empresas e empresas de tecnologia para analisar nossos organismos e oferecer programas de tratamento da mesma maneira que agora confiamos em hospitais comuns.
Enquanto isso, as startups de tecnologia médica estão fazendo as coisas relativamente mais simples. Por exemplo, eles prestam serviços para consultas e registros nas clínicas. O BestDoctor - nossos interlocutores atuais - oferece esse serviço às empresas, em vez do VHI clássico. Sobre o que é, como é difícil desenvolver um produto médico e contratar pessoas para isso, fomos informados pelo CTO Filipp Kuznetsov e HR Polina Rusakova.
Tradicionalmente, falaremos sobre a avaliação da empresa no My Circle: o BestDoctor se enquadra em nosso ranking dos melhores empregadores em TI (na categoria de pequenas empresas) com uma classificação média de 4,6 . Os funcionários o apreciam por suas excelentes relações na equipe, pela possibilidade de crescimento profissional e pela modernidade das tecnologias utilizadas, mas acima de tudo - pelo fato de o BestDoctor tornar o mundo um lugar melhor.
Como funciona a alternativa VHI?
- Como o seu sistema é diferente do VHI comum?-
Philip Kuznetsov: Ao fazer o VHI clássico, você imediatamente fornece o valor total da apólice. O seguro ganhará com o que resta entre o custo da apólice e os pagamentos às clínicas para tratamento. Acontece que a companhia de seguros está interessada em pagar o mínimo possível para ganhar mais. E se você gastou menos em medicamentos do que pagou pela apólice, esse dinheiro não será devolvido.
Em nosso sistema, você paga pelos serviços prestados. Por exemplo, mil pessoas trabalham para você. Alguns deles encontraram mil rublos, outros dez mil, alguém nunca foi ao médico. Você não precisa pagar as mesmas políticas para todos. Existe um orçamento médico geral previsto do qual o dinheiro é deduzido quando os funcionários procuram ajuda.
Ao mesmo tempo, você não deve definir imediatamente o valor para o próximo ano, mas fazer um depósito para o trimestre. O dinheiro não gasto é devolvido ou transportado para o próximo período de serviço. Por exemplo, previmos que a equipe precisará de 20 milhões. Mas o ano foi bom e os funcionários estavam pouco doentes. Você pode recuperar o dinheiro economizado ou gastá-lo na expansão do programa. E para aqueles que têm medo de treinar demais, temos um acordo de risco.
Ganhamos com uma comissão fixa para cada funcionário anexado. Essa é uma taxa pelo serviço - um aplicativo móvel, uma conta pessoal, manutenção, para a base de clínicas e o fluxo de trabalho que fornecemos. Dizemos para onde é melhor ir, aconselhamos quando as pessoas não sabem o que fazer. Por exemplo, recebi um pacote de testes, mas não está claro para onde levá-los.
Ou seja, estamos nos concentrando na manutenção. O paciente pode nos ligar às três da manhã, porque a criança tem uma espinha no nariz, e nós lhe diremos se vale a pena se preocupar. Mesmo que a criança não esteja segurada conosco, ainda aconselhamos. Portanto, não estamos interessados em que os funcionários recebam o menor número possível de serviços e o mais barato possível. Só teremos dor de cabeça com isso.
- E por que ainda não se afasta do VHI habitual?-
FC : Ninguém faz isso na Rússia ainda. Quando nós, os três fundadores de uma startup desconhecida por ninguém, chegamos à empresa e dissemos que agora criaríamos um sistema barato e legal que funcionava com certeza, e não havia nenhum problema, a empresa pensou em escolher um seguro confiável e conhecido ou um projeto jovem sem nome. Esse é um dos principais problemas que encontramos - é muito difícil obter um crédito de confiança.
- Houve algum problema com as clínicas?-
FC : Não, para clínicas, trabalhamos da mesma maneira que seguros, sob quase os mesmos contratos. Enviamos listas de pacientes, cartas de garantia. Eles nos faturam, nós os pagamos.
-
Polina Rusakova : Temos um dos principais departamentos, em constante comunicação com as clínicas, a fim de manter a qualidade e os preços no atacado. Se as clínicas populares derem preços altos, será mais difícil para nós. As clínicas estão interessadas no fluxo. Se você der um fluxo, tudo está bem. Se você solicitar um contrato e disser que haverá um paciente por mês, é claro que isso não é benéfico para eles.
- Quem ajuda nas consultas? Clínicas ou seus especialistas?-
FC : Temos nossos próprios médicos, pessoas com formação médica.
-
PR : Nossos fundadores eram originalmente médicos. Portanto, levamos a seleção muito a sério. O BestDoctor para nossos médicos não é o principal local de trabalho. Contratamos apenas aqueles que têm prática médica constante. Isso permite que eles estejam constantemente em foco, no conhecimento sobre mudanças e melhores práticas.
Como o produto reúne médicos, pacientes e modelos de ML
"O que você está fazendo do ponto de vista do supermercado?"-
FC : Anteriormente, era apenas uma conta pessoal para pacientes na web. Lá, você pode deixar um pedido de consulta com a clínica e ver o programa de tratamento. Havia um back office que processava aplicativos de gravação e um call center. Também tínhamos um algoritmo estatístico que nos permitia calcular o orçamento. Foi a nossa ferramenta interna de pontuação, seleção de clínicas e programas para os clientes.
Em seguida, a funcionalidade do gabinete de RH foi adicionada. Este é um sistema no qual os eychars podem gerenciar funcionários conectados ao sistema, anexar novos, ver quanto dinheiro foi gasto em medicamentos naquele mês, verificar documentos contábeis e assim por diante (os dados médicos pessoais dos funcionários estão, é claro, ocultos). Agora, ainda existe um aplicativo móvel que duplica as funções da sua conta pessoal em termos de programa e gravação, mas ainda há um bate-papo com nossos médicos e uma central de atendimento.
Há também um co-pagamento, também chamado de franquia. Isso é semelhante às companhias de seguros, mas não é bem assim. Temos co-pagamento - essa é uma porcentagem do serviço que o funcionário paga por si mesmo. Por exemplo, uma consulta com um terapeuta custa 1000 rublos. Se o co-pagamento é de 10%, ele paga 100 rublos, 900 rublos - o empregador.
Cobramos diretamente do cartão bancário do paciente para reduzir o ônus da contabilidade do cliente. Além disso, fazemos o co-pagamento dependendo do tipo de serviço, por exemplo, apenas para odontologia ou para uma consulta médica em casa. Ou para cada clínica específica.
- Li que em algum lugar entre tudo isso há aprendizado de máquina. Onde-
FC : Sim, no modelo de pontuação, que permite prever os orçamentos dos clientes. Quando começamos, tínhamos estatísticas por décadas. Nós construímos o modelo inicial sobre eles. Agora nós o enriquecemos com nossos dados.
Nós mesmos temos que inventar modelos, porque ninguém os usa.
E, no entanto, para remover o co-pagamento corretamente, você precisa entender ao que o serviço se refere - odontologia, clínica. Para fazer isso, comparamos as listas de preços de diferentes clínicas. Aqui surge um problema: por exemplo, em uma lista de preços, diz "consulta primária com o terapeuta", em outra "recepção primária com o terapeuta". Mas é necessário que se entendesse automaticamente que esse é o mesmo.
Ou seja, os serviços são os mesmos em todos os lugares, mas são chamados de maneira diferente, e podemos traduzir seus nomes para o nosso idioma interno. Para isso, escrevemos um modelo que pode comparar as listas de preços de diferentes clínicas e classificar seus serviços de acordo com a nossa lista interna de preços. Podemos comparar e descobrir onde o serviço é prestado, onde não. Podemos classificar as clínicas por preço, a fim de otimizar a política de preços.
Fazê-lo manualmente será caro. Agora, o trabalho do modelo é verificado por uma pessoa e, para marcação manual, precisaríamos de pelo menos uma dúzia deles, porque todo mês um novo registro de serviços é fornecido.
- O modelo comete muitos erros?-
FC: quando o usamos na lista de preços, a precisão é de cerca de 80%. E quando em registros inteiros, existem quase 100%.
- Todos estes são desenvolvimentos próprios?FC: Sim. De terceiros, usamos apenas a plataforma de bate-papo. Mas desenvolveremos o nosso próprio ou usaremos outra estrutura mais flexível. Não temos nossa própria telefonia, mas adicionamos nossa própria análise, cavando um pouco na estrutura do banco de dados.
Como aprender Python e criar um negócio ao mesmo tempo
- Quem está trabalhando nisso tudo?-
PR : Toda a equipe está sentada em um escritório em Moscou, somos 74 agora. Alguns dos caras trabalham remotamente. Atualmente, três gerentes de produto estão envolvidos no produto, cada um responsável por sua própria direção. A equipe de design é composta por duas pessoas: uma é responsável pelo design gráfico e ilustrações, a segunda é envolvida no design do produto. Existem 12 pessoas no departamento de desenvolvimento, mas agora estamos expandindo. Tudo é padrão lá. Back-end, front-end, testadores e devops em um site remoto.
- Uma equipe tão pequena lida?-
FC : sempre não há desenvolvedores suficientes. Não importa o tamanho das equipes, sempre haverá tarefas nas quais você pode colocar mais desenvolvedores. Naturalmente, gostaria de fazer algumas coisas mais rapidamente. Mas a equipe lida com suas tarefas.
- Li no Vedomosti sua história do ponto de vista comercial. Diga o mesmo sobre a história do desenvolvimento?-
FC: em agosto de 2015, tivemos um desenvolvedor que não pôde desenvolver. No ano em que fizemos o MVP, apenas essa conta pessoal com um programa de tratamento. Escolhemos a pilha de entradas mais fácil - Python. Eles pegaram o framework Django mais popular e começaram a ver o produto nele.
Durante todo o primeiro ano, tivemos um desenvolvedor. No segundo ano de trabalho, começamos a expandir a equipe. Primeiro, veio outro back-end, depois o front-end apareceu. Depois vieram os produtos. Começamos a mudar gradualmente para outras tecnologias.
A partir de um aplicativo de modelo comum, começamos a refazer o SaaS com uma API REST (na verdade, mudamos imediatamente para o GraphQL). Temos uma pessoa que é responsável pela ciência de dados, uma devopa apareceu. Chocamos nossa arquitetura, fizemos tudo como pessoas. CI e implantação normais, porque antes disso foram implantados via git push-git pull. Então nós temos um desenvolvedor móvel. Começamos a escrever no React Native imediatamente em duas plataformas.
Agora temos o que temos - uma equipe de 12 pessoas, e cada uma delas está envolvida em sua própria peça.
- Eu simplesmente não entendi direito: como desenvolvedor, que não podia fazer nada, trabalhou no produto por dois anos?-
FC: Tudo é muito simples, eu era esse desenvolvedor. Eu sou biofísico por educação.
"Então você aprendeu Python e escreveu em qualquer lugar?"-
FC: Sim, eu tive que.
-
E quando eles começaram a recrutar uma equipe, você modificou a sua ou jogou tudo fora e começou a escrever do zero?-
FC: refinado. Não lembro que estávamos jogando algo diretamente. A menos que peças que não foram usadas. A pilha também não mudou. Como o Django e o Python começaram a usar desde então, nós o usamos. E na interface do TypeScript e React. Pegamos o Typcript porque sou fã de digitação estática.
No Python, também mudamos para uma versão que oferece suporte à anotação de tipo, a fim de tirar proveito da digitação estática - embora não de forma explícita, como nas linguagens verdadeiramente estaticamente tipadas.
- Não era melhor abandonar o Python e ainda pegar um verdadeiramente digitado?-
FC : Às vezes eu pensei que valia a pena reescrever em outra coisa. Eu olhei para C # e algumas vezes até para Java (com pessoas acontece que você olha inexplicavelmente para onde, não está claro o porquê). É potencialmente possível que mudemos para outra pilha. Mas isso se deve ao fato de que precisamos de coisas especializadas. Por exemplo, se entendermos que o Python não estica nenhuma parte do nosso cookie no desempenho, apenas o pegamos e escrevemos no Go. Ou se você precisar de repente de assincronismo e percebermos que não queremos fazê-lo em Python - usaremos o último recurso "Noda" ou algum Elixir.
Mas todos os problemas que encontrei no Python não eram solucionáveis. Nós apenas temos um produto de serviço, não ciência de foguetes. Não temos tarefas com carga selvagem e algoritmos complexos. Não precisamos de um idioma especializado, como "Pros" ou o mesmo Elixir. Nós precisamos de uma linguagem geral.
Nesse idioma, você pode encontrar rapidamente bons especialistas por pouco dinheiro. O Python agora é muito popular, e parece-me que sua popularidade só aumentará, porque há ML, Data Science, Web. Alguém até faz brinquedos móveis nele.
- Parece-me que o Python é popular entre os não desenvolvedores. Eles estudam isso além de suas principais ocupações. Por exemplo, você é um biofísico ...-
FC : Sim, eu concordo, muitos especialistas o estudam para automatizar independentemente suas principais tarefas. Os mesmos testadores aprendem Python a escrever autotestes.
Mas se uma pessoa pode se sair bem no Python e no desenvolvimento da Web, não me importo com os motivos pelos quais ele começou a estudá-lo. O principal é que ele pode, na entrevista, responder à pergunta que eu farei a ele e depois mostrar o resultado. O pano de fundo não é importante, tenho diante dos meus olhos o meu próprio exemplo, por isso trato essas pessoas normalmente. Há pessoas que estão aprendendo seriamente o Python - assim como os desenvolvedores. Existem também alguns deles.
- Você também escreveu modelos para aprendizado de máquina enquanto estudava em movimento?-
FC : quando tínhamos apenas estatísticas e não havia aprendizado de máquina, criamos o algoritmo junto com os outros fundadores. E eu fiz a implementação do software. Quando os modelos de aprendizado de máquina apareceram, já tínhamos um cientista de dados.
Como recrutar pessoas em uma startup arriscada
- Como você recrutou o time?-
PR : Provavelmente foi o período mais difícil. Quando cheguei aqui, a empresa tinha 23 pessoas. Poucas pessoas conheciam o BestDoctor no mercado de TI, mas isso é um problema para todas as pequenas empresas.
Nosso problema era que poucas pessoas acreditavam no projeto. No início, as pessoas vieram porque queriam trabalhar em um projeto socialmente significativo, mas depois foram trabalhar em um banco. Nossas ofertas eram frequentemente recusadas. Nossos prazos estavam encerrados, mas no final montamos uma equipe muito legal. Agora não temos rotatividade. Nos últimos seis meses, restam 1-2 pessoas.
As startups precisam crescer rapidamente, mas você só pode crescer se novas pessoas vierem. A maioria dos técnicos veio do My Circle ou Telegram, além de conversarmos bastante sobre as recomendações. Naquele momento, levantei todos os desenvolvedores que conhecia.
- Parece que eles estavam prontos para levar qualquer pessoa, mas eles precisavam ser filtrados por habilidades de alguma forma?-
PR : É claro que filtramos, e não apenas por habilidades técnicas. Tomar uma pessoa que realmente não combina com você é um risco enorme. Cedo ou tarde, ele recusará você ou você o rejeitará. Portanto, nos recompor e dizer "não, vamos procurar mais" é uma decisão bastante complicada. Quando entendemos que o homem não era nosso, procuramos mais longe.
- Por que uma pessoa pode não ser sua?-
PR : ou as pessoas não se adequavam tecnicamente a nós, ou nós não. No início, o projeto não era tão interessante e global como é agora. Agora está se desenvolvendo e, há um ano, havia uma história completamente diferente.
E acontece que eles simplesmente não se encaixavam na cultura corporativa.
- o que é isso?-
PR : nem todo mundo está pronto para trabalhar em uma startup, ele tem sua própria atmosfera e energia. Uma startup é um lugar onde muitas pessoas pensam que querem ir. Mas quando você fala francamente sobre os prós e contras de uma entrevista, as pessoas realmente pensam se querem isso.
As startups e empresas nas quais há uma interação ativa com o usuário sempre vivem no formato "faça o mais rápido possível". Algo pode acontecer por volta das duas da manhã e você deve estar pronto para ligar.
Bem, se apenas uma pessoa quiser trabalhar em projetos que tragam dinheiro e nada mais, provavelmente não concordaremos. Nosso objetivo é tornar as pessoas saudáveis e prolongar a vida. A maioria das pessoas da equipe realmente teve a ideia de mudar um sistema que está longe do ideal. Muitas pessoas enfrentaram imperfeições e agora querem trabalhar para melhorar.
"Mas como você entendeu que uma pessoa é uma boa desenvolvedora?"-
RP: Procuramos imediatamente os de nível médio e superior, porque em nossas condições é difícil trabalhar com juniores. Nos testes de competência, tudo é bastante padrão. Como qualquer empresa, analisamos o auto-aprendizado. Não haverá cursos organizados, você precisa aprender constantemente novas coisas.
É necessária flexibilidade para trabalhar em equipe. Uma startup é um lugar onde você só pode andar lado a lado em tempos difíceis. Se alguém se afasta, toda a equipe experimenta estresse. É importante estar em contato próximo, monitorar as alterações.
-
FC : No lado técnico, perguntei as coisas mais básicas, que mostram que uma pessoa é realmente média ou sênior, e realmente faz Python há muitos anos. Perguntas padrão: “o que é um gerenciador de contexto”, “como um iterador difere de um gerador”, “que métodos mágicos você conhece” e assim por diante. Perguntas básicas sobre sintaxe que eu mesmo encontrei em três anos de trabalho. E se eu souber, uma pessoa definitivamente deve saber. Isso eliminou a maioria dos candidatos: a pessoa diz que é um pitonista do meio, mas não pode responder a perguntas simples básicas.
Quando o "teste de piolhos" terminou, passamos às tarefas. Uma era testar os algoritmos, mas não havia problema para resolver da maneira mais ideal. O objetivo era criar uma solução funcional e depois falar sobre como otimizá-la.
A segunda tarefa é trabalhar com memória. Aqui era importante ver quão amplamente uma pessoa pode pensar, contornar as restrições. Ele lembrará que você pode usar a gravação em disco ou alguma outra coisa relacionada ao trabalho com a rede.
Como trabalhamos com o Django, as coisas ficaram um pouco mais complicadas: criar uma visão interna do painel de administração, redefinir métodos ou escrever uma função que use o PostgreSQL.
-
PR : Rejeitamos as tarefas de teste por um longo tempo de propósito. Quando uma startup sem nome faz um teste volumoso, a chance já pequena de conseguir uma pessoa se torna quase zero. Havia certos riscos, e nós os tomamos conscientemente.
- Você já encontrou o fato de que os testes de piolhos podem eliminar pessoas boas?-
FC : Sim, eu conheço esse pensamento. Mas não exigi definições claras dos livros. Eu estava esperando uma resposta para as perguntas que uma pessoa definitivamente deveria ter enfrentado se estivesse desenvolvendo há vários anos. , , . , . , - .
, , . , , .
— , ?—
: , . , . , , , . . , .
— , ?—
: , , . , , . . , , .
— — . , , .—
: , , - . — , . , . , .
— - , ?—
: , . . , . , , . — .
! — hr@tmtm.ru « ».