Cómo aprender al máximo de un ingeniero de software senior como un novato

Pensé en esta pregunta por un momento, ya que siento que he tenido bastante éxito en hacer conexiones con ingenieros superiores en los últimos dos años. Traté de resumir lo que me funcionó en conceptos generales.

Al igual que con cualquier consejo de este tipo, su kilometraje puede variar de acuerdo con su estilo personal o no.


Comenzaré diciendo que aprender de las personas mayores es un juego de números y una ley de promedios en lugar de un “boleto de oro” con un ingeniero a menos que tengas mucha suerte. He descubierto que al tratar a todos como mentores y trabajar en la relación, lentamente se busca a los mejores durante varios años. No todo el mundo es un mentor adecuado, algunos están demasiado centrados en su propio crecimiento, algunos son mayores pero se montaron en una ola tecnológica que ya no es relevante, algunos tienen problemas familiares en los que están trabajando ahora, y algunos simplemente no les agradas. Simplemente trabaje en las relaciones utilizando las técnicas a continuación y eventualmente encontrará su hogar. Personalmente, casi renuncié al trabajo que tengo ahora después de un par de años de crecimiento estancado, pero me arriesgué en otra área que me impulsó tremendamente en términos de crecimiento.

Si quiere aprender de un ingeniero superior, entonces necesita tres cosas: 1) trabajar con la persona involucrada, 2) asegurarse de que sepa que quiere aprender y 3) ser agradable para enseñar. Entonces, ¿qué puede hacer para aumentar sus probabilidades de una respuesta positiva?

  1. Trabajar con la persona: esta parece más fácil de lo que es. Eres con quien andas y quieres salir con más personas mayores para acelerar tu aprendizaje. Dos problemas: a) probablemente los molesta yb) a la gente le gusta pasar el tiempo sabiamente con aquellos que son útiles, y usted es todo lo contrario en este momento, ya que desea una inversión de tiempo de ellos.
    1. ¿Les molestas? ¿Qué? – Probablemente no sea lo que más dice la PC, pero piensa en cómo cuando estabas en el último año de secundaria y esos tontos estudiantes de primer año te molestaban tanto … esto continúa por el resto de tu vida. He descubierto que esto está relacionado con una brecha de edad, pero no voy a entrar en eso para poder concentrarme en su pregunta. Entonces, solo asume que los molestas y mantienes las cosas personales al mínimo al principio en lugar de cometer el error de asumir que son tus amigos. Esto significa que probablemente no quieran escuchar sobre tu novia, ver fotos de bebés, etc. porque no les importa y serás visto como un milenio que comparte demasiado. (no es mi opinión por cierto, lo acabo de ver) No tiene por qué ser extraño, solo reconozca que hay una brecha entre ambos y actúe respetuosamente en lugar de tratar de acercarse ignorando la brecha.
    2. No eres útil (todavía). – Cómo he superado esto, la estrategia súper secreta de ser útil de todos modos, solo que no en cosas técnicas. Esto diferirá en cualquier entorno de trabajo , pero para mí, a estos muchachos mayores parece que realmente no les gustan algunas cosas. Prueba de fábrica y nuevas cosas de TI en mi área. Mi trabajo era en la fábrica, pero quería un trabajo de diseño. Entonces, me volví muy bueno en el trabajo de fábrica hasta que fui a quien llamaron porque “lo hice bien”. Hice conexiones y, en poco tiempo, estaba planeado proyectos … y formulé preguntas sobre cómo interactuar correctamente. Otra cosa que hice en un área diferente fue aprender todas las nuevas herramientas basadas en la nube de TI que necesitábamos. Los muchachos mayores habían pasado por un par de estos a lo largo de los años y tienden a evitar hacerlo nuevamente. Pude ser útil al explicar “dónde encontrar” y “cómo hacerlo” con el nuevo software. Debajo de mi calificación salarial, posiblemente, pero tenía que aprenderlo de todos modos, y me hizo útil para las personas con las que quería hablar conmigo.
    3. Básicamente, combina estos dos al estar cerca de cosas útiles cuando sea posible, pero evita estar desagradablemente cerca de ellos cuando no lo estás. Esto enmarca su relación como “compañero de trabajo útil” en lugar de “ingeniero de software novato”.
  2. Asegúrate de que sepan que quieres aprender. – Ahora tiene una relación en la que ha proporcionado valor de una forma u otra. Todavía no te ayudarán a menos que sepan que quieres que lo hagan.
    1. Haga preguntas sobre su trabajo (si corresponde): de vez en cuando, pídales ayuda o consejos sobre cómo hacer algo. He encontrado que es mejor usar cualquier prefacio. Piense “¿debería hacer x o y” y no “qué debo hacer para resolver ?” Esto hace que parezca que hace su investigación y solo necesita ayuda para obtener experiencia. Gente así es agradable y gratificante para enseñar sobre personas que necesitan entrenamiento constante.
    2. Si no está trabajando, comience un proyecto paralelo o un proyecto de investigación para obtener algunos. Frase la pregunta como arriba.
    3. No digas “Quiero aprender”. Todo novato dice eso y la mayoría de las personas en realidad no lo hacen cuando miras sus acciones. Algo así como el tipo que dice que es divertido no es tan divertido como el que hace reír a la gente. De todos modos, demuestre que quiere aprender . Haga preguntas (no sea desagradable con esto, tienen un trabajo que hacer), haga un seguimiento y muestre iniciativa por su cuenta para resolver problemas.
  3. Muy bien, entonces has resuelto la proximidad y muestras un deseo de aprender. Ahora, la mejor manera de aumentar sus probabilidades de que le enseñen es que sea agradable enseñar.
    1. Haga un seguimiento con investigaciones y preguntas relacionadas o aclaraciones.
    2. Si te dan un libro o te recomiendan uno, ¡LÉELO! Haz una pregunta o haz un comentario.
    3. Demuestre que está aprendiendo con el tiempo sobresaliendo y demostrando que está utilizando sus conocimientos y construyendo sobre ellos.
    4. Dales crédito por sus ideas al presentar (si no es obvio)
    5. Sigue siendo humilde. Asegúrese de escuchar, incluso si están equivocados, probablemente haya una razón por la que piensan eso. Hacer preguntas está bien, pero no vayas a alguien con una pregunta y luego les des una conferencia. Lo he visto.
    6. No vayas a ellos por cosas con las que no pueden ayudarte. Superará a algunos de sus mentores ya que es posible que no esté trabajando en su especialidad. Deja que la relación se vaya o hazte más amigo cuando eso suceda.
    7. No los trate como un profesor (principalmente un problema con pasantes). No son responsables de su crecimiento técnico, por lo tanto, no los trate como tal. Siempre sea agradecido por la ayuda, la tutoría y el tiempo que recibe.

