
É comum ver uma linguagem de programação nova e até agora pouco conhecida em uma pequena startup ou projeto de estimação com amigos. Você perguntará por que eles pegaram, eles dirão que você aprendeu por curiosidade, gostou e decidiu experimentar, porque você está cansado do eterno Java / .Net / JS no trabalho.
Mas se uma empresa fala sobre si mesma em frases como "negócios internacionais", "escritórios em todo o mundo", "culto à produtividade", "o resultado é importante para nós, não o processo", "precisamos de olhos ardentes e desejo de desenvolver" - geralmente eles não esperando surpresas. Alguns até colocam listas de proibição de novas tecnologias até ganhar peso na indústria. Para perguntas sobre as desvantagens das ferramentas, evasivamente, diga: "o principal é as pessoas, não as línguas".
O Wrike, com cerca de 400 desenvolvedores, tem uma abordagem diferente. Eles não fecharam os olhos para as deficiências do JavaScript e nem escolheram um compromisso, como o Flow ou o TypeScript - mas foram completamente radicais. Eles reescreveram a frente em uma linguagem que milhares de pessoas mal conheciam na época e, ao que parece, ainda estão absolutamente confiantes em si mesmas.
Wrike conquistou um terceiro lugar de honra entre as médias empresas no ranking dos melhores empregadores em My Circle IT, com uma classificação média de 4,82. As principais qualidades mais bem avaliadas da empresa incluem: pacote social, condições de trabalho confortáveis, relacionamento com colegas, salário adequado e crescimento profissional.

