¿Debería sentirme avergonzado si un desarrollador de software junior sabe algo mejor que yo en la programación?

No. Mi experiencia como senior es que a veces los juniors intentan superarte con las tendencias tecnológicas actuales. Les gusta esto y les encanta superarte con un truco rápido o técnica y esto es parte de las tácticas para emerger de la multitud. Pero una y otra vez se demostró que toman una decisión terrible cuando se trata de la planificación del proyecto y las estrategias para la ejecución sin problemas de las tareas. Se desempeñan muy mal con lo que se refiere a la gestión y convencen a los grandes jefes. Vi muchas reuniones en las que Junior estaba demasiado emocionado y se desmayó con una única pregunta técnica del CEO. Aquí es donde entra en juego la experiencia y la antigüedad. Esas áreas pertenecen a ti siendo mayor y te concentras mejorando eso. No se preocupe, junior tratando de ser demasiado inteligente, ellos generalmente se exponen cuando se trata de una gran reunión con grandes jefes. Así que mi consejo es

  • No intente competir con ellos por sus motivos, nunca irán a sus terrenos para competir porque están desmayados allí.
  • Si enfrenta tal situación en privado o en una reunión de equipo, no demuestre que está avergonzado, de hecho tome el papel de hermano mayor que dice Bien hecho con una sonrisa y luego realice una presentación rápidamente para que el otro miembro del equipo aproveche su conocimiento (Confía en mí, vi a muchos junior huir porque son presentadores terribles o simplemente intentaban mostrar sus cosas delante de todos, PERO no quieren compartir conocimientos con otros)
  • Rápidamente en privado tome esa técnica o conocimiento y luego, de alguna manera, muestre cosas
  • Y por último, sé un jefe, a veces su técnica rápida no es eficiente cuando se trata de la ejecución o la gestión de proyectos, enfríalo con tus argumentos de BOSSy. Les doy un ejemplo: en una de mis tareas de proyecto, un miembro del equipo estaba tratando de ser demasiado inteligente para reunirse y hablar sobre una técnica matemática de la que no tenía conocimiento. Eso lo pone a cargo de establecer líneas de tiempo y ser superior. Cuando le pregunto cuánto tiempo él dice que necesita un mes para implementar, mientras que sé que había fórmulas más simples para implementar lo mismo. Mis argumentos fueron 1. Su técnica es muy buena pero muy técnica y tengo que gestionar cambios en el futuro. No hay garantía de que usted estará cerca y el futuro empleado puede necesitar el mismo tiempo o más tiempo para comprender la implementación. 2. Su técnica es excelente y eficiente cuando tenemos millones de puntos de datos conectados en la memoria, mientras que en mi caso hay un máximo de 30 puntos de datos conectados para buscar en esta historia de este negocio en particular. Por qué desplegamos un arma pesada cuando sabemos que solo hay moscas para matar. Ese último argumento hizo reír a todo el equipo 🙂 Así que sé un jefe

http://www.busines724.com

Una vez, dirigí a un ingeniero de lanzamiento junior, llevándola a través del proceso de aprender a lidiar con Jenkins, Job-DSL y todas esas cosas divertidas y locas que vienen con tener que lidiar con software de código abierto. Le había dado un pequeño proyecto de refactorización y ella había enviado una solicitud de extracción que me había convencido de que no funcionaría. Cuando señalé esto, en lugar de aceptar lo que había dicho, ella argumentó su caso y señaló que estaba equivocado en un simple punto de lógica.

No estaba solo equivocado, estaba espectacularmente, idiotamente, totalmente equivocado.

Este fue el día más orgulloso de mi carrera.

Ser más alto no se trata de estar bien todo el tiempo, se trata de ser una fuerza para el bien dentro de su organización. Lograr que alguien más joven llegue al punto en que pueden estar en lo correcto cuando cuenta es más importante que cualquier conocimiento técnico que pueda haber aprendido.

¡De ninguna manera! No hay razón para sentirse avergonzado de que alguien sea mejor en algo que tú, especialmente cuando se trata de programación. Hay mucho por aprender, no hay forma de que puedas saberlo todo, sin importar lo que diga tu título. Si es un hecho, da un paso atrás y piensa en estas pocas cosas.

