Em 2000, quando o hh.ru era muito pequeno e carinhosamente chamado de "National Job Club", e apenas 3% dos russos tinham acesso à Internet, é claro que não tínhamos desenvolvimento móvel. Então os smartphones, em sua forma atual, eram apenas um sonho distante. Anos se passaram, a tecnologia não parou, o HeadHunter cresceu e se desenvolveu. Sempre buscamos dar um passo à frente e usar os métodos e soluções mais recentes nos processos de desenvolvimento.

Hoje hh.ru não é apenas um site com vagas e currículos. Criamos e usamos tecnologias de ponta, desenvolvemos projetos interessantes no campo da tecnologia de RH e estamos fazendo o possível para simplificar a vida de milhões de pessoas. Para fazer isso, precisamos apenas de aplicativos móveis de alta tecnologia, e existem quatro em hh. Dois no Android e dois no iOS, separadamente para empregadores e candidatos a emprego. Os desenvolvedores de dispositivos móveis são os super-heróis do nosso tempo e a cavalaria da tecnologia. Este artigo mostrará (e mostrará) como os membros da equipe hh Mobile vivem e trabalham.

#workday
É importante para nós trabalharmos alto. Portanto, usamos métodos eficazes de gerenciamento de desenvolvimento, fornecemos a cada funcionário os equipamentos mais recentes e criamos o espaço de trabalho mais conveniente.
Como trabalhamos?
Somos guiados pelos princípios do Agile e do Kanban: não temos prazos rígidos e o próprio desenvolvimento é apresentado como um fluxo contínuo. Isso nos permitiu aumentar significativamente a produtividade: por exemplo, quando usamos o scrum, os lançamentos aconteciam uma vez por mês e com a transição para um novo modelo - semanalmente. Prestamos muita atenção à automação de processos de rotina, não gostamos de movimentos corporais excessivos.
Cada equipe gasta 30% do tempo em "Taxa técnica" - acelerando os processos de desenvolvimento, removendo o código antigo e introduzindo novas tecnologias. Cada funcionário tem seu próprio plano de desenvolvimento, tabela de habilidades e suporte contínuo à equipe. Qualquer um de nós pode compartilhar nossas impressões, idéias e fazer comentários. O desenvolvimento de novos recursos já é discutido nos estágios iniciais, e os próprios desenvolvedores decidem o que serão. O ciclo de vida do recurso inclui cinco estágios: ideia, planejamento, desenvolvimento, demonstração e feedback. No processo de desenvolvimento, usamos o Slack como o principal meio de comunicação, o Jira ajuda a controlar as tarefas e, por sua exibição clara, temos quadros kanban.

