Mi jefe se niega a aceptar o aprender nuevas tecnologías

Aquí hay un poco de historia: mi gerente ha estado en esta empresa por más de diez años. Parece que ha aprendido muy poco en el tiempo que lleva aquí y hace las cosas como siempre se han hecho. Es ingeniero/programador, por lo que trabaja con C++, SQL Server, .NET, JavaScript y tecnologías similares. Él también ha sido el que ha hecho el desarrollo front-end, por lo que también hace HTML y CSS.

Un avance rápido hasta el día de hoy: soy analista de UX, diseñador visual y desarrollador web. Diría que mi diseño visual y desarrollo web son más fuertes que mi UX en este momento. He estado haciendo diseño y desarrollo web durante bastante tiempo. Siempre estoy leyendo y probando nuevas tecnologías, como los preprocesadores CSS SASS/LESS, lenguajes de plantillas como Liquid y compiladores/herramientas de entorno como Jekyll y Vagrant. Los uso para optimizar mi flujo de trabajo, acelerar el desarrollo y hacer que mi código sea limpio, eficiente y fácil de mantener.

Le traje estas tecnologías y herramientas a mi gerente y él no las entiende. Él piensa que las nuevas tecnologías son como Dreamweaver (supongo que tuvo una mala experiencia con Dreamweaver, como TODOS la tenemos, y piensa que las herramientas que no sean la codificación manual de alguna manera contaminarán el código). Constantemente presenta argumentos en su contra, como que no son compatibles entre navegadores y que inyectarán cosas que inflarán el código. Cuando hago un punto sobre una cosa, él traerá algo más. Creo que simplemente no quiere aprender. Le mostré físicamente un kit de interfaz de usuario bastante robusto que había desarrollado durante los últimos días y no quedó impresionado y socavó severamente el trabajo al decir que pensó que usé un editor de arrastrar y soltar ya que soy un diseñador, no un desarrollador (pero soy un desarrollador, simplemente no es el mismo tipo de desarrollador que él). Cuando le hablo sobre estas nuevas tecnologías y cómo ayudarán a nuestro flujo de trabajo, aumentarán la productividad y reducirán significativamente el tiempo de desarrollo, me cerrará o dará algunas excusas para no usarlas. Él dice que puedo usarlos, pero solo quiere el HTML y el CSS generados, no quiere las "otras cosas".

Entonces, ¿cómo puedo seguir adelante si mi jefe directo no entiende mis habilidades o mi trabajo? Y si no puede entender mi trabajo, ¿cómo verá el valor que proporciono? Traté de sentarlo y explicarle estas tecnologías, cómo nos beneficiarán, cómo son fáciles de aprender y usar, y cómo nos ahorrarán tiempo de desarrollo anterior. Solo escucha a medias y luego da razones por las que no quiere usarlos. Lo escuché y genuinamente traté de abordar cada una de sus preocupaciones, pero él no estaba dispuesto a aceptarlo. Simplemente se desconecta y da las mismas excusas. ¿Qué se puede hacer aquí?

El jefe es el jefe, pero es un poco extraño que estén atascados en cosas más antiguas y todavía tengan una persona de UX.
Bueno, muchas herramientas agregan una cantidad ridícula de código extra inútil. Un ejemplo de mi trabajo reciente: el editor de páginas basado en el navegador de SharePoint tiende a definir aleatoriamente tramos y divs, y asigna los mismos parámetros de estilo a un div, a la única p dentro de él y a los dos tramos idénticos adyacentes que componen el conjunto completo. contenido de la p. Así que regresaré y eliminaré el div y los intervalos, dejando solo una etiqueta p alrededor de mi texto, lo que reduce el recuento de bytes a la mitad, en promedio.
"Utilizo estas herramientas... para que mi código sea más fácil de mantener". - Su jefe probablemente quiera que el código también sea fácil de mantener para otros miembros de su equipo. Incluso si se trata de algo tan simple como usar un preprocesador LESS en el proceso de compilación, este tipo de cosas pueden sumar: si su equipo no está familiarizado con todas las excelentes herramientas que agregó al flujo de trabajo, la falta de familiaridad puede agregar más costos de mantenimiento que el beneficio que entregan. Si desea introducir estos cambios con éxito, debe hacerlo de manera gradual: venda cada uno de ellos a su jefe de forma breve.
Roles relacionados, pero invertidos: Workplace.stackexchange.com/questions/33188/…
Si dice que puedes usarlos pero no quiere, ¿cuál es el problema? Solo quiere un entregable. Si quieres impresionarlo, impresiónalo con tu código, no con cómo lo creaste. Si el problema es que su idea de código "bueno" y la suya difieren, entonces tiene un problema y necesita decidir si puede vivir con sus estándares, porque no parece que pueda cambiarlos.