1. Oportunidad: esta es una gran oportunidad para que aprendas de otra persona. En lugar de estar celoso o frustrado, tómese el tiempo para hacer preguntas e intente recoger lo que pueda en esta área. Te hará un mejor desarrollador senior.

2. Cumplido: tómese el tiempo para felicitar a este desarrollador por su habilidad. No solo aumentará su confianza, sino que le abrirá la puerta para que aproveche la oportunidad de aprender de ellos. La gente suele estar dispuesta a compartir conocimientos.

3. Constrúyalos: si este es un compañero de trabajo, hágaselo saber a tu jefe o a su jefe. No tiene que ser formal, pero le hará saber a su jefe que no solo tienen un gran jr. dev en su equipo, pero que uno de sus sr. Los desarrolladores son lo suficientemente maduros como para notarlos y felicitarlos.

Hay tanta competencia y tanto enfoque en uno mismo en el mundo corporativo. Cuando nos tomamos el tiempo para notar que otros tienen éxito y lo señalan, realmente se destaca de la multitud: a su jefe, compañeros de trabajo y otros.

La programación es definitivamente competitiva. Con los salarios de ingeniería de software con una tendencia de $ 158k / año , definitivamente hay mucha gente que trata de abrirse camino. Sin embargo, creo que tienes una gran oportunidad de mantener la puerta para este desarrollador, en lugar de ser intimidado por ellos.

Salarios de Ingeniería de Software en San Francisco, CA

Mi opinión también es similar a la de otros quoranes. Además, desde hace mucho tiempo nunca me avergüenzo de preguntar algo a mis jóvenes u otros tipos más jóvenes. No se limita a la programación ni a la conversación oficial.

  • Si abro youtube, hay tantos chicos y chicas jóvenes que están haciendo grandes cosas educando a otras personas.
  • Si voy a stackoverflow, hay tantos jóvenes graduados universitarios; quién podría seguir estudiando, pero sus respuestas a las preguntas formuladas no son menos útiles que las respuestas dadas por un desarrollador experimentado.
  • Supongamos que eres nuevo en alguna ciudad a la que te acabas de mudar. Debes unirte a tu oficina el primer día y te encuentras con caminos desconocidos. De repente, ves un montón de recién graduados universitarios en el camino. ¿Qué te sugerirán tus instintos? ¡Sí! lo has entendido 😉
  • Otro ejemplo, si has entrado en un restaurante; A quién llamarás primero, la probabilidad dice que habrá 7 de cada 10 camareros / os estudiantes de universidades.

Bueno, no parece satisfecho con mi respuesta. ¡De acuerdo! No hay problema, permítame recordar mi experiencia, cuando trabajaba como Trainee Software Developer en la ubicación de Noida. Allí, el equipo estaba ocupado para terminar con urgencia una funcionalidad. En esa ejecución se nos pidió que mostraramos el contenido de la información en el mouse del mouse. Mientras que otros ingenieros experimentados estaban probando, también me asignaron este trabajo. Y allí apliqué mi escaso conocimiento al kit de herramientas disponible de Visual studio y vinculé esa información en la información sobre herramientas. Voila! Estaba haciendo el mismo trabajo … Fue mi primer logro en algo. El equipo parecía feliz entonces. Eso es.
Tienes un punto de mi historia ahora.

“Nadie estaba avergonzado, aunque feliz!”

Gracias por leer y así A2A!

Agregaré a la mayoría de las respuestas aquí.

Tener a alguien que te enseñe algo nuevo es el propósito de tu carrera. No importa si son junior o no.

Pero déjame contarte un secreto. Lo que te hace un ingeniero superior no es que sepas todo sobre algoritmos, peculiaridades del idioma y complejidad.

Es que has visto proyectos reales del mundo real.

Ya sabes, por experiencia, qué es mentira y qué no. Lo importante y lo trivial.

Cómo estimar su trabajo, y el trabajo de otros ingenieros.

Puede diseñar, implementar, probar y entregar un proyecto completo de principio a fin. Incluso si no tiene algoritmos académicos de libros de texto.