Todas as manhãs realizamos stand-ups (leia-se: planejando reuniões), onde analisamos e discutimos tópicos importantes. Se necessário, você pode marcar uma consulta a qualquer momento para compartilhar idéias com a equipe, pedir ajuda na solução de problemas e obter suporte. Nos primeiros meses, os novatos recebem um sensei, que ajuda a se acostumar e a entender os detalhes dos processos de trabalho.
No que estamos trabalhando?
iOS: para a plataforma iOS, desenvolvemos e estamos constantemente aprimorando dois aplicativos: para candidatos e empregadores, os componentes comuns são alocados às estruturas. 75% do código está escrito em Swift, 25% em Objective-C. Desde 2016, novas funcionalidades foram escritas apenas na linguagem Swift e na arquitetura VIPER. Na camada de serviço, aderimos à abordagem SOA. Seguimos os princípios do SOLID, escrevemos testes de unidade. Existe um estilo de código para os dois idiomas; usamos analisadores estáticos e linter em nosso trabalho. Testes e verificações são executados para cada pool de solicitações, a montagem e o layout dos aplicativos são automatizados através do servidor de CI + via rápida. Em cooperação com o controle de qualidade, escrevemos testes de interface do usuário usando XCUITest. Usamos geração de código, modelos para o Xcode.
Android: dois aplicativos também foram desenvolvidos para esta plataforma. Nos últimos dois anos, o desenvolvimento foi feito na linguagem Kotlin, na qual mais de 70% do código é escrito. A equipe de desenvolvimento do Android trabalha com uma pilha de tecnologia de ponta, que é regularmente submetida a melhorias forçadas. Agora sob o capô RxJava 2, Palito, Moxy, Cicerone. No desenvolvimento de aplicativos, sempre usamos uma arquitetura de vários módulos. Os módulos são implementados de acordo com os princípios da Arquitetura Limpa e do SOLID. Por conveniência, tentamos automatizar os processos o máximo possível, escrever e usar modelos, plug-ins para geração de código e aplicar em nosso trabalho. Quase todos os principais scripts são cobertos por testes de interface do usuário. Ao escrevê-los, usamos as estruturas de alto nível Kakao, Kaspresso e DSL para acessórios (mais detalhes
aqui ). Os testes são executados usando o Marathon em emuladores em um cluster Kubernetes. Um guia de estilo exclusivo foi desenvolvido para aplicativos.
Teste: cada equipe é multifuncional e trabalha no projeto desde a ideia até o lançamento. Nossos testadores trabalham em equipe e participam do trabalho em recursos desde o início de seu desenvolvimento até o lançamento da produção. Até agora, infelizmente, nem todo o processo de teste foi automatizado, mas estamos nos esforçando para isso: os planos para o futuro próximo incluem cobertura total com autotestes.
Enquanto trabalhamos em recursos ou correções de bugs, usamos testes exploratórios, bem como a quantidade de regressão que o testador determina. Dependendo da tarefa, os especialistas escolhem os métodos e ferramentas necessários para o teste. Também é conveniente coletar estatísticas e analisar incidentes - os testadores têm acesso total aos aplicativos e às bases de código no banco de testes.
Onde trabalhamos?
O escritório hh.ru está localizado em Moscou, entre as estações de metrô Alekseevskaya e VDNH. Muitos na infância sonhavam em entrar no espaço sideral e os sonhos parcialmente se realizaram - em nosso escritório, existem 5 andares de espaço aberto dividido em zonas. A equipe de desenvolvimento móvel faz parte do departamento técnico, que ocupa um andar inteiro.
O desenvolvimento é dividido em 23 equipes, e 4 delas lidam apenas com aplicativos móveis. Hoje existem 25 lutadores na hh Mobile e, até o final do ano, planejamos expandir a equipe para cerca de 35. Cada equipe tem um cliente interno - Dono do produto, cuja tarefa é garantir que ninguém fique entediado sem um projeto. Ao mesmo tempo, estamos prontos para implementar qualquer idéia de nossos funcionários, se isso for interessante.
Não reconhecemos nenhuma barreira: as equipes se reúnem - é mais conveniente trabalhar e discutir questões emergentes.

O grande espaço aberto é dividido em áreas de comando por estantes e prateleiras com livros e plantas. Se desejar, você pode se esconder atrás de uma palmeira.

Tentamos sempre estar no mesmo comprimento de onda. No nosso bangalô, há uma placa para todos.

Em cada andar, há um porto tranquilo com frutas frescas, legumes, biscoitos, chá e café - uma cozinha. Lá você pode pecar com uma máquina de café, obter comida como quiser e preparar suco espremido na hora. Enquanto mastiga um biscoito ou destrói uma banana, você pode conversar com colegas - gostamos de conversar.

Lampovo!

A ecologia é importante. Somos a favor do meio ambiente, por isso apoiamos e promovemos iniciativas úteis: coletamos “Boas tampas” (de garrafas), “Boas coisas”, resíduos de papel, eletrodomésticos, baterias e plástico para reciclagem, e também usamos copos de papel reciclado.

Há uma academia no térreo, porque o esporte, como você sabe, é paz, e nós somos homens extremamente pacíficos. Na tela de carregamento do DOOM, diz: "Mova-se continuamente, o inferno devora os ociosos". Estamos nos mudando para cá:

