¿Qué debe esperar el desarrollador junior del líder de su equipo senior? [Cerrado]


44

Descargo de responsabilidad: Las opiniones expresadas son únicamente mías y no expresan los puntos de vista u opiniones de mi empleador.

Trabajo para una pequeña empresa, en la que pocas personas son desarrolladores, otras son QA / Test y 1 es gerente. Me uní a esta empresa hace 1,5 años. 3 desarrolladores senior tienen más de 8 años de experiencia.

Estas son las observaciones que hice sobre el líder del equipo. (considerándome más fresco con menos experiencia en comparación con ellos en todos los aspectos)

  1. Nunca discuten 1: 1 o nunca consideran la sugerencia menor (estoy de acuerdo en que depende de ellos, lo acepten o no, al menos deberían considerar una opinión).
  2. Como líder senior del equipo, pueden intentar refactorizar la base de código con nuevas tecnologías (incluido el factor de implementar nuevas tecnologías y otros desarrolladores e infraestructura también están listos), pero estos líderes de equipo se sienten menos inseguros para trabajar con nuevas tecnologías, ya que No están actualizados. (Por lo que estoy diciendo, no saben qué tendencia de programación actual, * (como proyectos populares de código abierto como modernizr, bootstrap y muchos otros).
  3. En nuestra base de código se repiten más de 10000 líneas, así que les conté DRY: Don't Repeat yourself. Su respuesta fue: "Es un artículo fascinante, pero nunca funciona en la práctica". Les acabo de decir que si no lo hacemos 100% SECO, al menos podemos usar interfaces, pero eso tampoco fue considerado. * (se pueden agregar interfaces para nuevas funciones, sin tocar la base de código anterior, si no están listas para refactorizar)
  4. Todos los desarrolladores senior realizan tareas de mantenimiento y reparación de parches. El resto del tiempo solo pasan en sitios de entretenimiento. Están felices de terminar la tarea.
  5. Introducir nueva tecnología es malo? * (se puede incluir el factor de viabilidad).
  6. El gerente también está menos preocupado por las cosas de las que estoy hablando.
  7. Junior espera que puedan aprender muchas cosas del líder del equipo. * (no pidiendo ayuda o codificación senior para ellos).

Mis preguntas son:

  1. ¿Soy demasiado agresivo con los cambios que propongo?
  2. ¿Qué debo esperar de los líderes de desarrollo senior que tienen más de 8 años de experiencia?
  3. ¿Me equivoco al esperar aprender y adquirir experiencia de una empresa?

Actualización:

Por qué se sienten SECOS no es práctico: porque no quieren involucrarse con los conceptos de OOP. Están contentos con repetir tareas.

Nuevas tecnologías que propongo:

  1. Uso de Minificación de imágenes CSS, JS, SPrite
  2. Uso de interfaces y .net framework 4, genéricos y muchos otros.
  3. Bibliotecas del lado del cliente como modernizr, knockout js, bootstrap para responsive,

40
Solo una nota: años de experiencia no significan nada. Existe el dicho "algunas personas tienen 10 años de experiencia, algunas tienen 1 año repetido 10 veces" (parafraseado). Base sus expectativas en sus habilidades y conocimientos, no en el tiempo que llevan allí.
Anthony Pegram

66
Ravi, te gustaría creer que han estado aprendiendo y creciendo. Lo que es demasiado común es que han alcanzado una meseta. Si esto se debe a la complacencia, simplemente a no ser desafiados, o realmente han alcanzado su límite, eso varía de persona a persona y de situación a situación.
Anthony Pegram

55
@Ravi, su percepción es que son un líder de equipo para guiarlo, aunque es muy posible que su percepción sea que son líderes de equipo para ganar buen dinero y no hacer que la gente les diga qué hacer para que puedan hacer lo que quieran. No todos buscan ayudarlo solo porque deberían hacerlo, y muchas personas no se molestan en mejorar si pueden evitarlo al convertirse en líderes de equipo sin superación personal en el camino.
Jimmy Hoffa

14
Ya estás muy por delante de ellos y no les interesa elevarse a una posición en la que estén listos para trabajar contigo. Despide a tu empresa.
user16764

55
Por lo general, estoy a favor de la nueva tecnología que brinda una forma más limpia de hacer algo. Sin embargo, uno debe tener cuidado para evitar la introducción de muchas tecnologías nuevas solo porque son nuevas y brillantes. Si un proyecto recién comienza o si necesita una nueva funcionalidad o refactorización, entonces podría ser una buena oportunidad para presentar algo nuevo. Si el proyecto es estable (solo necesita correcciones menores), o si es tarde, sería mejor evitar introducir cosas nuevas.
marcus

Respuestas:


30

¿Soy demasiado agresivo con los cambios que estoy proponiendo?

Sin detalles (qué nuevas tecnologías propones, por qué las rechazan, dónde sienten que DRY no es práctico y por qué, etc.), es difícil evaluar la cantidad de mérito de tus propuestas y eso es importante para tu agresividad. Si quieres que usen un nuevo marco porque crees que es nuevo y genial, entonces empujar más que a la ligera es demasiado agresivo. Si realmente están bloqueando miles de líneas de copiar / pegar en la base de código (es decir, están escribiendo basura), entonces diría que se justifica una mayor agresividad.

Pero esto también depende de la dinámica interpersonal entre usted y ellos. Mi consejo sería preguntarse "¿podría demostrar que mis sugerencias beneficiarían a la empresa?" Si la respuesta es sí, entonces diría que tiene alguna licencia para tratar de impulsar.

¿Qué debo esperar de un líder de desarrollo sénior que tiene más de 8 años?

Esto ejecutará toda la gama. A veces obtendrás personas muy inteligentes de las que puedes aprender mucho, tanto en términos de navegación política de oficina como en consideraciones técnicas. Desafortunadamente, también obtienes mucho de esto . No encontrará escasez de personas cuya experiencia de más de 8 años básicamente equivale a hacer lo mínimo para no ser despedido. Si encuentra un mentor o alguien que es realmente astuto, consérvelo lo más que pueda porque es menos común de lo que debería ser.

¿Me equivoco al esperar un buen aprendizaje de una empresa?

Hay personas de las que aprender y están en algunas empresas. Parece que te enfrentas a un dilema común y, parafraseando a los chicos de .NET Rocks, vale la pena considerarlo: "Cambia tu empresa ... o cambia tu empresa".

Es decir, si cree en ciertos enfoques y principios básicos y se encuentra constantemente incapaz de venderlos y obtener la libertad de hacer y aprender cosas que quiere hacer y aprender, vale la pena considerar la búsqueda de una compañía que sea mejor apto para ti.


1
Mostré una demostración de todas las cosas nuevas. Todavía están incómodos. ver mi respuesta actualizada
Ravi Gadag

1
Me parece que sus ideas probablemente sean una mejora de lo que existe. El siguiente paso es descubrir por qué están siendo rechazados. ¿No has construido suficiente reputación con los mayores? ¿Son flojos? Falta de comunicación? ¿Podría estar haciendo un mejor caso o podría salirse con la suya después de demostrar su valía? Si es así, destriparlo podría ser una buena experiencia. Si solo son flojos y desinteresados, puede que no.
Erik Dietrich

1
Son desinteresados.
Ravi Gadag

66
@RaviG: Por supuesto que no les interesa. Eres un nuevo desarrollador nuevo, ansioso por complacer, con ojos mucho más grandes que tu estómago ... y estás tratando de decirle a tus desarrolladores qué hacer. Ya es bastante malo cuando la administración tiene una idea nueva todos los días sobre cómo cambiar todo el producto ... ¿un chico nuevo? No. Ve a hacer algo.
Steven Evers

19

Escribiré esto desde mi perspectiva como Desarrollador Senior (o insertaré cualquier otro título sofisticado que te guste aquí) que funcione con los desarrolladores Junior con frecuencia.

Probablemente sea una escasez tanto en su frente como en el frente de los Desarrolladores Senior.

Una cosa que muchos desarrolladores Junior no entienden es que mientras usted (como junior) está presionando para usar nuevas tecnologías, nuevas formas de hacer las cosas, diciéndole al equipo que lo están haciendo mal , etc. el equipo está informando a la gerencia en el momento de la entrega y la gerencia los está presionando para que entreguen cosas nuevas lo más rápido posible para que la empresa tenga la mayor cantidad de dinero posible (o entregue los mejores resultados para el cliente / cliente).

A veces, las formas probadas y comprobadas de entregar simplemente superan el riesgo de implementación [insertar tecnología genial aquí] . Los plazos ajustados, el trabajo excesivo y la presión de un camión para arrancar significa que la forma en que lo hemos hecho durante más de 8 años es la forma en que lo hacemos esta vez también.

Debe poder demostrarle al equipo que lo que está proponiendo realmente tendrá algún beneficio para ellos y para la empresa a largo plazo. De lo contrario, no obtendrá la aceptación de sus colegas y no podrán venderlo al equipo de gestión para obtener la aprobación para ejecutarlo.

¿Soy demasiado agresivo con los cambios que propongo?

Sin saber las circunstancias completas, podría ser. Solo decirle a la gente que A es mejor que B, por lo que deberíamos usar A , no tiene mucho terreno. Debe ir y hacer algo para mostrar por qué es mejor. No tiene que ser grande, incluso un pequeño componente o aplicación que muestre que la forma sugerida de hacerlo debería ser más que suficiente. Luego debe presentarlo y estar preparado para resistir las críticas de su equipo.

Incluso como desarrollador sénior tengo que hacer esto antes de poder convencer a mis colegas de que la nueva forma de hacer las cosas es mejor.

¿Qué debo esperar de los líderes de desarrollo senior que tienen más de 8 años de experiencia?

Como han dicho otros, más de 8 años de experiencia no necesariamente significa que eres fantástico. Pero en general, deberías poder aprender mucho de alguien que ha estado cerca de las trampas por un tiempo; También puedes enseñarles algo.

Las personas son personas y todos tienen un ego (algunos más grandes que otros) y no hay nada peor que el nuevo chico entrando y diciéndote que has estado haciendo tu trabajo mal durante los últimos 8 años. Al mismo tiempo, un desarrollador sénior (uno bueno) debería ser capaz de recibir críticas constructivas y ser capaz de articular los motivos de sus decisiones.

¿Me equivoco al esperar aprender y adquirir experiencia de una empresa?

No utilizar la tecnología y las características más avanzadas y avanzadas no significa que no esté aprendiendo y adquiriendo experiencia dentro de su empresa. La experiencia es experiencia, a veces conocer la vieja forma de hacer algo puede darte una mayor apreciación de por qué la nueva forma es mejor. Esto también le ayuda a demostrar por qué la nueva forma es mejor, porque comprende ambos y puede articular un argumento más convincente cuando intenta venderlo. Personalmente, no uso las últimas y mejores cosas en las que trabajo en este momento, pero todavía aprendo cosas nuevas todos los días y todavía se ve bien en mi currículum.

Habiendo dicho todo eso, si la empresa no encaja bien y todo lo demás falla, es posible que desee buscar un nuevo lugar para trabajar.


Al abordar su primer punto, creo que es una brecha con los desarrolladores senior. ¿Cómo puede un desarrollador junior comprender todas las implicaciones de su impulso por la nueva tecnología si el desarrollador senior no lo explica? También hay un buen equilibrio que debe lograrse entre apegarse a la tecnología confiable y dejar que los desarrolladores junior aprendan cosas nuevas (para asegurarse de que haya mucho aprendizaje que pueda ocurrir dentro de la esfera de la tecnología confiable)
Rudolf Olah

12

Piense en esto como una gran oportunidad.

Las promociones a menudo no (y no deberían) provienen de la cantidad de años que ha pasado en una empresa. Tienes lo que crees que son algunas ideas realmente buenas, y tus superiores / compañeros no quieren escuchar.

Aquí hay una estrategia:

  1. Haz algo asombroso
  2. Recopile métricas duras de lo increíble que es (este paso es clave)
  3. Demuéstrelo, con sus métricas a todos en su empresa (propietario / líder / seniors / vendedores - todos a quienes pueda tener acceso)
  4. Lucro

Y no me refiero profita ser un vago paso "yo gano". El paso 4 es donde obtienes uno o todos los siguientes:

  1. Promovido
  2. Un aumento
  3. Un bono

Ya sea con su empresa o con uno nuevo que pueda apreciar sus talentos y las increíbles métricas que tiene en su currículum.

Lo llamo "ser increíble", y funciona .

Anécdota: no soy siempre increíble, pero trato de serlo y he realizado los pasos dados 5 veces distintas (2 promociones, 3 nuevos trabajos; todos con aumentos salariales sustanciales).

Con eso en mente, probablemente debería responder sus preguntas directamente:

¿Soy demasiado agresivo con los cambios que propongo?

¿Ya has hecho algo increíble, con métricas y ejemplos de lo increíble que es? Hay un viejo dicho (grosero, como puede ser) ...

Ideas are like assholes; everyone's got one, and they all stink

Ve a hacer algo.

¿Qué debo esperar de los líderes de desarrollo senior que tienen más de 8 años de experiencia?

¿Seriamente? No deberías esperar nada. Pero trata de aprender todo lo que saben. Haga preguntas, revise en privado su trabajo, escuche cuando hablan y piense críticamente sobre lo que dice. Son experiencia en una caja ... err ... cuerpo. Intenta abrirlos y aprender. Mi mejor amigo es un desarrollador brillante, y le digo activamente que siempre trato de aprender todo lo que pueda de él.

¿Me equivoco al esperar aprender y adquirir experiencia de una empresa?

Absolutamente no. Eso no significa que no puedas aprender lo que no debes hacer. La gente cometerá errores, aprenderá tanto de los errores de su empresa como de los suyos.


3
Esto puede ser contraproducente si el resto del equipo no está en un nivel que pueda reconocer tu genialidad o se sienta amenazado por ella.
usuario16764

@ user16764: ¿Podría ser un poco más específico de cómo se ve ese escenario? Experimenté ambas respuestas, y no todas mis increíbles soluciones fueron tomadas por el equipo, pero nunca fueron contraproducentes.
Steven Evers

Intenté esto cuando estaba en una situación similar a la OP. Posteriormente, fui sometido a: a) "qué estás haciendo justo en este segundo" controles cada 15 minutos, b) despotricaciones de 5 minutos que consisten en gritar "¡NO ESTÁS CON NOSOTROS!" una y otra vez, c) me dijeron que me callara (o más específicamente, que me estaba "desviando") cada vez que decía una sola oración, yd) que me despidieran por la razón de que "la dirección de la compañía se dirige en ha cambiado ". El hecho de que lo que hice fue necesario para la entrega no se discutió, pero tampoco se reconoció.
usuario16764

