- Cuando hacer bien el trabajo choca con la rapidez de una empresa, ¿qué eliges tú?
- La historia del ingeniero Chris Krycho, quien eligió lo segundo entre mantenerse fiel a sus convicciones y ceder, o irse para buscar un trabajo alineado con sus principios.
- Chris finalmente dejó LinkedIn para perseguir un trabajo que estuviera en sintonía con sus propios principios.
- Un resumen de lo que contó en el pódcast.
- Su historia subraya la tensión entre la "necesidad de innovar" y la "importancia de la salud del proyecto".
El primer día de Chris Krycho en LinkedIn
- Chris se unió a LinkedIn a finales de enero de 2019. Pasó por varios procesos de onboarding comunes en grandes empresas o en pequeñas compañías saludables.
- Aunque iba a trabajar de forma remota desde Colorado, pasó las primeras dos semanas en onboarding y conviviendo con su equipo.
Millones de líneas de código
- En comparación con su experiencia en su empresa anterior, quedó muy sorprendido por la escala de la app cliente de frontend y los servicios backend de LinkedIn.
- El frontend de LinkedIn alcanza los 2 millones de líneas, muchísimo más que todo el código de su empresa anterior.
El equipo de infraestructura
- El rol de Chris estaba en el equipo de infraestructura, pero no enfocado en construir servidores, sino en apoyar la ingeniería o mejorar la experiencia de desarrollador.
- El objetivo era facilitar el trabajo sobre la enorme app de escritorio de LinkedIn.
Modernización de JavaScript
- Participó en el trabajo de modernizar el código mediante la introducción de clases de JavaScript. Aprendió mucho mientras resolvía problemas derivados del uso del framework Ember.
- Se dio cuenta de que las migraciones en una base de código enorme debían automatizarse tanto como fuera posible, ya que la carga de trabajo era demasiado grande para hacerla manualmente.
Adopción de TypeScript
- Se decidió avanzar hacia TypeScript para reducir los errores que ocurrían en el frontend.
- TypeScript puede adoptarse de manera gradual, lo que ofrece la escalabilidad que LinkedIn necesitaba.
El plan de migración lenta vs. el 'Finger Gun's Plan'
- Chris y su equipo propusieron un plan de 3 a 5 años para migrar el código de Ember a React, pero otro equipo presentó el 'Finger Gun's Plan', que prometía un replanteamiento total y mayor velocidad.
- La diferencia entre estos enfoques refleja el conflicto entre los problemas que Chris y su equipo estaban enfrentando y una cultura corporativa que priorizaba la velocidad.
La experiencia y los aprendizajes de Chris
- Reconocimiento del problema de alertas insuficientes.
- Los servidores de todo el centro de datos se cayeron debido a una reacción en cadena causada por el aumento en el uso de memoria y los reinicios de servidores.
- Intentó resolver el problema mediante el restablecimiento del sistema y el ajuste de permisos.
- El fracaso es inevitable, y la ingeniería de software consiste en diseñar sistemas que apoyen el proceso mediante el cual los ingenieros producen resultados en producto.
- Subraya la necesidad de sistemas con resiliencia en múltiples capas.
Reacción negativa al incidente
- Surgió frustración por la falta de confianza de la gerencia durante el proceso de resolución del problema.
- Hubo desacuerdos y problemas de comunicación con ingenieros de alto nivel.
- Recalcó que un sistema no debe funcionar solo en su mejor estado, sino que debe poder responder en cualquier situación.
Aumento de la presión
- A pesar de los esfuerzos por resolver la deuda técnica y mejorar la resiliencia, aumentó el descontento de la dirección.
- Surgieron choques con directivos que exigían soluciones simples para problemas complejos.
Reorganización
- Hubo una reorganización y cambios de rol a causa del 'Finger Guns Team'.
- También reconoció nuevas experiencias y oportunidades de aprendizaje en otros roles.
Reflexión y toma de conciencia
- Reflexión personal a partir de experiencias pasadas y de la situación actual.
- Reconocimiento de la importancia de construir relaciones humanas y comunicarse.
- Comprensión de que los problemas técnicos y los problemas sociales están conectados entre sí.
Conclusión y lecciones
- Chris mantuvo una mirada crítica sobre una cultura que pone la velocidad como valor supremo.
- Buscó nuevas oportunidades a partir de una reflexión sobre su carrera y sus valores personales.
- El camino de Chris para encontrar un rol donde pudiera perseguir la excelencia en ingeniería continúa.
La opinión de GN⁺
- La experiencia de Chris Krycho muestra muy bien el conflicto entre los principios técnicos y las exigencias del negocio.
- Su decisión resalta la importancia de encontrar un equilibrio entre los valores personales y las decisiones profesionales.
- Gestionar cambios en un entorno tecnológico de gran escala como LinkedIn es complejo, y deja lecciones importantes para otras empresas.
- La adopción de tecnologías como TypeScript puede ayudar a mejorar la calidad del código y reducir errores, pero en bases de código grandes se necesita un enfoque gradual.
- Al impulsar este tipo de cambios técnicos, hay que considerar el equilibrio entre la experiencia de desarrollador y la velocidad de lanzamiento del producto.
1 comentarios
Opiniones de Hacker News