En el año 2000, cuando hh.ru era muy pequeño y cariñosamente llamado "National Job Club", y solo el 3% de los rusos tenían acceso a Internet, por supuesto, nosotros no teníamos desarrollo móvil. Entonces los teléfonos inteligentes, en su forma actual, eran solo un sueño lejano. Pasaron los años, la tecnología no se detuvo, HeadHunter creció y se desarrolló. Siempre hemos tratado de estar a la vanguardia y utilizar los últimos métodos y soluciones en los procesos de desarrollo.

Hoy hh.ru no es solo un sitio con vacantes y currículums. Creamos y utilizamos las mejores tecnologías, desarrollamos proyectos geniales en el campo de la tecnología de recursos humanos y hacemos todo lo posible para simplificar la vida de millones de personas. Para hacer esto, solo necesitamos aplicaciones móviles de alta tecnología, y hay cuatro en hh. Dos en Android y dos en iOS, por separado para empleadores y solicitantes de empleo. Los desarrolladores móviles son los superhéroes de nuestro tiempo y la caballería de la tecnología. Este artículo le dirá (y mostrará) cómo viven y trabajan los miembros del equipo móvil.

#workday
Es importante para nosotros trabajar alto. Por lo tanto, utilizamos métodos efectivos de gestión del desarrollo, suministramos a cada empleado el equipo más reciente y creamos el espacio de trabajo más conveniente.
Como trabajamos
Nos guiamos por los principios de Agile y Kanban: no tenemos plazos estrictos, y el desarrollo en sí se presenta como un flujo continuo. Esto nos permitió aumentar significativamente la productividad: por ejemplo, cuando usamos scrum, los lanzamientos ocurrían una vez al mes y con la transición a un nuevo modelo, semanalmente. Prestamos mucha atención a la automatización de los procesos de rutina, no nos gustan los movimientos excesivos del cuerpo.
Cada equipo pasa el 30% del tiempo en "Impuesto técnico", acelerando los procesos de desarrollo, eliminando el código antiguo e introduciendo nuevas tecnologías. Cada empleado tiene su propio plan de desarrollo, tabla de habilidades y soporte continuo del equipo. Cualquiera de nosotros puede compartir nuestras impresiones, ideas y hacer comentarios. El desarrollo de nuevas características ya se discute en las primeras etapas, y los propios desarrolladores deciden cuáles serán. El ciclo de vida de la función incluye cinco etapas: idea, planificación, desarrollo, demostración y comentarios. En el proceso de desarrollo, usamos Slack como el principal medio de comunicación, Jira ayuda a controlar las tareas y, para su visualización clara, tenemos tableros kanban.