Estas son cosas que un ingeniero subalterno NUNCA podrá hacer, sin importar cuántas competiciones de codificación hayan ganado y desde qué edad de kindergarten han estado programando.

De ningún modo. ¿Por qué deberías sentirte avergonzado si alguien sabe mejor que tú?

¿Sabe todo lo que sabes?

No, uno es perfecto en el mundo.

Creo que el conocimiento es algo que aumenta tanto como lo compartimos con las personas. Por lo tanto, debes aprender cosas de los demás, ya sea él o un joven. Puede ser que su conocimiento te sea útil algún día.

Edición 1:

Es una de las competencias básicas para que una persona tenga éxito. Algunos de ellos son:

  1. Habilidades de pensamiento: uno debe tener una visión de cómo el producto o la empresa pueden mejorar.
  2. Aprendizaje continuo: desaprender y reaprender en sintonía con condiciones que cambian rápidamente.
  3. Equipos innovadores y trabajo en equipo: a través de la colaboración, la cooperación y la coordinación.
  4. Creatividad: “soñando” nuevas formas de avanzar en la firma.

Si uno se siente avergonzado si su hijo menor sabe algo mejor que él, ¿cómo puede él / ella aprovechar el conocimiento del niño?

No. Porque, lógicamente, la única forma de garantizar que el desarrollador junior no sepa algo mejor que usted es si sabe * todo * sobre el desarrollo de software, lo que claramente no es cierto.

Espere que todos a su alrededor sepan cosas que no saben sobre el desarrollo de software y que, a su vez, probablemente sepan cosas que ellos no saben.

En mi función actual, sé más sobre (para elegir algunos elementos …) la localización en idiomas extranjeros, la arquitectura antigua de la máquina, el ensamblaje de bajo nivel, la moderna programación de utilidades (y los lenguajes un poco más oscuros como Perl y PHP) que el 90% de la gente en la misma oficina, pero saben más que yo acerca de la arquitectura de la consola, la programación de sombreado, las matemáticas en 3D, los scripts de inteligencia artificial, la iluminación y otras disciplinas que se utilizan en los mismos proyectos en los que trabajamos juntos. El tiempo ya ha pasado cuando alguien podría estar al tope del montón de conocimientos sobre absolutamente todo en el campo del desarrollo de software. Demonios, ni siquiera sé lo primero sobre el desarrollo de Mac o * nix, nunca tuve que hacerlo. Cualquiera que sepa algo sobre eso sabe al instante más que yo. ¿Qué me importa? No.

Sea diligente en lo que hace y aprenda cosas nuevas siempre que pueda, y siempre debería haber un trabajo disponible para usted.

¡Absolutamente no! ¿Cómo podrías saber todo? Cuando le hace una pregunta a Stack Overflow, o lee la respuesta de alguien más, ¿alguna vez se detiene a pensar si la respuesta que usa fue escrita por alguien menos experimentado que usted? Yo se que no

La programación y el desarrollo son disciplinas con una cultura de apertura y participación, en las cuales nos ayudamos mutuamente. Creo que lo único que debería sentir cuando alguien menor de edad que usted le muestra algo que no sabía es su gratitud.

Ah, y asegúrate de devolver el favor; Habrá muchas oportunidades para eso, estoy seguro!

No. Tómalo como una oportunidad para aprender sobre algo.

Los desarrolladores de software junior son en su mayoría graduados universitarios y, como resultado, tienden a recordar muchos conceptos básicos sobre algoritmos, etc. No es raro que un desarrollador senior haya olvidado muchos de esos conceptos básicos, simplemente porque no tienen que usar el conceptos básicos sobre una base regular. Sin embargo, les tomará poco tiempo repasar tales fundamentos.

Por otro lado, los desarrolladores senior han pasado años dominando muchos aspectos del desarrollo y el mantenimiento de bases de código a gran escala de calidad de producción. Con raras excepciones, un desarrollador junior no puede obtener el mismo nivel de experiencia en poco tiempo.

No, no deberías estar avergonzado. Las personas aprenden diferentes cosas a medida que su carrera se desarrolla. Las escuelas enseñan cosas nuevas que no estaban disponibles cuando íbamos a la escuela. La tecnología cambia todo el tiempo y es difícil mantenerse al día.