1
@ user16764: ¿Recopiló los datos concretos sobre la eficacia de su solución y consiguió un trabajo con eso en su currículum? (editar: por cierto, eso es totalmente extraño que la gente hiciera eso)
Steven Evers

1
@ user16764: Si puede mostrar objetivamente, con hechos concretos, que en este caso particular, lo que hizo fue increíble, y luego la gente intenta ponerlo en la fila para hacer lo que todos los demás hacen, conseguir un nuevo trabajo, en serio. No puede arrastrar a todos los demás hacia el aprendizaje y la excelencia a lo largo de la vida, pero seguro que pueden arrastrarlo a lo contrario.
Christopher Creutzig

4

Creo que necesitas ser creativo. Comience a preguntar por algunas solicitudes de proyectos paralelos que sus mayores han estado posponiendo. Al trabajar en algo de forma independiente (o mejor aún, obtener otro desarrollador junior) y desde el principio, puede aplicar muchas de las cosas nuevas. No se sorprenda si descubre que no todo es para mejor.

Otro enfoque sería hacer su propia rama de código y pasar por un proceso de refactorización. Puede que nunca llegue a la producción en función de lo que has dicho, pero al menos puedes mejorar tu conjunto de habilidades.

Quién sabe, es posible que vean cómo puede facilitar el trabajo de todos y adoptarán el verdadero uso de la 'pereza' en la programación.

