¿Cómo se libera del rol de mantenedor de código? [cerrado]

13

En mis últimos tres trabajos, era un mantenedor de código. En los tres casos, fui contratado después de que la mayoría del código para el proyecto ya estaba escrito.

Soy un programador autodidacta. Antes de comenzar mi primer trabajo profesional, tenía quizás una docena de proyectos en mi haber que comencé y envié con éxito.

Escribir un código nuevo y mantener el código existente son dos trabajos completamente diferentes. Es como comparar un ingeniero aeronáutico con un mecánico de aeronaves.

Especialmente apesta cuando eres un mecánico de aviones que trabaja en un avión que fue diseñado por un ingeniero que no hizo ningún intento de diseñar el avión para que sea lógico o fácil de mantener.

Estoy empezando a sentir que estoy cerca cuando el proyecto comienza por primera vez, tienes que ser una de esas personas especiales que de alguna manera ha trascendido al resto de las personas en el campo de la informática. ¿Qué se necesita para estar en esa posición?

Siento que esta pregunta realmente no tiene una respuesta fácil, pero ¿alguien podría darme algunas ideas? ¿Alguna vez has estado en la planta baja de un nuevo proyecto? ¿Qué tomó para llegar allí?

nbv4
fuente
¿Aplicas para trabajos de Code Maintainer?
James
@James todos los trabajos son trabajos de mantenimiento de código, o al menos todos los que encuentro ...
nbv4
No te desanimes. En tecnología nada es permanente. Puede sentirse como el mecánico frente al ingeniero. Pero creo que hay muchas compañías con líderes autodidactas y abejas obreras con títulos avanzados. El estado, el conocimiento y el esfuerzo para cumplir con la educación formal deberían tener alguna recompensa, pero es su respuesta a "¿Qué ha hecho por mí últimamente?" es mejor, recorre un largo camino.
DesarrolladorDon

Respuestas:

6

El mantenimiento significa diferentes cosas para diferentes personas, y se produce por diferentes razones.

  • En el peor de los casos, el sistema inicial se desarrolló rápidamente, el equipo inicial se atribuyó todo el asunto. Siguieron la regla 80/20, por lo que si bien puede haber un producto mínimo viable que se pueda vender, muchos clientes necesitan muchas soluciones y pequeñas mejoras. Quedan muchos problemas, pero no mucha gloria. Tienes el trabajo más duro, y es ingrato. Espero que esta no sea tu situación.
  • Mejor caso, usted ha demostrado que es cuidadoso con su trabajo y se puede confiar en que realice cambios en el producto enviado sin romperlo. Los problemas que persisten son demasiado difíciles para las personas que trabajaron juntos en el sistema original. Tal vez no lograron construir el sistema para durar, y usted está allí, tal vez como su reemplazo, para arreglar las cosas y rescatar a los clientes, el proyecto y las ganancias.
  • Caso muy probable, el 60% de los costos de los proyectos provienen durante el mantenimiento. Tal vez sea el momento, tal vez su organización se segrega entre el nuevo desarrollo y el mantenimiento, pero usted está en la mayoría de 3/5 porque muchos de nosotros hacemos mantenimiento.