Esto lleva al valor de un equipo. Ningún programador solo necesita ser el tipo más inteligente en la sala. Trabajando en equipo, puedes aumentar las debilidades al usar las fortalezas de los demás. Todos mejoran de esta manera.

El mayor problema es que la administración no suele ver esto. Piensan que al reemplazar a los programadores como engranajes en una rueda, las cosas se ponen mágicamente mejor. Podrían hacerlo en el corto plazo, pero los términos a largo plazo sufren desde que ese nuevo engranaje eventualmente continuará. Luego, el equipo vuelve a sufrir y, finalmente, tienes un equipo de programadores mediocres y la administración está constantemente buscando a esa superestrella para perpetuar el ciclo. Se convierte en un fallo de administración, pero solo lo ven como no poder encontrar buenos programadores.

Los equipos se construyen, pasan tiempo entrenando y aprendiendo a comprender las debilidades de los demás y a ayudarse mutuamente para garantizar que el proyecto se realice correctamente. Sé un constructor de equipos, aprende de los demás. Explique a la gerencia, si es necesario, que desarrollar las habilidades del equipo llevará tiempo y esfuerzo. Haga un almuerzo y una sesión de aprendizaje, haga que la gerencia proporcione el almuerzo como una señal de que están invirtiendo en el equipo.

Recuerde, lo más probable es que si no entiende algo, hay otros en el mismo barco. No es embarazoso, es una oportunidad para aprender y crecer.

¡Absolutamente no!

Déjame darte algunas verdades fundamentales.

La tecnología sigue cambiando a una velocidad tan rápida, que lo que se consideraba una tecnología hot shot hace una década no es un gran problema ahora.

Afrontémoslo: aquellos que se graduaron hace una década no habrían estudiado sobre las nubes o el aprendizaje automático a menos que se hayan especializado.

Ahora, cada persona que se gradúa en informática, tiene un documento sobre la nube y el aprendizaje automático se ha convertido en un término común.

Por lo tanto, una persona que ha trabajado con Java a lo largo de su carrera, probablemente después de graduarse hace una década, podría descubrir que no tiene ningún conocimiento de la infractura en la nube, mientras que su hijo menor que se graduó recientemente sabe más que él.

Así que la clave para llevar es esta: no, nunca se avergüence. El aprendizaje es un proceso continuo. Nunca dejamos de aprender y no hay necesidad de avergonzarse solo porque tu hijo menor sabe más que tú. Sé feliz, que tienes a alguien en tu equipo que sabe algo al respecto. Sea sincero con el hecho de que no está familiarizado con él y esté abierto al aprendizaje. Eso creará un ambiente para una relación de trabajo saludable sin sentimientos difíciles.

¡Buena suerte!

Hablamos mucho sobre el ego y es posible que también hayas leído, pero es muy difícil saberlo, ya que nunca es visible en forma física o es detectado fácilmente por otros órganos.

El ego ayuda a crear una identidad, por supuesto, y tiene su propia importancia en la vida mundana, pero no podemos permitirnos sentarnos sobre nuestra cabeza para aplastarnos.

¿Dónde está la razón de la vergüenza? ¿Es el ego en este instante tratar de instigarse a sí mismo por su propia naturaleza divertida?

Puede que sea bastante mayor de edad, pero considero a cualquier persona mayor de 18-20 años como hermano al interactuar con ellos. Esto tiene motivos para crear transparencia y también para ayudar a aprender algo de ellos. Si lo hago, entonces también intentan aprender algo bueno de mí.

¿La vida no es dar y tomar ?

Rara vez lo pensamos en un asunto que podemos asociar fácilmente donde se trata de dinero o riqueza.

Siempre crecemos más rápido como equipo cuando cada miembro intenta heredar una calidad única de los demás. Si el desarrollador junior sabe algo mejor, intente aprender y motivarse en sentido positivo. Trabajaría más duro y más horas si fuera necesario y le enseñaría más valor (conocimiento del software). Cuando lo haga, recuerde que él también está aprendiendo muchas cosas o rasgos de usted que no ha encontrado y que falta en las escuelas sin decir ni aprender.