Si todo lo demás falla, ponga el nuevo conjunto de habilidades en su CV y ​​comience a buscar otro trabajo.


1

Si alguien trabaja como programador durante +8 años, no significa que sea un buen programador. ¿Qué hace a un buen programador serior programmer en mi opinión? Es la voluntad de compartir no solo experiencias, sino también de aprender nuevos pensamientos, técnicas, tecnologías, etc. Es la voluntad de mejorar todo el tiempo y mejorar. Muchos de los llamados programadores "senior" están apilados en viejos patrones de programación funcional de idiomas que se han ido. Algo así como nuevos conceptos e ideas simplemente no son para ellos, porque no los necesitan. Obtuvieron su "experiencia".

La voluntad de mejorar y aprender es mucho más importante que años de experiencias. El desarrollador junior que quiere aprender es mucho mejor para cualquier compañía que el antiguo desarrollador "senior" que ya "lo sabe" todo.


1

¿Trabajas en mi empresa?

No, pero en serio, esto parece ser un hilo común en muchas grandes empresas. El cambio es difícil y CARO. A veces no sabes cuánto hasta que estás en el medio y es demasiado tarde para volver.

Por ejemplo, mi empresa todavía está migrando de pantallas mainframe basadas en cobol a java. Es difícil vender a alguien en Spring o JSF cuando todavía están tratando de actualizar su tecnología con los estándares de hace diez años. Entonces, te diré lo que he hecho que ha tenido un éxito limitado (también soy un desarrollador jr). Se el ejemplo. No es lo suficientemente bueno como para que conozcas tu vanguardia, tienes que demostrarlo. Cuando todos los demás se estén burlando, traiga un libro para leer si tiene tiempo de inactividad. Y hable sobre una de estas tecnologías que le interese implementar. Si lo ven leyendo mientras están viendo youtube (honestamente sorprendió que su unidad de operaciones no capte eso y la gente sea despedida) estarán más inclinados a no solo creer que usted sabe de lo que está hablando, sino que incluso pueden preguntarle qué leyendo.