Espaço de trabalho
O crescimento é inevitável, mais pessoas = mais oportunidades, por isso tentamos ajustar o espaço de trabalho para todos, para que seja agradável para todos. Realizamos uma pesquisa e os resultados identificaram 2 grupos - fãs do espaço aberto e adeptos da solidão. Com base nos resultados, reparamos todos os pisos: por um lado, combinamos espaços, por outro, colocamos cabines para conversas telefônicas, salas de reuniões com poltronas para reuniões de equipe e para trabalhar em tarefas complexas que exigem concentração máxima em completo silêncio.
Os locais de trabalho da equipe móvel são minimalistas, para que todos possam organizar o que quiserem - colocar fotos ou adesivos e arrastar um violão e brinquedos favoritos de casa. A área do espaço de trabalho permite que você fantasia e experimente o design. Se a bagunça na mesa não estiver nada bagunçada, é um experimento. Cada membro da equipe possui:
- MacBook Pro, monitores adicionais, carregamento adicional de laptop

- cadeiras Herman Miller Aeron deslumbrantes, obedientes e receptivas às curvas dos sentados (assim como o Dr. House!)

- Mesas transformadoras Kinnarps e Soft com altura ajustável. Com um movimento fácil, a mesa do escritório se transforma em um elegante balcão de bar.

Para controlar a eficácia dos aplicativos em todos os dispositivos móveis possíveis, criamos um baú da moda: os dispositivos iOS e Android mais populares são armazenados lá, bem como alguns modelos desatualizados. Este é um gabinete muito inteligente: todas as manhãs ele carrega todos os smartphones e tablets e, alguns dias depois, organiza o exterminatus com luz ultravioleta, destruindo micróbios.
Se você precisar testar um aplicativo ou um recurso individual, poderá retirar o prodígio necessário da prateleira e devolvê-lo ao seu lugar.

Quanto trabalhamos?
No hh.ru, há um dia útil de 8 horas e uma hora livre que qualquer um pode gastar como bem entender. Somos flexíveis, o principal para nós é o resultado. Para acompanhar as tendências e não perder a comunicação, você precisa acompanhar a sessão da manhã e estar no escritório das 12h às 18h. Em equipes diferentes, o stand-up começa em horários diferentes, em média das 10:30 às 12:30. Em casos extremos, você sempre pode trabalhar remotamente através de uma VPN.

Como relaxamos?
Quem sabe relaxar bem, isso funciona perfeitamente. E descansamos profissionalmente: realizamos torneios corporativos de tênis de mesa, remo, futebol, vamos assistir filmes depois do trabalho. Temos nosso próprio clube de oradores, onde todos podem praticar seu oratório (e não é necessário ter um bocado de pedras), uma incrível sala de massagem e aulas de ioga são realizadas duas vezes por semana. Também organizamos eventos legais. Bem, alguns colegas até viajam juntos de férias!
Foi assim que conquistamos o Kazbek:



Como aprendemos?
Estamos em constante busca de novos conhecimentos, compartilhamos uns com os outros e organizamos reuniões internas onde qualquer um pode abordar um tópico relacionado ao trabalho.
Em qualquer situação incompreensível, enviamos nossos desenvolvedores para conferências - escute, converse, compartilhe experiências. Se você quiser falar, ajudamos na preparação, execução e apresentação.
E mais! Todos os anos, realizamos uma Escola de Programadores - este é um treinamento de seis meses em programação e tópicos relacionados. Nossos principais especialistas ministram palestras no local e também realizam workshops e treinamento em discursos para professores e palestrantes de escolas em conferências.
Parte da equipe, parte do navio
Estamos desenvolvendo ativamente, novas equipes móveis estão surgindo em nosso país e, em conexão com isso, estamos constantemente à procura de novos lutadores!
Veja as vagas atuais
no link .
Temos o prazer de destacar especialistas, realmente. Compartilhe informações, recomende-nos e venha você mesmo.