Respuestas (5)

Estuve en una situación similar hace unos años y esto es lo que aprendí, aunque soy más un desarrollador del lado del servidor.

La productividad en el desarrollo de software no debe ser el único criterio al decidir sobre la tecnología de software. En realidad, es el mantenimiento del software lo que importa mucho más.

Si bien algunas nuevas tecnologías de desarrollo de software realmente mejoran la productividad, muchas de las nuevas tecnologías son simplemente una pelusa emocionante que en realidad disminuye la productividad a largo plazo, aunque parezca que hacen que todo sea más fácil en este momento. Son nuevos, emocionantes, están de moda y las personas que los usan se consideran inteligentes y los que no lo hacen se consideran atrasados ​​y fuera de contacto. Esa presión impulsa a las personas a adoptar la última moda en software. No se ha pensado más en adoptar estos que en decidir usar esos jeans extra ajustados o esos pantalones extra bajos que muestran la ropa interior.

Los desarrolladores experimentados han pasado por varios ciclos de modas de software. Incluso han visto ideas en la industria del software pasar de moda, volver a ponerse de moda brevemente y volver a pasar de moda, como los pantalones acampanados. Por lo tanto, tienden a buscar métodos e ideas que brinden valor a largo plazo, no solo una emoción esponjosa. Eso explica el enfoque de su gerente.

Aprendí mucho de mi gerente que tenía ideas similares a las de su gerente y el equipo en el que estoy ahora cosecha los frutos de su enfoque.

Ojalá pudiera votar esto más. He visto muchos proyectos torpedeados porque la tecnología que trajeron algunos de los desarrolladores que parecía aumentar la productividad terminó causando mucho más trabajo cuando se solicitaron los cambios inevitables. Cuantas más cosas complicadas se agregan a la mezcla, peor termina.
Votaría esto un millón de veces. Pero luego, algunos de nosotros hemos estado involucrados en tratar de solucionar un problema de producción grave con personas que piden progreso cada cinco minutos porque la empresa está perdiendo dinero y tiene que filtrar código ineficiente e inflado generado por alguna herramienta.
También quiero votar varias veces. Hay muchas cosas nuevas que son geniales, pero deben evaluarse en relación con el ciclo de vida completo del producto, no solo por su frescura o novedad.
Estoy parcialmente de acuerdo con tu respuesta. Sí, el mantenimiento es muy importante. Y sí, la pelusa de moda existe en la tecnología de software. Pero, al mismo tiempo, las tecnologías antiguas a veces se ven obstaculizadas por problemas reales, y algunas de las nuevas tecnologías abordan estos problemas muy bien. Ahora nunca he usado LESS y no puedo decir si pertenece a las nuevas tecnologías genuinamente útiles oa la pelusa. Pero agrupar todas las nuevas tecnologías como moda de moda no es productivo, y si el gerente se niega a entender cómo funcionan, no podrá distinguir entre la pelusa y la innovación valiosa.
A menos que esté trabajando en algo tan simple que pueda perfeccionarlo en el primer intento, la productividad está indisolublemente ligada a la mantenibilidad.

¿Está en la descripción de su trabajo determinar qué tecnología utiliza su empresa?