Entonces, recuerda lo que dije al principio, este es un juego de números y hay un millón de razones diferentes por las que podría o no ser un buen mentor para ti en este momento. Pero puede aumentar sus probabilidades de obtener mentoría de ellos.

Además, se sorprendería de las cosas que lo diferencian (bueno o malo) y lo que regresa para ayudarlo o perseguirlo más tarde.

Buena suerte.

  1. Ve a escribir tu propio código .
    No lo uses solo como ejemplo. Aprenderá mejor si también lo trata como una red de seguridad y un punto de retroalimentación para su propio trabajo. Si se atasca, pídales que lo ayuden a resolverlo y que expliquen por qué lo que está haciendo no funciona. Luego, pídales que revisen el código de su trabajo. Él puede señalar mejores formas de hacer las cosas y explicar por qué un método es mejor que otro; si no tiene sentido, entonces pregúntelo para que entienda por qué está haciendo algo de una manera u otra. Pídale también que le aconseje si su código es lo suficientemente consistente y claro. ¡La crítica constructiva frecuente es el mejor regalo que puede ofrecerte (incluso si a veces duele)!
  2. Pídale que lo guíe en términos de progreso profesional y objetivos inmediatos para la superación personal. Identifique las fortalezas y debilidades y encuentre formas de mejorarlas juntas. Descubra algunos de sus consejos y trucos, como las formas en que mantiene actualizado su conocimiento y su flujo de trabajo sin problemas (como asistir a reuniones, contribuir al código abierto, usar rastreadores de tiempo), pruébelos usted mismo.
  3. Además de su conocimiento, asegúrese de aprovechar su experiencia. Los ingenieros superiores a menudo se diferencian de sus juniors en tres puntos: comprender el negocio, las habilidades arquitectónicas y saber cómo funciona el código debajo de la superficie. Asegúrese de conocer todas estas cosas en su contexto actual. P.ej; ¿Utiliza su software la estructura tradicional de MVC y por qué? ¿Cómo se fundó la empresa? ¿Esto resultó en una deuda técnica (por ejemplo, monolitos de un solo hombre desordenados frente a una fiebre de inicio de bibliotecas hipster mixtas y combinadas)? ¿Cómo funciona el alcance en el idioma elegido?
  4. ¡Pregúntale qué errores ha cometido! Por lo menos, te ayuda a darte cuenta de que todo el mundo está jodido. Con suerte, significará que no cometerá errores similares en el futuro y lo hará parecer más accesible cuando esté atrapado o haga las cosas mal, pero, sinceramente, es una gran ayuda saber que ser un buen desarrollador no significa ser perfecto. .

Dos palabras: “revisión de código”.

