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)
- 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).
- 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).
- 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) - 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.
- Introducir nueva tecnología es malo? * (se puede incluir el factor de viabilidad).
- El gerente también está menos preocupado por las cosas de las que estoy hablando.
- Junior espera que puedan aprender muchas cosas del líder del equipo. * (no pidiendo ayuda o codificación senior para ellos).
Mis preguntas son:
- ¿Soy demasiado agresivo con los cambios que propongo?
- ¿Qué debo esperar de los líderes de desarrollo senior que tienen más de 8 años de experiencia?
- ¿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:
- Uso de Minificación de imágenes CSS, JS, SPrite
- Uso de interfaces y .net framework 4, genéricos y muchos otros.
- Bibliotecas del lado del cliente como modernizr, knockout js, bootstrap para responsive,
self-improvement
teamwork
junior-programmer
team-leader
Ravi Gadag
fuente
fuente
Respuestas:
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.
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.
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.
fuente
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.
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.
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.
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.
fuente
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:
Y no me refiero
profit
a ser un vago paso "yo gano". El paso 4 es donde obtienes uno o todos los siguientes: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:
¿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.
¿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.
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.
fuente
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.
fuente
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.
fuente
¿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.
fuente
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.
fuente