Como ejemplo, te contaré sobre mi experiencia con mi arquitecto principal. Chico inteligente, pero generalmente no le interesan las nuevas tecnologías. Fui y le pregunté cómo hacer algo en CVS (nuestro control de versiones) y mencioné "Oh, sí, estoy acostumbrado a usar Subversion, y lo hacen de esta manera. Gracias por su ayuda". Esto condujo a varias conversaciones sobre CVS y Ant vs. SVN y Maven, lo que lo llevó a tomar prestados un par de libros de mi biblioteca para revisarlos. Resultado final: vamos a pasar a los nuevos sistemas en algún momento de este año. La clave es ser abierto y útil sin transmitir que lo están haciendo mal. Después de todo, puede haber muchas maneras mejores de hacerlo, pero si funciona correctamente, entonces no lo están haciendo de la manera incorrecta. Cualquier tipo de falta de respeto te llevará al agua caliente en la mayoría de los casos, así que ten cuidado con eso.

Si simplemente no son receptivos, tenga en cuenta que está en un gran campo que tiene una gran demanda. Si eres curioso y aprendes rápido, encontrarás otro trabajo, probablemente uno que disfrutarás mucho más. Lo cual es tan importante como el dinero para mí. Asegúrese de mencionar en cualquier entrevista: "¿Ustedes usan tecnología xxx? Eso es increíble, siempre quise usar eso y lo intenté en mi antigua empresa". Poeple amor cuando tienes entusiasmo por lo que están haciendo.


0

Creo que tienes razón en tu agresividad. Es un gran placer trabajar con personas apasionadas y un gran castigo trabajar con personas con muerte mental. 8 años de experiencia no significan nada. Por supuesto, puede que no tengas razón. A menudo, las nuevas tecnologías están estrechamente vinculadas con el marketing y no siempre son mejores. Pero si no tiene razón, las personas mayores deben explicarle dónde están mal. De lo contrario, no obtendrá ninguna ventaja de su trabajo. Tal vez, eres joven y ardiente. Si es así, esta es su ventaja. No gastes tu tiempo en trabajos donde no puedas crecer. Preocupación por encontrar un nuevo trabajo, donde puede discutir sus soluciones y obtener comentarios de otros.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.