Todas las mañanas tenemos stand-ups (léase: reuniones de planificación), donde analizamos y discutimos temas importantes. Si es necesario, puede hacer una cita en cualquier momento para compartir ideas con el equipo, pedir ayuda para resolver problemas y obtener apoyo. Durante los primeros meses, a los recién llegados se les asigna un sensei, que ayuda a acostumbrarse y comprender los detalles de los procesos de trabajo.
¿En qué estamos trabajando?
iOS: para la plataforma iOS, hemos desarrollado y estamos mejorando constantemente dos aplicaciones: para los solicitantes y para los empleadores, los componentes comunes se asignan a los marcos. El 75% del código está escrito en Swift, el 25% en Objective-C. Desde 2016, la nueva funcionalidad se ha escrito solo en lenguaje Swift y arquitectura VIPER. En la capa de servicio, nos adherimos al enfoque SOA. Seguimos los principios de SOLID, escribimos pruebas unitarias. Hay estilo de código para ambos idiomas, utilizamos analizadores estáticos y linter en nuestro trabajo. Las pruebas y verificaciones se ejecutan para cada grupo de solicitudes, el ensamblaje y el diseño de las aplicaciones se automatiza a través del servidor CI + fastlane. En cooperación con QA, escribimos pruebas de IU usando XCUITest. Usamos generación de código, plantillas para Xcode.
Android: también se han desarrollado dos aplicaciones para esta plataforma. Durante los últimos dos años, el desarrollo se ha llevado a cabo en el idioma Kotlin, en el que se escribe más del 70% del código. El equipo de desarrollo de Android trabaja con una pila de tecnología de vanguardia, que regularmente está sujeta a mejoras forzadas. Ahora bajo el capó RxJava 2, Toothpick, Moxy, Cicerone. En el desarrollo de aplicaciones, siempre usamos una arquitectura de módulos múltiples. Los módulos se implementan de acuerdo con los principios de Arquitectura limpia y SÓLIDO. Estamos por conveniencia, por lo tanto, tratamos de automatizar los procesos tanto como sea posible, escribir y usar plantillas, complementos para la generación de código y aplicarlos en nuestro trabajo. Casi todas las secuencias de comandos principales están cubiertas por pruebas de IU. Al escribirlos, utilizamos los marcos de alto nivel Kakao, Kaspresso y DSL para accesorios (más detalles
aquí ). Las pruebas se ejecutan utilizando Marathon en emuladores en un clúster de Kubernetes. Se ha desarrollado una guía de estilo única para aplicaciones.
Pruebas: cada equipo es multifuncional y trabaja en el proyecto desde la idea hasta el lanzamiento. Nuestros evaluadores trabajan dentro de equipos y participan en el trabajo sobre características desde el comienzo de su desarrollo hasta el lanzamiento de la producción. Hasta ahora, por desgracia, no todo el proceso de prueba se ha automatizado, pero estamos luchando por esto: los planes para el futuro cercano incluyen cobertura total con autotest.
Mientras trabajamos en las funciones o las correcciones de errores, utilizamos pruebas exploratorias, así como la cantidad de regresión que determina el probador. Dependiendo de la tarea, los especialistas eligen los métodos y herramientas necesarios para las pruebas. También es conveniente tomar estadísticas y analizar incidentes: los evaluadores obtienen acceso completo a las aplicaciones y las bases de códigos en el banco de pruebas.
Donde trabajamos
La oficina de hh.ru se encuentra en Moscú, entre las estaciones de metro Alekseevskaya y VDNH. Muchos en la infancia soñaban con ingresar al espacio exterior, y los sueños se hicieron realidad parcialmente: en nuestra oficina hay 5 pisos de espacio abierto dividido en zonas. El equipo de desarrollo móvil es parte del Departamento Técnico, que ocupa un piso completo.
El desarrollo se divide en 23 equipos, y 4 de ellos solo se ocupan de aplicaciones móviles. Hoy hay 25 combatientes en hh Mobile, y para fin de año planeamos expandir el personal a alrededor de 35. Cada equipo tiene un cliente interno, el propietario del producto, cuya tarea es garantizar que nadie se aburra sin un proyecto. Al mismo tiempo, estamos listos para implementar cualquier idea de nuestros empleados si resulta interesante.
No reconocemos ninguna barrera: los equipos se sientan juntos; es más conveniente trabajar y discutir temas emergentes.

El gran espacio abierto se divide en áreas de comando mediante estanterías y estanterías con libros y plantas. Si lo desea, puede esconderse detrás de una palmera.

Intentamos estar siempre en la misma longitud de onda. En nuestro bungalow hay una tabla para todos.

En cada piso hay un puerto tranquilo con frutas frescas, verduras, galletas, té y café, una cocina. Allí puedes pecar con una máquina de café, obtener comida como quieras y prepararte jugo recién exprimido. Mientras mastica una galleta o destruye un plátano, puede chatear con colegas; nos gusta hablar.

Lampovo!

La ecología es importante. Somos para el medio ambiente, por lo tanto, apoyamos y promovemos iniciativas útiles: recolectamos “tapas buenas” (de botellas), “cosas buenas”, papel usado, electrodomésticos, baterías y plástico para reciclar, y también utilizamos vasos de papel reciclado.

Hay un gimnasio en la planta baja, porque el deporte, como saben, es paz, y somos muchachos muy pacíficos. En la pantalla de carga en DOOM dice: "Continuamente muévete, el infierno devora a los inactivos". Nos estamos mudando aquí:

Espacio de trabajo
El crecimiento es inevitable, más personas = más oportunidades, por lo que tratamos de ajustar el espacio de trabajo para todos, de modo que sea agradable para todos. Realizamos una encuesta y los resultados identificaron 2 grupos: fanáticos del espacio abierto y adherentes a la soledad. Con base en los resultados, reparamos todos los pisos: por un lado, combinamos los espacios, por otro, ponemos cabinas para conversaciones telefónicas, salas de reuniones con sillas suaves para reuniones de equipo y para trabajar en tareas complejas que requieren la máxima concentración en completo silencio.
Los lugares de trabajo del equipo móvil son minimalistas, por lo que todos pueden organizarlo a su gusto: poner fotos o pegatinas y arrastrar una guitarra y juguetes favoritos desde casa. El área del espacio de trabajo le permite fantasear y experimentar con el diseño. Si el desastre en la mesa no es un desastre, este es un experimento. Cada miembro del equipo tiene:
- MacBook Pro, monitores adicionales, carga adicional para computadora portátil

- impresionantes sillas Herman Miller Aeron, obedientes y receptivas a las curvas de los asientos (¡como el Dr. House!)

- Kinnarps y mesas transformadoras de efectos suaves con altura ajustable. Con un movimiento fácil, la mesa de la oficina se convierte en una elegante barra de bar.

Para controlar la efectividad de las aplicaciones en todos los dispositivos móviles posibles, hemos creado un cofre del tesoro de moda: los dispositivos iOS y Android más populares se almacenan allí, así como un par de modelos obsoletos. Este es un gabinete muy inteligente: todas las mañanas carga todos los teléfonos inteligentes y tabletas, y una vez a los pocos días organiza el exterminio con luz ultravioleta, destruyendo los microbios.
Si necesita probar una aplicación o una característica individual, puede sacar el prodigio necesario del estante y luego devolverlo a su lugar.

Cuanto trabajamos
En hh.ru hay un día laboral de 8 horas y una hora libre que cualquiera puede pasar como quiera. Somos flexibles, lo principal para nosotros es el resultado. Para mantenerse al día con las tendencias y no perder la comunicación, debe mantenerse al día con el stand-up de la mañana y estar en la oficina de 12:00 a 18:00. En diferentes equipos, el stand-up comienza en diferentes momentos, en promedio de 10:30 a 12:30. En casos extremos, siempre puede trabajar de forma remota a través de una VPN.

¿Cómo nos relajamos?
Quién sabe cómo relajarse bien, eso funciona perfectamente. Y descansamos profesionalmente: realizamos torneos corporativos en tenis de mesa, remo, fútbol, vamos a ver películas después del trabajo. Tenemos nuestro propio club de oradores donde todos pueden practicar su oratoria (y no es necesario obtener un bocado de piedras), una increíble sala de masajes y clases de yoga dos veces por semana. También organizamos eventos geniales. Bueno, ¡algunos colegas incluso vuelan de vacaciones juntos!
Así es como conquistamos Kazbek:



¿Cómo aprendemos?
Estamos en una búsqueda constante de nuevos conocimientos, compartirlos entre nosotros y organizar reuniones internas donde cualquiera puede cubrir un tema relacionado con el trabajo.
En cualquier situación incomprensible, enviamos a nuestros desarrolladores a conferencias: escuche, chatee, comparta experiencias. Si quieres hablar, te ayudamos con la preparación, carreras y presentación.
Y mas! Todos los años tenemos una Escuela de Programadores: esta es una capacitación de seis meses en programación y temas relacionados. Nuestros mejores especialistas imparten conferencias allí, y también realizan talleres y capacitaciones sobre discursos para conferencistas y oradores en conferencias.
Parte del equipo, parte del barco.
Estamos desarrollando activamente, están surgiendo nuevos equipos móviles en nuestro país, y en relación con esto, estamos constantemente buscando nuevos luchadores.
Ver las vacantes actuales
en el enlace .
Estamos encantados de enfriar especialistas, de verdad. Comparte información, recomiéndanos y ven a ti mismo.