- Wrike foi fundada por Andrey Filev em 2007 em São Petersburgo. Então ele começou a desenvolver negócios nos Estados Unidos, no Vale do Silício. Então era uma empresa completamente diferente e agora crescemos muito.
No começo, Andrey tinha uma empresa de terceirização. Eles começaram a procurar por um software que permitisse um trabalho mais eficiente - para gerenciar tempo e recursos. Não havia nenhuma ferramenta muito legal na época, e surgiu a idéia de criar a sua. Então Wrike nasceu.
Começamos com coisas simples, mas gradualmente o produto começou a crescer. Isso foi há 12 anos e podemos dizer que participamos da formação de um mercado para esses sistemas de gerenciamento de trabalho. O Wrike agora é usado por mais de 18.000 empresas em todo o mundo.
- Essa empresa de terceirização ainda existe?Sim, é chamado Murano Software. Mas ela não tem nada a ver conosco. Wrike é uma empresa de produto único de pleno direito, que foi um experimento no âmbito de uma empresa de terceirização, mas subiu e se separou muito rapidamente.
"Eles ainda estão usando lá?"Sim, ainda.
O que é Wrike
O Wrike é uma plataforma para gerenciamento e colaboração de projetos em um sentido muito amplo: de uma lista de tarefas pessoais a um sistema adequado para grandes empresas.
Por dentro, você pode criar projetos com muitas tarefas e subtarefas, configurar relatórios para coleta de dados, exibir gráficos de Gantt, rastrear tarefas no calendário e editá-los simultaneamente com outros participantes. Os complementos do Wrike ajudam você a gerenciar sua carga de trabalho em tempo real ou a executar complexas campanhas de marketing multicanal. Existe uma API para integração com outras ferramentas. Existem extensões, por exemplo, para o Adobe Creative Cloud. Permite visualizar e comentar arquivos sem sair do sistema.
Wrike não procura se concentrar em uma função, indústria ou profissão específica. Está posicionado como uma ferramenta universal para tudo - até a substituição do sistema de correio, messenger, base de conhecimento, rastreador de bugs e muito mais.
- Desfocar todos e para tudo não piora as partes individuais?- Nós deliberadamente não entramos em nichos de perfil estreito. Por exemplo, não queremos criar sistemas de rastreamento de erros exclusivamente para desenvolvedores como Jira. Não queremos criar software apenas para programadores ou designers. Estamos interessados em fazer um produto universal. Ao mesmo tempo, entendemos que existem casos altamente especializados que não abordamos.
Mas esse não é nosso objetivo - agradar a todos ou ocupar totalmente o nicho de TI. Embora nós, desenvolvendo o Wrike, o utilizemos como um sistema para tarefas e um rastreador de erros.
- Ou seja, você pode acelerar o rastreador de bugs, o messenger é mais rápido, mas serão cinco ferramentas diferentes e será difícil sincronizar entre elas.
- Mas então você tem que competir com todos. Atlassian, por um lado. Folga como um mensageiro - por outro.- Sim, agora apenas os preguiçosos não estão desenvolvendo sistemas de gerenciamento de projetos e produtos.
- Mas, de fato, não existem tantas empresas que competiriam conosco em todos os aspectos.
- Atlassian não é assim?- Ele está mais focado no mercado de TI. Por exemplo, para os designers Jira é muito complicado.
É muito difícil de personalizar. Existe até uma profissão - o Jira Setup Manager. Tentamos garantir que você vá ao site, tenha uma conta gratuita e isso é tudo - desde o primeiro dia, você pode usá-lo sem problemas.
- Mas você diz que também trabalha em estreita colaboração com clientes e também com gerentes diretos que estabelecem processos.Sim, temos uma equipe de gerentes de sucesso e implantação de clientes, além de todo um sistema de tours, guias, e-books e todos os tipos de documentação. Existem gerentes que ajudarão você a configurar o Wrike para processos prontos. Às vezes, eles trabalham com grandes clientes individuais. Às vezes, imediatamente com muitos (por exemplo, gravando seminários on-line). Mesmo se uma pessoa registrou um teste e não entendeu o produto, ele terá a oportunidade de conversar ao vivo com um dos rikers e entender como isso funciona.
- Em geral,
introduzir um produto em uma empresa com milhares de usuários é outra tarefa.
- Aconteceu que foi muito difícil com um dos grandes clientes?Normalmente, quanto maior a empresa, mais processos de trabalho ela tem - mais difícil é trabalhar. Naturalmente, não estamos terceirizando. Não existe tal coisa que algum tipo de sacola de dinheiro venha e diga: "aqui há muito dinheiro para você, faça-me uma coisa dessas". Nossos gerentes de produto determinam os próprios caminhos de desenvolvimento do produto. Mas existem clientes com solicitações interessantes.
O Airbnb, por exemplo, usa a plataforma em casos muito incomuns. Cada apartamento e cada pessoa que o aluga é um projeto separado no Wrike.
Ou a empresa de automóveis Coil [nome alterado]. Os clientes solicitam peças de reposição deles. Dar a essas pessoas contas Wrike é apenas uma ideia. Você não será cada proprietário da Coil na sua conta. Mas a empresa realmente queria uma oportunidade conveniente de trabalhar com os clientes.
Obviamente, não dissemos que, no momento, criaremos esse recurso para eles. Mas os gerentes perceberam que ela melhoraria o produto como um todo. Foi assim que "formulários de solicitação externa" apareceram para pessoas que não têm uma conta Wrike.
- Acabou, você fez pelo Coil [nome alterado], mas serviu para todo mundo?"Na verdade não." Analisamos simultaneamente o mercado e levantamos a hipótese - essa tarefa estava em um roteiro potencial. Se houvesse um pedido que não nos convém, não o faremos.
A estrutura interna do Wrike

Trabalhamos no Scrum. A empresa é dividida em equipes por recursos - cerca de 10 pessoas cada. Eles têm uma composição diferente, mas cada um possui um back-end, front-end, scrum-master, controle de qualidade, automação de controle de qualidade, designer de UX, desenvolvedor de produtos, analista de produtos (analistas às vezes vêm em várias equipes). Essa composição é totalmente funcional e pode criar um recurso de e para.
Existem equipes internas que fazem estruturas, componentes, kits de design e estão envolvidas na transição de uma versão de uma linguagem de programação para outra.
Algumas equipes são comuns a toda a empresa. Por exemplo, esses são SysOps, que estão envolvidos na infraestrutura do servidor, e DevOps - eles estão envolvidos na implantação e na entrega do produto. Temos lançamentos de uma a três vezes por dia.
Também usamos parcialmente a conhecida estrutura do Spotify com guildas. Por exemplo, o frontend, onde o front-end consiste em todas as equipes. Existem leads de front-end que lidam com gerenciamento e arquitetura. E há leads de guilda.
Ainda não chegamos ao ponto de isolá-los das equipes. Mas, em geral, é lógico e orgânico. Agora, pessoas com altas habilidades técnicas de arquitetura estão em equipes de infraestrutura.
Wrike não é realmente uma estrutura burocrática. Mas isso não significa que o caos esteja acontecendo em nosso país. Se uma pessoa faz o que gosta e faz bem, então ela terá oportunidades de crescimento, independentemente da posição que ocupar.
- E em que escritório o que está sendo feito?- Em São Petersburgo e em Voronezh, os escritórios da engenharia foram inaugurados. Temos 400 pessoas em São Petersburgo e 40 em Voronezh.Existem escritórios em San Jose, San Diego. Um escritório em Praga será aberto este ano. Escritório recentemente expandido em Dublin. Em janeiro deste ano, um escritório foi aberto em Melbourne, na Austrália.