De lo contrario, debe aceptar que no es su trabajo cambiar este aspecto de la empresa.

Hay razones por las que una empresa puede optar por apegarse a las viejas tecnologías que ya está utilizando: la aversión al riesgo es la primera que le viene a la mente.

Dicho esto, aún puede presentar un argumento a su gerente, quien tiene la función de realizar cambios en la pila de tecnología. Parece que ya lo has hecho. También debe aceptar que así es como la empresa, para bien o para mal, quiere trabajar.

En lugar de buscar cambiar su empresa actual para que se adapte a su forma de trabajar, es posible que desee considerar buscar otra empresa que ya tenga la cultura y la tecnología que se adapte a sus necesidades.

"Si no, entonces debe aceptar que no es su trabajo cambiar este aspecto de la empresa" - No estoy de acuerdo, es el trabajo de todos los empleados mejorar las cosas. Pero tiene razón en que no es su trabajo empujarlo más allá de recomendarlo (o tal vez escribir un informe comparando los enfoques)
El hecho de que no tenga la decisión final no significa que pueda hacer recomendaciones sólidas. Nadie me pidió que buscara un sistema de CRM, sugerí que mi empresa necesitaba uno y me involucré en la selección e implementación. Muchas personas definen sus trabajos.

Como muchos programadores, operas con la mentalidad de un ingeniero. Lógicamente intentas resolver los problemas e incluso cuando sabes que algo debería funcionar, pero no funciona, continúas y haces los cambios hasta que funciona.

Sin embargo, rara vez haces esto cuando tratas con personas menos técnicas. Basas algo en el mérito técnico/lógico y no entiendes por qué las personas no cumplen cuando incluso pueden llegar a la misma conclusión. Tienes que mantenerlo. Eso no significa necesariamente apegarse a este mismo problema. Tu jefe se irritará si lo haces.

Piense en cómo puede abordar este tipo de sugerencias de manera diferente. Vas a tener que vender la idea. El mérito técnico no es suficiente. Dado que no va a ser muy bueno en esto, le llevará tiempo encontrar el enfoque correcto y aprender a ser persuasivo.

Adquirir esta habilidad será mejor para tu carrera y tu cordura. No esperes que todos piensen como tú. Adáptate y aprende.

Por lo general, no considero que sea responsabilidad de un administrador conocer todas las tecnologías de la pila. Es mucho más importante que el gerente sepa cómo... bueno... administrar el equipo y sacar productos. Es desafortunado que esté rechazando todas estas cosas nuevas. ¿Quizás es mejor tener una discusión honesta (sin confrontación) con él al respecto? En mi experiencia, a la mayoría de los gerentes realmente no les importará lo que use, siempre que agregue valor. A veces, una documentación clara que describa los beneficios comparativos de lo que desea usar frente a lo que ya está en uso puede ayudar. Tal vez valga la pena averiguar si es uno de esos tipos de gerentes. Basado en lo que dices, me parece que a él no le importaría en absoluto si hay un acuerdo en vigor y no tiene que lidiar con eso.

Con respecto a los formatos de sus entregas, ¿es realmente tan importante si solo quiere HTML y CSS? ¿Es posible que desee tanto que él adopte su postura que no quiera ceder en este (relativamente) pequeño problema? Si quiere el HTML y el CSS, solo dáselos. Personalmente, evitaría la batalla del formato de entrega y guardaría mi capital político para otra cosa.

Creo que tienes una buena respuesta, pero tienes un poco que tener. Ojalá agregue valor.

Uno no parece que tu jefe se vaya a mover y no lo vas a hacer.

Sea feliz con usted puede usar las herramientas y él solo quiere HTML y CSS.

No es que no entienda tus habilidades. Simplemente no quiere aprender algo nuevo.

Parece que su gerente simplemente no se ha movido por un tiempo. Al menos no es C, pero C# es simplemente más productivo. Creo que podemos estar seguros de que HTML5 no es una moda pasajera.