Profesión artesanal. El desarrollo de software es una “profesión artesanal”. Esto significa que tienes que aprender muchas cosas haciéndolas en lugar de aprenderlas en la escuela. Esto, a su vez, significa que debes actuar como aprendiz de alguien que es maestro. Usted ve este fenómeno con médicos, abogados, electricistas y fontaneros también.

¿Cuánto tiempo necesita ser asesorado ? Depende del individuo, pero generalmente de dos a cinco años. Se necesitan dos años para aprender a escribir código “bueno”, luego otros tres para aprender a escribir código bueno más rápido. Desea “inmersión total” en la codificación durante los primeros cinco años.

¿Por qué revisión de código ? Por la misma razón, un médico del personal supervisa a los internos durante la cirugía. Encontrará que incluso una revisión muy breve de un ingeniero más experimentado encontrará muchos defectos en su código. No estoy hablando de defectos de apertura, sino simplemente formas de mejorar las diversas cualidades arquitectónicas de software deseadas en el código, para que su código no solo funcione, sino que sea “irrompible”.

“Pero no tenemos tiempo para la revisión del código “. Hay tiempo para revisar el código ahora o para corregir errores más adelante. Todas las organizaciones de software lo saben, pero a menudo no entienden cuánto puede hacer una revisión de código por ellos.

Haz del aprendizaje tu hábito para ser un buen programador. Existen múltiples fuentes desde donde puede aprender y una de ellas es aprender de sus compañeros de trabajo. Con eso me refiero no solo a los superiores, sino a todos los que te rodean. Podría ser programar cosas o cualquier otra cosa que desempeñe un papel importante para ser bueno en la industria, desde escribir un correo electrónico hasta comprender los requisitos de software. El desarrollo de software tiene diferentes cosas en su interior, como el desarrollo de la interfaz de usuario, backend, frontend, base de datos, etc. Encuentre algunos buenos blogs en Internet, suscríbase a algunos buenos canales en YouTube y practique lo más importante posible. Para profundizar más, recomiendo libros. ¡Buena suerte!

Esta pregunta me recuerda el dicho pez para un hombre que le das de comer por un día. Enséñele a pescar y alimentarlo de por vida. Aprende cómo aprende. Aprenda a qué le presta atención. Aprenda cómo va aprendiendo sobre nuevos lenguajes de software. El software avanza a un ritmo tan rápido que aprender estructuras de codificación no le servirá a largo plazo, pero aprender algunos de sus mejores trucos de codificación. Los trucos que ha inventado que son genios verdaderos te ayudarán mucho más. Estudie cómo piensa y aborda los problemas de codificación, y luego aprenda cómo aplicar esto dentro de su propio pensamiento. Ahora has aprendido de él cómo ser un programador de alto nivel, y eso es lo que realmente buscas.

Una buena manera es la programación en pareja.

Si la compañía y el senior están preparados, te involucras en toneladas de decisiones y escuchas la experiencia que el senior les brinda.

Hablas del por qué no, las ideas rechazadas y los callejones sin salida.

No obtienes nada de eso del código

More Interesting

¿Cuál es el camino para convertirse en ingeniero de software?

¿Cuáles son algunas buenas bromas sobre los programadores de software?

¿Pueden los ingenieros / programadores / ingenieros de software / ingenieros mecánicos hacer artes marciales (sin que esto afecte sus habilidades mentales)?

Tengo 24 años y soy brillante sin experiencia en programación, ¿es posible convertirme en un ingeniero de software excepcional y bien pagado en los próximos 10 años?

Cómo convertirse en un gran desarrollador de un buen desarrollador

¿Cuáles son algunas historias de emprendedores tecnológicos (o ingenieros / desarrolladores de software) que obtuvieron malos resultados en la universidad, pero tuvieron éxito en el lugar de trabajo?

Quiero ganar la mayor cantidad de dinero posible como ingeniero de software sin seguir un camino que no disfrutaría (por ejemplo, el arquitecto empresarial de Java). ¿Debería duplicar mis habilidades de programación o utilizar mi mente matemática para alcanzar un alto nivel de competencia en inversiones, comercio, bienes raíces, etc.?

¿Cuál es el día típico de una hermosa y ardiente chica del sur de la India que trabaja como ingeniera de software?

¿Qué hace un ingeniero devops?

¿Los trabajadores indios H1B cambiaron la respetada percepción de la ingeniería de software?

¿Cuál es mejor para unirse al puesto de aprendiz de ingeniero de software asociado y analista de programador respectivamente: Accenture India o Cognizant?

¿Para qué sirve la ingeniería de software?

¿Cuánto tiempo se tarda en ascender a ingeniero de software iii en Amazon?

¿Cuáles son algunos buenos trabajos disponibles para un ingeniero de software en UP East?

¿Quién es un ingeniero de software senior? ¿En qué momento sabes que eres un ingeniero de software senior? ¿Realmente hay alguna lista de verificación?