- Nos escritórios americanos, temos um departamento de vendas, marketing, gerentes (CSM). Dublin também possui CSM e vendas. Há também uma equipe de analistas. Em São Petersburgo - o maior e unificador escritório. Aqui temos gerentes de atendimento ao cliente, gerentes de produto, analistas, designers, desenvolvimento e back office.
- Todos trabalham em escritórios ou você está aberto para um local remoto?- Comandos scrum remotos são muito difíceis. Queremos que as pessoas estejam próximas e em contato umas com as outras. Em departamentos que podem envolver trabalho remoto (por exemplo, Suporte ao Cliente), não limitamos muito os funcionários.
- Udalenka em desenvolvimento - um ponto discutível. Agora, há muita conversa sobre isso, no Twitter em inglês, discutimos constantemente esse tópico. Existem prós e contras. Em nossa opinião, há mais "contras". Como gerente de equipe, seria difícil para mim garantir a produtividade e um espírito comum, crescer e treinar funcionários remotos.
Temos um horário bastante flexível, as pessoas não se sentam no escritório estritamente das dez às seis. Se houver um confronto, por favor, seja gentil - venha, e quando passar e quanto tempo levará, as equipes escolherão por si mesmas. Se algo acontecer, também sem problemas - a pessoa escreve que trabalha em casa.
- Quando o produto é internacional, os desenvolvedores geralmente precisam ter um bom conhecimento de inglês para conversar com os clientes.- Não temos clientes, não somos terceirizados. A empresa é internacional e parte das comunicações é, de fato, conduzida em inglês, mas isso não se aplica a todos. Para desenvolvedores na Rússia, não temos um requisito especial para saber inglês.
Uma vez por mês, há reuniões nas quais falamos sobre todas as mudanças na empresa e no desempenho financeiro. A comunicação com o suporte ocorre em inglês. Os ingressos com erros de clientes também estão, é claro, em inglês. Para aqueles que desejam aperfeiçoar ou aprender um idioma, existe uma oportunidade: temos aulas em andamento com os professores, para os funcionários, eles são livres.
Mas minha opinião é que, se um desenvolvedor não começou a desenvolver ontem, ele sabe inglês pelo menos no nível da leitura da documentação. Sem uma língua, você nem consegue pesquisar no Google.
Obviamente, os desenvolvedores podem não ter um sotaque britânico verdadeiro e não há Oxford por trás deles, mas geralmente podem falar e ler alguma coisa.
Por que o Dart é melhor que o JavaScript e o TypeScript
- Agora tudo isso é um grande sistema complexo. Mas surgiu do desenvolvimento interno há muito tempo e mudou muito desde então. Por causa disso, não houve erros de cálculo arquitetônicos que agora interferem na vida?- Claro, o projeto é grande. No back-end, temos um e meio ou dois milhões de linhas de código Java. O front end também é comparável. Mas não conheço uma única pessoa que possa projetar o sistema com cinco anos de antecedência e ele será desenvolvido sem reconstrução.
Acontece que algo cai. Às vezes percebemos que há dois anos eram mais burros. Mas isso é natural do ponto de vista do engenheiro. De que outra forma?
- Portanto, há equipes internas que reescrevem periodicamente partes antigas.
- Sim, às vezes digo que precisamos sentar e refatorar, caso contrário, ele disparará para que tudo seja filmado. Sentamos e refatoramos. Arquitetura interfere - nós fazemos arquitetura.
- Qual é a sua pilha?- No back-end Java. Banco de dados SQL. No front-end, uma coisa interessante. Era uma vez o JavaScript, mas percebemos que ele não era escalável e escolhemos o Dart.
- O que você escolheu ??- dardo. Sim, esta é uma reação normal. Um idioma digitado do Google, que agora tem quase sete anos. Nós somos provavelmente os evangelistas mais importantes dessa pilha na Rússia.
- Os mais importantes ou os únicos?- A propósito, agora está se desenvolvendo ativamente. O Google lançou o Flutter - esse é um framework móvel escrito apenas no Dart. Existe uma
comunidade russa de dardo que criamos e apoiamos. Já existem cerca de mil e quinhentas pessoas. Obviamente, pelos padrões do JavaScript, isso não é muito impressionante, mas também muito.
Em dezembro passado, organizamos
a conferência DartUp - havia uma sala enorme e muita gente veio. E muitos realmente usam o Dart na produção. A linguagem está se desenvolvendo gradualmente e é muito legal.
"Então, estamos a cavalo agora." Dizer "no mundo" é provavelmente pretensioso, mas, de fato, é. O DartUp é a maior conferência de Dart do mundo. Ainda mais que o Google.
- Havia cerca de trezentas pessoas na conferência. Embora dois anos atrás parecesse que estávamos sozinhos no campo dos guerreiros.
- Tudo isso é interessante, mas como trabalhar em um projeto de grande escala, se você não contratar pessoas, não haverá bibliotecas ou estruturas.- Isso é uma falácia. Recentemente, contratamos um time para quem Dart geralmente era a primeira linguagem de programação.
- Em Dart, está tudo lá. Essa é uma linguagem da categoria C # e Java - tudo o que você precisa está embutido nela. E, geralmente, não é verdade que tudo esteja vazio por lá e a queda rolar. Existe ainda mais conteúdo do que em alguns idiomas de vinte anos. Bibliotecas, ferramentas, suporte a estruturas - a Angular também está lá.
Obviamente, não há infraestrutura como no JS. Mas o problema é que, quando as pessoas escrevem milhões de bibliotecas, recebem milhões de bibliotecas ruins. E talvez apenas cem normal.
E se as bibliotecas são escritas pelo Google, que usa o Dart no AdWords e no AdSense, a qualidade média é muito maior.
A beleza da linguagem é que ela é simples e parecida com C. Ou seja, contratamos desenvolvedores em C ++, C #, Java, JavaScript - qualquer um. Não exigimos conhecimento de dardo. Naturalmente, não há desenvolvedor de dardos na rua.
Na minha equipe, há um desenvolvedor com a experiência de C Sharp, quem sabe. Na frente, ele nunca escreveu. E em cinco dias ele lavou uma matéria. Porque a linguagem é como se você a escrevesse a vida toda.
De uma maneira boa, os engenheiros de desenvolvimento escrevem a lógica de negócios, independentemente do idioma.
"Mas as pessoas não começam a escrever no idioma antigo?" Os mesmos apelidos JS vieram de uma linguagem dinâmica para uma estática.- Portanto, nosso processo de seleção não é o mais fácil. Mas justo e honesto.
- Ok, por que o idioma é bom?Eu diria que é um dos mais fortemente digitados que compila em JS. Quando nos sentamos no front-end há quatro anos e éramos cerca de oito de nós - você pode pelo menos se cobrir com todo tipo de frases, regras, tudo no mundo - mas ele ainda sentirá falta de alguma coisa. Precisávamos de uma digitação estática, o mais rigorosa possível.
No Dart, se você escrever algo errado, entenderá imediatamente. Possui detecção de erro anterior, que permite, mesmo sem testar o código, entender se funciona ou não.
Não há caos na biblioteca interna quando uma é atualizada e a outra cai. Como o SDK é fornecido com o idioma, o que garante que tudo funcione após a atualização. Você não precisa conectar um milhão de bibliotecas para obter fluxos e fluxos - tudo já está lá.
Agora, no mundo, existem dois idiomas que permitem escrever para todas as plataformas - para celular, back-end, desktop, web. Este é JS e Dart. Os contras da JS sabem quantos. E o Dart tem uma enorme vantagem de digitação.
Portanto, existe apenas um idioma digitado que permite escrever para todas as plataformas com ajuste normal. Muitos citam o Kotlin como exemplo, mas para a web não é muito.
- Agora você não se arrepende de que, por exemplo, o TypeScript não foi escolhido?- Agora não, mas em princípio não lamentamos. Aconselho que você veja o relatório de Victor Logov da JetBrains na conferência do HolyJS [
O orador provavelmente confundiu o nome, e foi um relatório de Anton Lobov ].
Eles oferecem suporte ao TypeScript em seus produtos e apenas colocam TS nas prateleiras, razoavelmente. E depois disso, não há nenhum desejo de aceitá-lo. Fica com a sensação de que os recursos aparecem no princípio de “Vamos adicionar isso? Venha.
- Para que eu acredite, me diga o que há de ruim em Dart? Pode não ser que tudo esteja perfeito.Facilmente. Existem problemas, mas não com o idioma, mas com o Google. Eles usam muitas ferramentas dentro, que não remexem. Agora temos um canal direto com o Google, fazemos parte de várias organizações internas e elas estão lentamente distribuindo essas ferramentas.
Mas isso é relevante apenas para nós, para uma base de código muito grande.Projetos pequenos não têm problemas.
- Após a experiência com o Dart, você não queria substituir o Java pelo Go?Porque? Selecionamos Dart de acordo com certos parâmetros. Foi uma decisão equilibrada.
- Um de nossos palestrantes diz que existem empresas que reescrevem tudo com novas tecnologias e empresas que ganham dinheiro. Reescrever não deve ser um fim em si mesmo. Existem tarefas de negócios e ferramentas que devem implementá-las.
- Estamos experimentando diferentes tecnologias. Se em algum momento entendermos que o Go funciona melhor, tentaremos.
No front-end, estamos caminhando para aplicativos independentes. Há um monorepositório no back-end. Há muitas vantagens nisso, mas também existem algumas desvantagens - você pode falar sobre isso por um longo tempo. Observamos a arquitetura de microsserviços com base no que será útil em nosso ambiente.
A arquitetura de microsserviço funciona bem onde há poucas conexões. Se você tiver muitas conexões, os microsserviços se transformarão em dor. Não há bala de prata. Para fazer isso, temos uma equipe inteira que explora o que é melhor usado em nosso ambiente.
Contratação de engenheiros, não especialistas em idiomas
- O que você precisa ser para chegar até você?- Aceitamos pessoas interessadas no que fazem. Este é um clichê - sobre olhos ardentes. No entanto, isso é importante. Mesmo se você é um bom desenvolvedor, mas não se importa com o que cortar, apenas trabalha das dez às seis e recebe dinheiro - com uma alta probabilidade de que isso não nos convém.
- Nós levamos pessoas que querem aprender, desenvolver. Se você acha que tudo já foi alcançado e agora o rei do mundo também não é nossa opção.
- Como temos um bom canal de feedback do desenvolvedor para os negócios e vice-versa, a abordagem "aqui, trabalhe" não é muito adequada. Tentamos contratar pessoas que estão prontas para oferecer sua visão, que têm opiniões e perguntas.
Isso leva o projeto adiante muito mais rapidamente do que se você contratar três super-idosos que dizem "meu tempo de trabalho acabou e geralmente você não me paga o suficiente". Eles farão menos do que a pessoa que corta o projeto em um dia no hackathon, o leva à produção.
- Estamos à procura de pessoas que se importam, interessadas em seguir em frente.
- Então eu vim até você, disse que sou muito decidida, tenho muita opinião, meus olhos estão pegando fogo. Eu ainda cutuquei neles com algo para brilhar, eu digo, me leve. Então pegue?- As entrevistas não são tão simples. Criamos condições próximas aos processos de trabalho e observamos como uma pessoa se mostra. Se você é um desenvolvedor, escreverá um código. Se eychar - você irá entrevistar.
- O desenvolvedor escreverá o código na entrevista?— , , .
, , . , , , , .
: « React-», — . React, ?
, . . , JS. : « Jira Wrike. ?»
, — Go, . , . , , .
— , , « », ?— . , . . , , . — . . , .
, , . , , ? . , … — , « ».
— . ?— .
Wrike , , . , . , , , .
— ?— . Gantt-. Canvas, . , , Google — , Dart . , .
— , - , ?— . . , -. Wrike, . , - , .
— ? , 400 . ?— . — . , . Cultural fit, , .
— . , ?— -5 . — . , . , , ? , .
— , , ?— , - . , , , .
— , , . . . . , , — .
— , ?— . . - .
— , ?— . , . , , , . .
— . Wrike — safe place. Google , — . , .
, , — .
— , ?— — . . , — , .