Aquí hay algunas cosas para probar:

  • Haga un gran trabajo, tenga una gran actitud, sea un líder de ideas.
  • En la medida de lo posible, trabaje en equipo, no solo.
  • Aprende nuevos idiomas.
  • Aprende plataformas más nuevas.
  • Solicite trabajar en programas más pequeños, incluso puede solicitarlo en compañías más pequeñas.
  • Adquiera habilidades y participe en la documentación. Cuando comienzan los proyectos, incluso en la era posterior a la cascada, necesitan mucha coordinación por escrito para trazar mapas, documentar, evaluar y aclarar los requisitos.
  • Es peligroso que los proyectos comiencen en manos de personas que no aprecian la gestión de requisitos, la estimación y la evaluación de riesgos, por lo tanto, aprenda y practique estas habilidades tanto como pueda.
  • Obtenga capacitación o certificaciones más formales. Esto puede aumentar su estado y hacer que sea una opción más atractiva cuando se formen equipos para nuevos proyectos de desarrollo.
  • Comience una empresa o alguna consultoría en el lateral. Esto le brinda una salida creativa para enfocarse en su tipo de trabajo favorito, y le da una mejor apreciación de cómo es comenzar sin código ni documentación.
  • Acércate a tu jefe y a las personas que planean nuevos proyectos.
  • Por el contrario, si usted es muy cercano a los probadores y al control de calidad, su producción suele ser la entrada al mantenimiento, así que ¿adivina con quién piensa su jefe que trabaja realmente bien?
  • Haz tantos amigos y gana el respeto de tantos desarrolladores nuevos como puedas.
  • Los nuevos desarrolladores son personas que pueden hacerlo, así que tenga cuidado con cualquier indicio de crítica o negatividad. Dales tus ideas libremente sin culpa ni juicio. Tus ideas no necesitan presentación, solo dilo. Nunca digas, solíamos hacerlo de esta manera, o eso no funciona, prueba esto. Nunca digas, no sé, pero esto podría funcionar. Solo di la idea. O mejor, muéstralo.
  • Encuentre y aproveche cualquier oportunidad para crear una prueba de concepto que pueda convertirse en su nuevo proyecto.
  • Cuidado con quien te asigna trabajo. Por lo general, debería ser alguien en su cadena de mando. Si son sus compañeros, retroceda parte del tiempo. Si es alguien a quien supervisa, debe haber una buena razón por la cual el control está invirtiendo. Si es QA o prueba, asegúrese de que sea importante para su cadena de comando y que no esté programado de manera que retrase el trabajo que prometió anteriormente.
  • Cuidado con la perfección. El nuevo desarrollo a menudo está reservado para personas rápidas, incluso si cruzan los ojos y no salpican los t.
  • Pase tiempo aprendiendo y practicando las habilidades iniciales del proyecto apropiadas para su línea de desarrollo. Esto podría incluir: crear repositorios de origen, definir el entorno de compilación, configurar el servidor de integración constante, trabajar en estrecha colaboración con el equipo de hardware para abrir nuevas placas con paquetes de soporte de placa o escribir pruebas de autoevaluación. Incluso podría ayudar saber cómo trabajar con las compras para comprar nuevas herramientas de desarrollo, capacitación y hardware COTS.
  • Asegúrese de seguir adelante antes de que se cierre su proyecto de mantenimiento, quizás comprando sus habilidades internamente a los líderes de equipo y quizás a los gerentes, o externamente.
  • Domina todas las tecnologías que conoces y conoce muchas tecnologías.

Un rol de mantenimiento puede convertirse en su ventaja de varias maneras.

  • Potencialmente, puede trabajar en cada proyecto que haga su grupo o incluso la empresa.
  • Si se separan el nuevo desarrollo y el mantenimiento, puede seguir un camino de liderazgo menos competitivo. El liderazgo en nuevos proyectos es muy codiciado, pero el plomo de mantenimiento podría estar disponible para usted si lo solicita. Si tiene ánimo y orientación para dar, los miembros de ese equipo pueden apreciarlo más.
  • Si el proyecto está en mantenimiento, es más probable que interactúe con los clientes. Manejado mal, esto termina las carreras. Si se maneja correctamente, recibe atención positiva fuera del desarrollo que es difícil de encontrar sin ser un gerente.

Dicho todo esto, soy el contraejemplo, no el modelo a seguir. Gran parte de esta perspectiva proviene de la experiencia y la observación.

Hay muchos programas nuevos que aún necesitan ser escritos.
Prepárate y estarás trabajando en uno sorprendentemente pronto.

DesarrolladorDon
fuente
4

Tengo malas noticias para ti: muchas de las aplicaciones que la humanidad necesita ya están escritas, es solo que deben ajustarse al entorno en constante cambio.

Algún día, se le pedirá que escriba una nueva parte del sistema, como un nuevo módulo, y podrá aprovechar su conocimiento sobre el desarrollo de campos verdes.

Hasta entonces, puede intentar aprender a refactorizar aplicaciones heredadas para limpiar módulos.

Una buena lectura es " Trabajar con aplicaciones heredadas " y " Refactorizar a patrones ". Si no leyó la refactorización original (Fowler), hágalo. Y aprender desarrollo basado en pruebas (TDD), siempre ayuda.

En caso de que esté trabajando con PHP, escribí un artículo práctico en el que este código aún se ejecuta ...

¡Que te diviertas!

Aadaam
fuente
1

La ruta más fácil para escapar es cambiar su estilo de programación por completo y también agregar nuevas habilidades al mismo tiempo. Por ejemplo, podrías intentar ser un investigador. Puede que no sea un trabajo de prestigio durante el primer año, y ciertamente no es tan bien remunerado como los trabajos de programación normales (en el primer año si es investigador / investigador asociado en el equipo de una universidad, por supuesto, ya que el investigador principal es bastante muy en línea con el resto de la industria), pero definitivamente pondrá sus habilidades a trabajar en los problemas más difíciles que pueda encontrar hoy en día. Después de tal trabajo, podría fácilmente saltar a una mejor posición, siempre que tenga algunos proyectos interesantes que mostrarle a su próximo jefe.

paxRoman
fuente