¿Cómo ayuda esto?

Si seguimos ese camino, nos estamos convirtiendo en un buen ser humano y, por lo tanto, el otro también se está convirtiendo en un buen ser humano .

¿Sabes que un buen ser humano es una especie humana extinta y que ese trabajo podría ser de calidad divina y más necesario en el mundo?

Las personas como usted podrían tener una mayor demanda en la vida, ya que ya conocen su conocimiento del tema, conocimientos nuevos y actualizados que pueden contratar en cualquier momento mediante el reclutamiento, pero no todos pueden convertirlos en un buen ser humano y eso agrega una calidad única en usted.

Si estaba pensando que él compitiera en el terreno técnico, no trató de expandir su mente o visión, PERO AHORA DEBE HACERLO

¿Desconcertado? Si solo eso fuera suficiente. Debes realizar un abatimiento ritual, entregar el anillo secreto del Programador Mastee al nuevo desarrollador Alpha y retirarte silenciosamente a tu cubículo.

Ok, en serio … esto tiene que ser un troll, ¿verdad? Si no, mi consejo es que sea feliz de aprender algo nuevo (trabajaste con ellos para aprender nuevas técnicas, ¿no?) Y que te sientas orgulloso de tener un buen desarrollador junior en tu equipo. Nadie sabe todo sobre cualquier herramienta de desarrollo no trivial, lenguaje, marco, etc. Debería ser algo bueno cuando alguien en un equipo puede aportar nuevos conocimientos y técnicas. Suelta tu ego y sigue adelante.

Comencé a programar a la edad de 20 años. Cuatro años más tarde, me dieron un padawan. Dude ha estado ganando competencias de programación desde el 1er grado. En un sentido puro de programación, él es mucho mejor programador de lo que yo nunca lo seré. Y note que no estoy hablando simplemente de “algo”. Él es mejor en casi todos los sentidos.

Necesitas tragarte tu orgullo y hacer que corran a la máxima velocidad lo más rápido posible. Como efecto secundario, trabajar y comunicarse con personas más inteligentes que usted a diario es una muy buena manera de superarse.

Entonces, seis meses después, el jefe viene y dice:

“Wow, gran trabajo! Aquí hay otros dos internos. Ahora eres un líder de equipo. Discutiremos tus términos el próximo jueves “.

He trabajado para algunas empresas y tengo impresiones indirectas de muchas otras. También conozco a algunas personas que trabajan en Google, Amazon y Microsoft. Las empresas usualmente tienen mucho más talento para la programación del que nunca hubieran encontrado uso. Lo que realmente necesitan es gente dispuesta a comunicarse y asumir responsabilidades.

Tuve un informe que estaba realmente apasionado por el desarrollo de front-end. Él siempre fue más allá de lo que se esperaba de él como desarrollador de pila completa. Una vez, el código revisó uno de sus proyectos con cambios significativos en javascript, descubrí una falla importante en la forma en que implementó una promesa de javascript. Después de un par de minutos, una notificación de gmail se deslizó por la pantalla superior derecha.

“Así no es como funciona”

Sintiéndome confiado acerca de mi descubrimiento, rápidamente retomé la página de revisión del código con la esperanza de corregir su corrección. Poco sabía, mi comprensión era completamente incorrecta debido a mi legado conocimiento sobre cómo se debe implementar esa promesa. Sintiéndome avergonzado, quería encontrar una excusa mintiendo acerca de cómo accidentalmente había leído mal el código.

En cambio, decidí aprovechar esta oportunidad para estar al día, así que le pedí que me informara sobre cómo se supone que debe funcionar la promesa. Durante este proceso, noté que él es un gran mentor y maestro. Al final, aprendí una o dos cosas sobre las promesas y pude aprovechar su capacidad de mentor para guiar a más desarrolladores junior.

En lugar de sentirse avergonzado, piense en cómo puede hacer crecer al desarrollador junior para influir positivamente en su equipo, su organización y en usted mismo.

Sí. Y creo que deberías matarlo.

Bueno, más en serio, si eres capaz de reconocer que él es bueno honestamente, entonces eres un tipo inteligente. Y como un chico inteligente, estoy seguro de que has sido mejor que otro senior, una vez en tu carrera. ¿Cómo fue el ambiente?

