La décima conferencia CodeFest se celebró en Novosibirsk. El programa fue muy agitado: diez secciones sobre desarrollo, pruebas, diseño, gestión y desarrollo. Los empleados de True Engineering han esbozado los informes durante dos días, ahora queremos compartir este beneficio con usted.
Esperamos que nuestra revisión sea útil para aquellos que verán videos de actuaciones. Algunas de las presentaciones ya se han publicado en el dominio público, por lo que hemos complementado algunas revisiones con enlaces a ellas. Los informes están ordenados por secciones.

Diseño
Cómo mostrar la interfaz a alguien que no ve - Valeria Kurmak
Nos enganchó un informe de Valeria Kurmak de Sberbank sobre la optimización del software para personas con discapacidades.
El mensaje principal del informe es que, de hecho, hay muchas personas con discapacidad. Y estas no son solo personas absolutamente ciegas. Estos son todos aquellos que ya no pueden ver tan claramente como en la juventud: nuestros abuelos, padres y madres. Estos son nuestros amigos que perdieron temporalmente su capacidad de trabajar debido a lesiones físicas. Esto es del 2 al 8% de los hombres que tienen dificultades para percibir los colores.
Pero esas personas no necesitan una versión separada de su aplicación: todo ha sido inventado durante mucho tiempo. Al hacer que su sitio web sea escalable, lo hace accesible para millones de personas. Usando controles estándar o diseño semántico, usted ayuda mucho a sus usuarios.
Valeria junto con el personal de Sberbank hizo una excelente guía sobre este tema. La guía se divide en varios tutoriales cortos para diferentes roles:
- para diseñadores
- para desarrolladores de iOS,
- para desarrolladores de Android,
- para desarrolladores web
- e incluso para gerentes.
Lo puedes encontrar
aquí .
Backend
TCP está muerto o el futuro de los protocolos de red - Alexander Tobol ( presentación )
Completamente repleto de conocimientos útiles, el informe sobre el dispositivo de protocolo TCP y los problemas que, en las condiciones de las redes modernas de comunicaciones móviles, conducen al límite de utilización y la capacidad del canal.
En Odnoklassniki, la entrega de contenido de video y noticias juega un papel crucial en el éxito del servicio. Con una pequeña cantidad de paquetes perdidos y un aumento en la latencia de la red, su utilización se reduce a casi el 50%. Para resolver el problema, la compañía está cortando sus propios protocolos para cada tipo de tráfico para reemplazar TCP. (Google hace lo mismo, QUIC). Gran respeto a los muchachos por no tener miedo de sacudir los cimientos fundamentales.
El nuevo estándar http / 2 también se ejecuta en el cuello de TCP, por lo que el objetivo correcto para los sistemas cliente-servidor es http / 3, que se ejecuta sobre QUIC.
Como resultado, Odnoklassniki recibió un buen aumento en el rendimiento del sistema. La demostración fue visualmente visible la aceleración múltiple de la carga de cinta. Odnoklassniki también fue el primero en el mundo en transmitir video HD en vivo. Ejemplo: por alguna razón, los camioneros estadounidenses adoran transmitir grabaciones viales a la red. Aparentemente, lo usan como DVR.
Teamlead
Refactorización: ¡estamos de acuerdo, planificamos, implementamos! - Alexey Kataev ( presentación )
Alexey afirma que durante los diez años de historia de Skyeng, nunca han reescrito su aplicación desde cero. ¿Cómo mantienen la calidad del código? Es simple: refactorizan :) El informe en sí mismo no trata en absoluto sobre qué medios técnicos se deben refactorizar, sino sobre cómo convencer al gerente de su necesidad.
Lo primero que deben hacer los desarrolladores es dejar de quejarse de que la aplicación debe ser refactorizada durante mucho tiempo y, en su lugar, encontrar un lenguaje común con el administrador y estar de acuerdo. En resumen, configure de antemano las tareas de deuda técnica en el trabajo atrasado de su proyecto, evalúelas, priorícelas y comuníquese con el gerente con propuestas específicas. Y asegúrese de leer el libro de Gavin Kennedy, ¡Puede ponerse de acuerdo en todo!
La segunda idea importante del informe es no mentir. No incluya refactorización en las clasificaciones de características. Esto hace que el proceso de desarrollo sea menos transparente. Corre el riesgo de revolcarse en la refactorización, ya que deja de monitorear el tiempo dedicado a ello.
Alex también contó cómo usan los bots de telegramas para planificar la refactorización, y también compartió un par de listas de verificación y una lista de principios de su equipo. Me gustaría agradecerle nuevamente por una de las presentaciones más útiles sobre Codefest X.
Sobre el chovinismo de ingeniería: ser un gerente repugnante - Eugene Kot
Informe premium, compañías de teatro nerviosamente envidiosas. El orador es muy talentoso, vale la pena prestar atención a sus otros informes. Una presentación maravillosa en forma de una historia sobre los problemas psicológicos de la transformación de un ingeniero en un líder de equipo.
Recomendado para visualización regular para aquellos que eligen entre la administración y profundizar en arquitectura y hacer preguntas:
- Si me convierto en un líder de equipo, no seré reclamado,
- Si me convierto en un líder de equipo, no podré codificar,
- Si me convierto en un líder de equipo, entonces, ¿dónde debo desarrollarme?
El orador les respondió y también introdujo la abreviatura "Síndrome de S.O.S.O.": miedo, desesperación, vergüenza, alienación. Y más adelante en todos los juegos de palabras, descubrí de dónde vienen estas emociones y cómo lidiar con ellas.
Móvil
iOS Todo es MVC: ¿por qué necesitamos otras arquitecturas? - Evgeny Rtishchev
Un informe muy completo de que MVC en iOS no es percibido por muchos como completamente correcto, y que en realidad esto no es malo. Curiosamente, hace unos años, Eugene hizo un
informe contra MVC sobre Mobius , y luego se dio cuenta de todo. Observó los diferentes tipos de controladores con ejemplos del SDK, las ventajas de esta arquitectura y explicó dónde crecen las raíces de los problemas que se destacan al trabajar con MVC.
Consejos que Eugene comparte:
- usar 4 tipos de controladores,
- compartir responsabilidades
- evitar la cohesión
- diseño de modelo,
- cambios de interfaz rápidos y fáciles,
- controlador de vista masivo: un problema descabellado.
Es especialmente interesante escuchar el informe cuando ya ha probado MVCC, MVVM, MVP, VIPER u otras arquitecturas y comparte el dolor y las ventajas que existen en cada una de ellas. Me hace pensar cada vez más que, en general, no es como se llama el patrón arquitectónico.
Pruebas de interfaz de usuario de iOS E2E: mucho, verde y con solicitud de extracción - Artyom Razinov
Artyom habló sobre cómo al reducir el volumen de las pruebas de regresión obligatorias y aumentar el volumen de las pruebas de IU, el equipo redujo significativamente el tiempo de las pruebas de regresión de una aplicación grande y comenzó a lanzarse con más frecuencia.
Fue útil escuchar sobre técnicas y técnicas que pueden usarse para lograr resultados óptimos. Recuerdo especialmente estos:
- evaluar la idoneidad de las pruebas de IU en función de la frecuencia de los lanzamientos y el tiempo para actualizar las pruebas,
- Análisis de impacto, para no ejecutar todas las pruebas cada vez,
- carreras completas regulares,
- Paralelizar las pruebas para acelerar.
Recomendamos este informe a los desarrolladores móviles.
Aplicaciones instantáneas de Android, dos años después - Evgeny Saturov
En 2017, se introdujo una herramienta como Instant Apps, en términos simples, esta es una aplicación con inicio instantáneo. Surf tuvo acceso temprano a esta función.
Eugene dijo qué problemas encontraron en el proceso de desarrollo y prueba. En primer lugar, había un SDK duro que venía con un archivo zip. En segundo lugar, no había documentación. También era necesario soportar requisitos estrictos en la arquitectura de la aplicación. La aplicación no podía pesar más de 3 MB y tenía que dividirse en módulos.
Después del desarrollo, dos años después, Google introdujo otra solución: Android Dynamic Feature Delivery, que le permite hacer casi lo mismo, pero con diferentes limitaciones. El nuevo SDK tampoco es particularmente estable, difícil de probar y tiene muchos errores y muletas. Una de las principales limitaciones es que debes darle a Google tu clave, con la cual se firma la aplicación.
Eugene compartió consejos sobre qué leer y cómo resolver todos estos problemas. Él habló sobre su experiencia usando Dynamic Feature Delivery, resumiendo el hecho de que todavía es algo crudo.
Android Herramientas para resolver problemas en un gran equipo - Vladimir Tebloev
Sberbank tiene un gran equipo de desarrollo de Android: más de 100 personas trabajan en un proyecto. En algún momento, el equipo comenzó a crecer y los desarrolladores tuvieron que controlar de alguna manera. En el informe, Vladimir compartió un conjunto de prácticas y consejos que pueden ayudar a interactuar con el equipo, incluso si trabajan menos personas allí.
Por ejemplo, a los nuevos empleados siempre se les asigna un mentor. Para los principiantes, hay una base de conocimiento: guías sobre diseño, arquitectura, convención de códigos, cómo se organizan las pruebas y la documentación en Confluence: todo está escrito hasta el punto de clonar un proyecto.
Esto no significa que todo esté limitado a una pila. Para las nuevas tecnologías, la compañía desarrolla buenas y malas prácticas en módulos separados, y luego hace una guía sobre el uso de esta tecnología. El proceso está estructurado de la siguiente manera: probaron, escribieron prácticas, probaron la necesidad de esta tecnología, después de lo cual el equipo la puso en uso.
Una idea interesante de Vladimir de que a veces una dictadura es un mal necesario. Si escuchas y tratas de complacer a cada una de las 130 personas, nada bueno saldrá de eso. A veces necesitas decir prescriptivamente: "Hacemos esto". Esta certeza también es transmitida por estas guías.
Productos
Cómo la inteligencia artificial se convierte en nueva electricidad - Ivan Yamshchikov
El informe es del mismo Ivan Yamshchikov que participó en la creación de la red neuronal, que escribió
varias canciones al estilo de Yegor Letov.
El autor cree que la inteligencia artificial cambiará nuestro mundo tanto como alguna vez fue cambiado por la electricidad. El principal mensaje práctico del informe fue que ya era hora de comenzar a pensar en lo que podría automatizarse utilizando inteligencia artificial. Hubo un tiempo en que la electricidad permitió automatizar muchas industrias que anteriormente usaban la fuerza física. Ahora, la inteligencia artificial puede reemplazar a las personas en actividad intelectual, por ejemplo, al trabajar con documentos. La inteligencia artificial no se cansa, hay grandes cantidades de datos disponibles y no se equivoca.
El informe le da la sensación de que el futuro ya está aquí.
Frontend
Inmerso en la web - Luis Diego González Zuniga
El orador habló sobre qué es la red inmersiva (inmersión, creando el efecto de inmersión, presencia). El navegador Samsung, según sus estadísticas, ocupa el cuarto lugar en uso en Rusia. Suena extraño, pero quizás esto se deba al hecho de que el navegador predeterminado está instalado en el nuevo Samsung.
En general, estamos hablando de integrar la realidad virtual (WebXR) en los navegadores. El resultado es un navegador con una amplia gama de características, que incluyen varios gamepads, joysticks, etc. justo dentro de él.
Gonzales también habló sobre las diferencias entre VR (realidad virtual) y AR (realidad aumentada), y cómo juntos forman XR. Según él, "XR cubre plataformas y contenido donde el usuario puede tomar objetos digitales para la realidad o, por el contrario, ver objetos físicos presentes en la escena digital". El orador también mostró cómo habilitar el modo de realidad virtual en el navegador Samsung. Durante la demostración, detecté un error, pero me aseguró que "todo funcionó antes del informe".
Como resultado, lo que se muestra parece realmente interesante. Estamos esperando que tales decisiones lleguen a las masas y será posible instalar la aplicación o el navegador en cualquier teléfono inteligente.
Hasta que se publique el informe, la web inmersiva de Samsung se puede encontrar
aquí .
Futuro
Tendencias de lo imposible - Evgeny Chereshnev ( presentación )
Evgeny Chereshnev - investigador y periodista de TI, participante en la conferencia TED de Nueva York. El informe fue perfecto para abrir la sección Futuro. En él, Eugene tocó temas que no pensamos en la vida cotidiana, pero que nos esperan en un futuro quizás cercano. En general, se trataba de innovación.
Hay varios pensamientos básicos:
- Todos somos únicos desde el nacimiento, pero el sistema nos adapta a la comunidad. Una persona que pudo mantener al niño dentro de sí mismo conserva la curiosidad inherente a los niños, y con ella la oportunidad de buscar e inventar algo nuevo. En el informe se hace referencia a esas personas como "el niño que sobrevivió".
- La innovación solo es posible en pequeñas empresas, startups. Las grandes empresas, como las personas, con la edad y el crecimiento pierden su capacidad de introducir algo realmente nuevo, porque les resulta demasiado arriesgado.
- Los problemas en las innovaciones en las startups rusas se deben principalmente al hecho de que "un ingeniero ruso generalmente no se trata de dinero", lo que significa que muchas empresas se agotan al principio simplemente porque piensan en una categoría de "hágalo bien", pero no de manera rentable. Chereshnev dice que necesita poder vender el producto: "primero dinero, luego código".
- Uno de los pensamientos clave del informe y Codefest en su conjunto es que pronto la inteligencia artificial estará en todas partes. Los robots comenzarán a desplazar gradualmente a una persona, porque no hay necesidad, por ejemplo, de un trabajador en una fábrica, si un robot lo hace mejor, lo que todavía no necesita ser pagado. En respuesta a tales tendencias, el orador dice que el ADN humano es el mismo código, datos, lo que significa que puede trabajar con ellos. La única forma de que la humanidad continúe existiendo en modo normal es transformarse, mejorar como un código. Eugene mismo, por ejemplo, ya ha implantado un chip en su mano. Quién sabe, tal vez en 50 años todos seamos un poco cyborgs.
Además, Eugene ya habló sobre tendencias más pronunciadas, lo que se desarrollará en el futuro cercano:
- Ecoenergía
- Medicina automatizada (el bot responderá a las quejas de los pacientes, por lo que desaparecerá la necesidad de visitar al terapeuta),
- Omni education (en el futuro cercano, una persona no tendrá una especialidad, tendrá que tener varias especialidades a la vez para poder cambiar entre ellas a tiempo).
Eugene finalizó su informe diciendo que la innovación es inevitable y que la evolución "se extiende a todo, vivir y no vivir".
Por qué ser bueno para todos no es demasiado bueno. Y no será - Alexander Orlov
“¿Por qué te bombardean las palabras y acciones de algunas personas? ¿Por qué no puedes insistir en hablar con alguien?
Este es un informe útil sobre mapas de realidad, confrontación constructiva, sobre las necesidades que satisfacemos en el proceso de trabajo, sobre cómo pasar de la molestia al interés, de "estoy en lo cierto, pero no lo estás" a "¿por qué es así contigo?" ¡Será útil para todos los que interactúen con otras personas, es decir, en general para todos!
Es gracioso que al día siguiente la técnica de la que habló Alexander fue útil: antes de sacar conclusiones y estar molesto, puede decir directamente sobre sus expectativas y preguntar por qué la persona con la que está hablando o piensa de manera diferente. Entonces puede resultar que no hay ningún problema en absoluto, y simplemente tiene una visión diferente.
Problemas no tecnológicos de productos "inteligentes" - Andrey Servant ( presentación )
El informe se dedicó al hecho de que no es suficiente crear algo innovador, ya sea inteligencia artificial o vehículos no tripulados; es importante preparar a las personas para el hecho de que las innovaciones no son peligrosas y beneficiarán a la sociedad.
Sebrant identifica tres puntos principales sobre cómo preparar a las personas para la innovación:
- no es necesario que hable sobre el producto de la misma manera que se lo diría a su compañero desarrollador: una persona que no está inmersa en el tema, esto no está claro,
- En las comunicaciones con los consumidores, no se debe hacer hincapié en la racionalidad, sino en las emociones, para que el producto sea una fuente de emociones para el consumidor.
- El producto del usuario final debe ser mágico, no un instrumento.
Los vehículos no tripulados son un ejemplo de esta innovación. Ahora es fácil encontrar en Internet cuántos temores causan estos automóviles: no son seguros, trasladarán a las personas, sufrirán accidentes, no están hechos para las carreteras rusas, etc.
Sebrant dice que tales autos se han convertido en "electricidad nueva", también tenían miedo a la electricidad, y ahora no podemos imaginar nuestra vida sin una bombilla común.
Habló sobre la experiencia de manejar las emociones usando el ejemplo de un taxi no tripulado desarrollado por Yandex. Las primeras pruebas en las carreteras se llevaron a cabo con un conductor adentro, que simplemente se sentó y no hizo nada: el automóvil se condujo solo. Tal demostración no impresionó a los espectadores no preparados. La presencia de una persona dentro del automóvil sugiere que es él quien controla el automóvil.
Las siguientes pruebas se llevaron a cabo en un campo de entrenamiento cerrado, donde era posible arrancar el automóvil sin conductor. La oportunidad de experimentarla se ofreció a las mismas personas comunes que fueron espectadores la última vez. El efecto de un automóvil en movimiento con el asiento del conductor vacío es difícil de describir. La gente miraba el mismo auto de una manera completamente nueva: se creó el efecto mismo de "magia, no una herramienta".
Tres pequeñas cucarachas en el camino hacia un gran futuro - Maxim Dorofeev
( presentación )
El informe fue significativamente diferente de otros informes en la sección Futuro: no hablaba del futuro, sino de lo que enfrentamos todos los días: por qué nos cansamos, por qué no tenemos tiempo para hacer algo, por qué no estamos creciendo, etc. Las principales causas de estos problemas cotidianos Dorofeev llama "tres cucarachas".
- La primera cucaracha: "Esto no es urgente, luego más tarde". El error de muchas personas: hay tareas urgentes, no hay tareas urgentes. La secuencia de su implementación suele estar determinada únicamente por un indicador de urgencia, pero no de importancia; esto está mal.
- La segunda cucaracha: "Ahora lo resolveré con un poco". Vienes por la mañana y comienzas a hacer tareas poco a poco, cada una de las cuales toma alrededor de 10-15 minutos, y como resultado hay muchas de ellas y no queda tiempo para algo realmente importante.
- Tercera cucaracha: "¿Qué pasa si hay algo urgente allí?" Seguramente la situación es familiar para todos: usted trabaja y, al mismo tiempo, alguien le envía una carta o mensaje en Skype con algún tipo de tarea "importante": está distraído, todo se hizo y nada se hizo. También hay un efecto de falsa importancia: en el momento en que la tarea te parece más importante de lo que es, la envías a alguien más, a esa persona comienza a parecerle aún más importante. Al final de la cadena, un desarrollador asustado comienza a entrar en pánico para hacer rápida y rápidamente esta tarea inicialmente sin importancia.
Dorofeev dice que todos debemos evitar reunirnos con estas cucarachas en el trabajo y en la vida en general.
Una idea importante en el informe es también la división de tareas en "rojo" y "verde". Las tareas "rojas" son tareas urgentes, cuyo fracaso será seguido por un castigo inevitable. Las tareas "verdes" son tareas interesantes e importantes para el desarrollo, que generalmente se posponen debido a la rotación. Es mejor tener las tareas "rojo" y "verde", hacer ambas al menos de alguna manera, pero obtener un resultado más útil que hacer solo la tarea "roja", pero bueno.
En general, el informe contenía una gran cantidad de consejos prácticos para cada día, archivados de manera muy accesible y con humor. Dichos informes deben ser observados.
El auto del futuro. Analizamos Tesla para soluciones de ingeniería e ideas innovadoras - Igor Antarov
El informe es casi imposible de volver a contar en formato de texto: la presentación contiene una gran cantidad de materiales, una historia sobre Mask, sobre lo que hace además de Tesla, etc. Veamos los hechos más interesantes:
- Los autos eléctricos pueden dominar el mundo durante 15 años,
- La economía será económica y ecológica, gracias a los vehículos eléctricos,
- , , , ,
- « » : c , , , .
:
- .
- , .
- , 10
- , – .
, ( ), , , , ( ).
. , – , .
– Continuous Integration. , IT-. , ?
30 . 10 . 2 —
, CodeFest « ». , .
, : – , ( , ), – - , , – , .
. , , .
:
:
- -
- -
- driverless ( )
- -
- Deep Space Comms ( )
- ( )
- Drifting Cities: ,
- /
- :
- : ( , , )
- VR-, ( , )
- Full-Time ( , , )
- VR-
- Time-travel Experience ( « » « », , , )
- ( HR – )
:
, , , , .