Como miembro de equipos pequeños, tenía una responsabilidad importante. Ya sea impulsando el progreso organizando reuniones o manteniendo/creando/comprendiendo un gran porcentaje de información técnica específica, a menudo tenía tales responsabilidades. A veces yo era la única persona que trabajaba en los aspectos técnicos del proyecto.
Esto sucedió en una variedad de tipos de trabajo. A veces, programaba proyectos como un codificador único con varias personas no técnicas, a veces analizaba o recopilaba información técnica y, a veces, preparaba datos técnicos y presentaciones. A veces yo era el líder del proyecto y efectivamente el intermediario entre todos los involucrados.
Fui realmente bueno en mis responsabilidades al hacer esto y seguí asignándomelas. Desarrollé un conjunto de habilidades de nicho y disfrutaba el trabajo. La vida era genial.
Luego... me atropelló un autobús . ¡Qué tragedia! Era demasiado pronto para ser sacado de este mundo...
Más tarde, mientras flotaba por los pasillos de mi antiguo lugar de trabajo, descubrí que no había hecho un buen trabajo al preparar a mi equipo para mi prematura partida.
Nadie más en el equipo estaba familiarizado con las herramientas que estaba usando como yo. Nadie más entendió ni siquiera a un nivel superficial la información técnica. Quería comunicarme y responder esas preguntas, ¡preguntas tan simples! Pero Ay. Mi espíritu incorpóreo estaba condenado a flotar sin voz.
Me quedé pensando... ¿qué pude haber hecho? ¿Qué me perdí? ¿Cómo podría haber cambiado las cosas para estas pobres almas?
En serio, lo anterior es un gran problema para trabajar en ingeniería. Cuando trabajas en equipos multifuncionales, es difícil mantener informado al resto sobre los detalles de lo que estás haciendo. Es fácil ser una "caja negra" de magia para el equipo. Peor aún, a menudo desarrolla/posee conjuntos de habilidades específicas que no se documentan fácilmente (y pueden implicar horas y horas de capacitación o sistemas de aprendizaje).
Mi pregunta es:
Nota: Debo agregar que esto no implica nada sobre mis planes futuros... sino una forma de hacer que una pregunta normal sea potencialmente más entretenida. Es posible que lo atropelle un autobús, tenga una emergencia familiar repentina o, de manera más realista, acepte un nuevo trabajo/ascenso, lo llamen para un proyecto diferente y más urgente, tome una semana de vacaciones y no trabaje (concepto loco), etc.
Si está trabajando como contratista, diría que esto es 100% de su empleador. Dígales que lograr las metas que se han fijado para usted significa que no se están haciendo otras cosas que usted cree que deberían considerarse metas; pregúnteles si quieren ajustar sus metas. Es posible que le digan que continúe tal como está, ya que su tiempo es caro y quieren la mejor relación calidad-precio a corto plazo.
Si está trabajando como empleado, es posible que tenga más margen de maniobra para planificar la sucesión (o posiblemente exista la expectativa de que ya lo esté haciendo). Aún así, hable con el líder o gerente de su equipo, ya que necesitan saber sobre el problema y cómo está, y cree que debería estar, gastando su tiempo.
Algunas cosas que ayudarían en la planificación de la sucesión:
Documentación.
Confirmaciones de código razonablemente frecuentes.
Documentación.
Documente sus ideas, sus diseños y su código. Cualquier error del que estés al tanto.
Documentación.
Documente sus correcciones de errores explicando cuál fue el problema y cómo lo solucionó y por qué.
¿Y mencioné la documentación?
Si trabaja en un entorno donde la política es laxa (por lo que los desarrolladores junior simplemente no pueden molestarse en enviar cambios en la documentación; las actualizaciones de documentación relevantes deben ser obligatorias junto con cada fusión de sucursales), falta la revisión por pares (por lo que los desarrolladores junior/senior quedan atrapados durante las avalanchas de pereza comprensible), y/o la documentación se almacena por separado del código (por lo que puede perderse fácilmente), entonces también es importante considerar si se puede cambiar el entorno para que estos problemas no se hagan así. De lo contrario, todo su esfuerzo por escribir la documentación puede ser en vano.
Dicho esto, no siempre iría tan lejos como para llamarlo una responsabilidad personal: en última instancia, si los equipos están mal administrados y/u organizados, entonces esa no es tu responsabilidad; en el caso de que cambies a un nuevo trabajo, simplemente entregaría mi documentación completa y pensaría "bueno, si no puedes usarla y mantenerla correctamente, entonces es tu culpa... ahora buena suerte".
Sin embargo, esa línea de pensamiento realmente no se sostiene en el caso de "atropellado por un autobús", donde puede estar en el proceso de instigar tales políticas pero aún no lo ha hecho. Para este escenario, simplemente sugeriría que aliente a la gerencia (y a sus desarrolladores senior) a comenzar a tomarse esto en serio lo antes posible .
No hagas NADA diferente. Trabaje como si NO fuera a ser "atropellado por un autobús" mañana.
El problema del "atropello por autobús" es un problema organizativo y no algo que deba abordarse explícitamente en sus propios objetivos de trabajo.
Sus compañeros de trabajo y la gerencia deberían estar pensando en ello, pero creo que es demasiado esperar que los colaboradores individuales trabajen como si literalmente se fueran mañana. Si la gerencia no se da cuenta de los problemas potenciales aquí, significa que están totalmente fuera de contacto o tal vez no eres tan indispensable como pensabas.
En el mejor de los casos, si es generoso, es posible que desee recordar a las personas clave y a los clientes potenciales que tengan respaldo en caso de emergencia. Pero en una era en la que las corporaciones arrojan carreras "debajo del autobús" por capricho en aras de las ganancias a corto plazo, ¿cuánto debería importarle realmente?
Las prácticas diligentes de ingeniería resuelven muchos de los problemas del dilema "atropellado por un autobús". Ir más allá de eso hasta el punto de estar listo para la desaparición inmediata y permanente creará una gran cantidad de gastos generales para el contribuyente individual. Parece que el entorno descrito por el OP podría beneficiarse simplemente con mejores prácticas y personal, no es necesario que trabaje como si pudiera vaporizarse en cualquier momento.
Las vacaciones son un buen "entrenamiento" para prepararse para cosas como esa. También ayuda a medir qué tan bien está preparado. Regrese al trabajo después de 2 a 3 semanas y cuente los días y el esfuerzo dedicado a limpiar su "retraso"; esto podría ser una aproximación decente al "escenario de atropello por autobús".
Esto también es una herramienta útil si desea mejorar. Analice los elementos pendientes que tiene que resolver y pregúntese qué se podría hacer para que alguien más pueda hacerlo. En uno de los trabajos anteriores, esto me ayudó a reducir los esfuerzos de "atraso de vacaciones" de unas tres semanas a dos días en menos de un año.
Lo que vale la pena tener en cuenta es que, en general, esto se considera una responsabilidad de su administración , por lo que cualquier cosa que haga más allá de lo requerido es a voluntad. Pregúntese cuánto quiere luchar contra el factor autobús y proceda en consecuencia.
Yo por mi parte quiero ser reemplazable ...
... para que pueda concentrarme en hacer cosas nuevas sin distraerme con las preocupaciones sobre lo que dejé atrás.
Pregúntale a tu equipo. Pregúntele a su gerente. Presénteles el problema exactamente de la misma manera que lo ha hecho con nosotros.
Dales opciones. Documentación para un futuro desarrollador. Documentación para ellos. Pago de la deuda técnica. Cualquier cosa que puedas pensar. Dales estimaciones de tiempo. Dales la opción. Deje que lo comparen con su trabajo diario normal.
Oye, incluso podrían decidir que vale la pena correr el riesgo. Pero, en realidad, depende de ellos decidir.
Y, si han decidido correr el riesgo, entonces tu espíritu inmortal debería dejar de sentirse culpable por ello.
Quería comunicarme y responder esas preguntas...
La lección más difícil que aprendí fue no responder a esas preguntas. Pero para hacer la pregunta correcta para llevarlos, sin sospechar, a encontrar la respuesta por sí mismos.
¡Una respuesta dada es diferente a una lección aprendida!
Explicación
Básicamente, hay dos escenarios diferentes que crean el único punto de falla que aborda el OP.
Negocio
Esto puede ser una decisión consciente o el resultado de una mala planificación, proceso o crecimiento del negocio. También puede ser el resultado de la inacción o la incapacidad de reconocer y abordar la creciente brecha de conocimiento.
Independientemente del cómo, la empresa crea la situación en la que tienen una gran dependencia de una sola persona o un pequeño grupo de personas que forman el núcleo de su base de conocimientos. Muchas empresas abordan esto mediante el uso de programas de tutoría, capacitación cruzada e intercambio de conocimientos tanto formales como informales.
Desde mi experiencia, los que tienen más éxito en esto también fomentan un enfoque de enseñanza. Con eso quiero decir que rara vez se le da una "respuesta" a una pregunta, sino más bien una discusión y preguntas puntuales de los expertos que lo guían por un camino de aprendizaje y ampliación de su conocimiento sobre el producto, proceso, tecnología en desempeñar.
Esto también ofrece una visión y una perspectiva frescas al experto en la discusión. De hecho, la enseñanza puede ir en ambos sentidos.
Empleado
En términos generales, tiene dos tipos diferentes de empleados que terminan en este puesto. Lo que yo llamo ' The Go To ' y ' The Protector '.
' The Go To ' es ese empleado que la mayoría de los gerentes aman. Él\ella es a quien puedes asignar casi cualquier tarea o proyecto y no tener que preocuparte por eso. Estas son las personas que se hacen un hueco en la empresa y se convierten en la persona a la que acudir y, muy probablemente, en la que tiene las respuestas.
' The Protector ' es ese empleado que ha tomado la decisión de proteger su territorio. Sienten que al resguardar sus conocimientos están asegurando su posición, importancia y futuro en la empresa.
Ambos crean inadvertidamente puntos únicos de falla. ' The Go To ' al proporcionar siempre la respuesta rápida y ' The Protector ' al no compartir ninguna o toda la información.
Entonces, en pocas palabras, toda la documentación del mundo no resolverá el problema subyacente de un único punto de falla. Sí, es importante y debe ser parte de cada BCP y plan de preparación para desastres. Pero la documentación no es realmente compartir conocimientos en el sentido de que alguien debería poder intervenir y realizar las tareas de su trabajo sin tener que leer un documento de 200 páginas de antemano.
No responda la pregunta; empoderarlos para que puedan responder por sí mismos.
Esto es lo que hacemos donde trabajo:
a) Utilizamos un wiki para la documentación. No archivos de Microsoft Word o archivos de texto. Una wiki en la que se puedan realizar búsquedas, seguimiento de cambios completos, etc. (Recomendaría Confluence , pero Confluence v4 es tan bueno que le sugiero que busque en otra parte)
b) Control de versiones, obviamente
c) Sistema de seguimiento de casos/problemas, obviamente
d) Comentar su trabajo. Esta es la cosa más matizada, y es muy difícil de enseñar, pero como contratista/independiente, es posible que pueda asimilar esto: los comentarios deben explicar su proceso de pensamiento y el por qué de lo que está haciendo. Los enlaces a la documentación, Stack Overflow, etc. son apropiados. Los párrafos y páginas de comentarios son apropiados. Explicar las cosas que intentó y NO hizo es apropiado. Uno de los mayores problemas del código es que se pierde el pensamiento y el sudor que implica hacer que algo funcione de una manera (en lugar de una diferente). Hay un libro, algo así como 'código hermoso' o algo así, que tiene un fragmento en los bloques de comentarios en una unidad en uno de los grandes sistemas VCS abiertos ( Subversion o Git, Pienso). Es hermoso porque cuenta la historia. Esto es lo que hace este código. Así es como funciona. Así es como está estructurado. (Confieso que este bloque, por lo que recuerdo, puede no adentrarse demasiado en la pregunta del "por qué").
Un corolario de esto es: ¿cuántas personas regresan y editan el código solo para agregar comentarios? Todos deberíamos... mucho. Pero en la práctica casi nadie lo hace.
Netflix tiene un sistema al que llaman ChaosMonkey . Esencialmente "rompe" o emula romper ciertos sistemas al azar.
Se puede pensar en los empleados como sistemas y una forma de emular el descanso de un empleado es darle tiempo libre sin previo aviso ni programado. El ChaosMonkey te dijo que fueras a ver una película sin decírselo a tus compañeros de trabajo. A corto plazo, el efecto sobre ellos es el mismo que si te hubiera atropellado un autobús.
Esto prueba la solidez de sus sistemas y les permite detectar nuevas fallas en sus sistemas que de otro modo podrían haber pasado desapercibidas.
Esto podría ayudar en la transferencia de conocimientos de manera circular, ya que es probable que un sistema más robusto se rompa menos y tenga menos errores grandes que necesiten atención, lo que permite a las personas en cuestión concentrarse más en cómo funciona el sistema y por qué. hace lo que hace en lugar de simplemente perseguir problemas molestos que consumen un valioso tiempo de intercambio de conocimientos.
Desde que escribí esta respuesta, me he dado cuenta de https://www.fdic.gov/news/news/financial/1995/fil9552.html . Básicamente, la FDIC recomienda que los bancos impongan vacaciones pagadas obligatorias de al menos 2 semanas consecutivas a los empleados clave del banco. El bienestar de los empleados es una consideración secundaria. La consideración principal es que esto obligará a los bancos a designar a otra persona para que se encargue de las responsabilidades del empleado vacante. Si el empleado que deja vacante está malversando, el esquema se desmoronará bajo la vigilancia del reemplazo. Esto también significa que el banco no será vulnerable a un ataque al autobús.
empezaría con
Estandarización
Mi último puesto antes del actual solía ejecutar una metodología tipo salvaje oeste. Todos usaron las herramientas que querían, con las que estaban familiarizados. Lo que importaba era entregar los proyectos en buenas condiciones de trabajo y a tiempo. Hizo un mantenimiento de código horrible donde un proyecto se desarrollaría con GWT como la capa de presentación y JUnit únicamente para todo tipo de pruebas unitarias y otro desarrollador se quedó con JSP sin procesar mientras que otro incorporó JSF a la mezcla. Todo el mundo estaba encadenado a sus proyectos e irse de vacaciones era impensable para muchos y sonaba como la sentencia de muerte para las revisiones y la optimización del código.
Propuse que estandarizáramos una serie de tecnologías y herramientas estándar de la industria que garantizaran que todos durmiéramos en la misma dirección de la cama (SoapUI para pruebas ws, JSF para el nivel web y con un éxito moderado, Spring para el procesamiento de back-end y un un par de cosas más). Y todos vivimos felices para siempre. Desaliente cualquier individualidad cuando se trata de herramientas del oficio que crearán archivos con una extensión propietaria (o al menos tratarán de mitigarlo); yo
Si alguien tiene una herramienta favorita en la que confiar su vida, que la lleve ante el tribunal para su evaluación y posiblemente para la adopción de todo el equipo. Deberías haberte encargado de establecer los estándares con tus herramientas. Los beneficios son obvios aquí, todos usaron las mismas cosas con niveles aceptables de comodidad, por lo que con un documento de diseño decente, cualquiera puede tomar la parte de otra persona y seguir adelante.
Revisiones periódicas y obligatorias de códigos/proyectos
Esta es otra característica de mi último concierto. Todos nos reuníamos una vez por semana con nuestro gerente en una sesión de grupo y discutíamos el estado de los proyectos de cada uno y planteamos inquietudes y desafíos. Todos, en un nivel muy alto, teníamos una idea de en qué estaba trabajando el siguiente tipo y, a veces, aportábamos consejos y un par de líneas de código para ayudar. No hubo aislamiento total.
Espíritu de equipo
Sé que parece un poco trillado y posiblemente una obviedad, pero el espíritu de equipo saludable (y posiblemente un poco de competencia) fomenta el intercambio de información. La desventaja del entorno de cubículo (especialmente los miembros del equipo en cubículos muy separados) es que los miembros del equipo a menudo están demasiado alejados de la vida laboral de los demás, por lo que es demasiado fácil tener una falla en las comunicaciones. Hay una mejor comunicación e intercambio de información cuando los compañeros de equipo están situados cerca uno del otro, preferiblemente en un entorno de oficina abierta con pocas paredes o divisores. Las discusiones y el frotamiento mental ocurrirán y fluirán más libremente, con el objetivo de fomentar el intercambio de información.
Obviamente Documento . Es una vieja canción. no lo volveré a cantar
La planificación para esto es parte de una Planificación de continuidad comercial , mientras que se trata de planificar desastres más grandes que solo ser atropellado por un autobús, pero el proceso pone las piezas en su lugar para recuperarse de pequeñas incidencias como un jugador clave que es cazado furtivamente, a problemas más grandes. como un desastre que destruye los edificios y las personas que los atienden.
Wiki-How tiene un artículo regular sobre cómo crear un BCP y, aunque no recomendaría usar este método para su negocio, proporciona una buena perspectiva de los procesos y el pensamiento necesarios para crear uno. En general, los BCP se realizan en enfoques por etapas que manejan los mayores riesgos y se preparan primero para los escenarios más probables y luego se abordan las preocupaciones de menor riesgo. Pero cada empresa generalmente construye allí BCP de acuerdo con sus propias necesidades, por lo que el proceso exacto varía.
El proceso generalmente implica:
¿Qué haría si le diera dos semanas de anticipación?
Hice un esquema rápido y comencé a grabar en video mi pantalla y mi voz. Incluía:
Mi objetivo como siempre es dejar un trabajo mejor de lo que lo encontré. Trato de no dejar que la gerencia establezca mis estándares. Su trabajo es preocuparse por los resultados finales, mi trabajo es saber cómo hacer mi trabajo mejor que ellos. No soy solo un par de manos extra.
Nuestras reglas cotidianas contra la gente que se lleva el conocimiento a la tumba:
En efecto, "las cosas que aún no están listadas/probadas no existen para nosotros". Solo las cosas que se enumeran son confiables.
Lo llamamos " conocimiento arcano " (solo se almacena en la cabeza de alguien), y todo el mundo se niega a actuar en consecuencia.
Obviamente, eso no funciona entre temas técnicos y no técnicos. Pero tampoco esperamos que los técnicos puedan hacerse cargo de los cálculos financieros del departamento de contabilidad. Entonces, incluso nuestro departamento de contabilidad podría llevarse el "conocimiento a la tumba", si solo 1 contador hiciera esos cálculos.
Porque hay un límite. Si el equipo es demasiado pequeño, siempre habrá alguien que será atropellado por un autobús.
Los puntos a continuación deben estar en la descripción de su trabajo y establecidos por los propietarios de la empresa. Es su responsabilidad tener esto en su lugar. Sin embargo, usted puede ser el único que tenga el conocimiento para informarles que esto es necesario.
unor
Pablo D. Waite
mosquito
bryanh
svidgen
Elías Lynn
pac0
aspirante a matemático