Ahora, supongamos que usted era el chico más joven, ¿cómo vería al senior, y cuáles son las razones que lo harán aceptar su mentoría?

Una vez que tengas esas razones, juega y sé su GURU!
(La gente aquí mencionó algunas razones: conocimiento de trabajo en equipo, filosofía de prueba, manténlo simple, estupido, YAGNI racional, relación de gerente de negocios con el desarrollador, … hay muchas cosas que las habilidades de programación no pueden enseñar, y uno necesita un mentor para ese.)

Muy divertido..! ¿Por qué debería sentirse avergonzado?

Nadie es perfecto al menos en la industria de TI .. !!

Déjame que te cuente mi historia en la que trabajaba en el desarrollo offshore en Pune para una empresa con sede en EE. Conocí a un tipo que venía de la costa tiene casi 18 años de experiencia y trabajé para sunmicrosystem (Inventor of Java) en el diseño de diferentes linux JVM. Tuve una muy buena discusión con él por un tiempo, después de eso él había discutido algunas cosas técnicas conmigo y le he dado algunos ejemplos mejores que él, y él me apreciaba por esos ejemplos, no era porque no sabía nada o tenía menos conocimiento. que yo.

Por lo tanto, nadie es perfecto si alguien, ya sea menor o mayor, si sabe algo que no significa que no sabes nada, podrías tener una mejor idea de otra cosa. Así que admítelo y aprende de los demás y aprecia. aumentará su confianza.

Con la esperanza de que lo entiendas y te permitas aprender cosas nuevas de alguien.

Disfruta leyendo.

Buena suerte..!!

Tenía un desarrollador junior que era mejor que yo y ambos lo sabíamos. Él era más inteligente y más entusiasta que yo también. Pero lo único que no tenía (y posiblemente todavía no lo tiene) es la comprensión de cómo ser profesional y trabajar bien con los demás. Eso es algo que requiere tiempo, madurez y experiencia, y rara vez se encuentra en personas más jóvenes.

La forma en que lo manejé es que traté de alentarlo y abogar en su nombre mediando las comunicaciones con otros colegas tanto como sea posible. Él es un poco torpe y dudo mucho que haya apreciado mi ayuda, pero aún así hice lo que pensé que era lo mejor para la empresa. Al final, asegurarte de que los jóvenes talentos puedan prosperar en tu entorno te hace lucir bien, incluso si ese joven talento eclipsa el tuyo. Cuando no puedes ser la estrella de rock, sé el mentor.

Nunca te sientas avergonzado por esto, ya que no se trata de la edad o el nivel, se trata de muchos factores y la programación no tiene edad ni final. Este desarrollador junior puede saber algo que tú no sabes y es lo mismo para ti, puedes saber cosas que él no sabe porque todo depende de las experiencias y los programas que codificó, en los que podrías tener experiencias de codificación completamente diferentes. Los expertos y programadores profesionales de Holberton School pueden ayudarlo a aprender mucho sobre cualquier idioma hasta que se convierta en un experto en el campo y tenga todos los conocimientos que le gustaría tener. La práctica hace mejor, una cita bien conocida que utilizamos a diario, especialmente cuando se trata del desarrollo y la programación de software, necesita mucha paciencia y práctica, y nunca comparar su progreso con el de nadie más. Concéntrese en un idioma que realmente quiera aprender, practique todos los conceptos básicos de este idioma, trabaje con ahínco, asista a clases para ayudarlo y cree programas de diferentes maneras, se encontrará como un experto y podrá aprender más rápido.

A menos que seas un oráculo, no debes sentirte avergonzado. Realmente no hay un final para la amplitud y profundidad del espacio del problema abordado por el software. Conozco a algunos desarrolladores web brillantes que no saben nada sobre el desarrollo integrado, la criptografía o la ciencia forense, áreas en las que he pasado mucho tiempo. Lucho enormemente con el aprendizaje automático. 🙁 Es solo la realidad, nunca lo sabrás todo. Sin embargo, cualquiera puede aprender algo nuevo, independientemente de su edad.