¿Cómo inspirar a un pasante con la programación? [cerrado]


8

La situación es esta: tomamos un pasante por un verano con la mente de que si se pone al día durante el verano, lo mantendremos como desarrollador junior a tiempo parcial.
Lo llevamos después de su primer año en la universidad, por lo que su conocimiento era demasiado bajo para involucrarse en proyectos reales (en realidad solo programó en la universidad), por lo que mi tarea consistía en impulsar todas las cosas que pudiera para tenerlo listo para unirse. proyectos reales en septiembre. Mientras somos un equipo de desarrollo remoto, le dimos la posibilidad de realizar su pasantía de forma remota, con horarios flexibles.

Pasaron dos meses y no estoy impresionado con su progreso. Le di varias tareas para implementar, acceso a recursos de aprendizaje, rutas de inicio recomendadas, etc., acordé que informaría cada dos días, teníamos sesiones de pares de vez en cuando, revisábamos su código juntos, etc.

De todos modos, parece que pasó menos tiempo escribiendo código de lo que esperaba y antes de que dijera que no se desempeñó lo suficientemente bien como para unirse a nuestro equipo, estaba pensando que puede ser mi culpa, tal vez estaba presionando demasiado , eso es importante en proyectos de la vida real (como pruebas unitarias, estructuración de código, material de base de datos, etc.) y no suficientes cosas divertidas, que lo conectarían a la programación y esa es la razón por la que pasó menos tiempo del que esperaba.

Así que me quedan ~ 20 días y puedo usarlos para inspirarlo con la programación, la pregunta es ¿con qué y cómo?


44
Suena más como un jefe distante que como un mentor cercano. ¿Quizás deberías reconsiderar cómo enseñas?

3
@ ThorbjørnRavnAndersen - Entiendo que no soy perfecto en esto y estoy tratando de mejorar, es por eso que hago preguntas como esta. No tenía un buen mentor cuando era joven, no tengo a nadie para aprender esto hoy, así que es prueba y error.
Giedrius

Necesitas estar activamente comprometido con él. Si no lo eres, no puedes medir su progreso y guiarlos como un profesional experimentado. Parece que pasó mucho tiempo hasta que realmente comenzaste a activarte con las interacciones.
Plataforma

1
Creo que el problema es tenerlo a distancia. funciona bien para algunas personas pero no para otras. especialmente no para las personas que son pasantes :) en primer lugar, debes enseñarle buenos hábitos de trabajo antes de presionarlo para programarlo. piensa "karate kid". dar a alguien en su primer año de universidad es una idea de baaaad, solo recuerda a ti mismo en tu primer año de universidad: O y si solo codificó en la universidad, no veo que sea el tipo de persona, que preferiría sentarse en casa un viernes por la noche para codificar que salir con sus amigos
user60812

Respuestas:


7

¿Qué tal trabajar en mini sprints de un día?

Comience el día (9 a.m.) haciendo que él / ella diga lo que intenta hacer durante el día (y gestione sus expectativas) y luego hable sobre lo que completó (5 p.m.), incluida la forma en que se abordaron los problemas. Lentamente, con el tiempo, extienda los sprints una vez que esté más feliz con el comportamiento.

Aparte de eso, deja que él / ella continúe con eso. Si no sienten la motivación para hacer el trabajo, entonces es por eso que contratas a un pasante, tanto para que obtengan experiencia como para que aprendas cómo funcionan también. Así es la vida.


6

Parece que presionaste demasiado y podría estar un poco abrumado, conozco desarrolladores experimentados que realmente no podían comprender las pruebas unitarias e imagino que era demasiado para alguien con solo un año de educación formal. Y realmente no puedes forzar la inspiración.

Lo primero que haría sería hablar con él y averiguar qué le parecía agradable hasta ahora, y concentrarme en eso durante el resto de su pasantía. Podemos proponer mil actividades relacionadas con la programación divertida, pero lo que es divertido para mí probablemente no será divertido para su interno.

Si hay al menos un aspecto del trabajo que él encontró agradable, les sugiero que construyan un mini proyecto a su alrededor, incluso algo que no esté relacionado con el trabajo. Si, por ejemplo, disfrutaba trabajando con bases de datos (lo dudo;), podría crear una aplicación CRUD básica y luego expandir los procedimientos almacenados y otras cosas relacionadas con la magia negra relacionadas con la base de datos.

Sin embargo, al final del día, debes estar preparado para la posibilidad de que él no sea lo que estás buscando.


Bueno, es una especie de punto de mi pregunta: las aplicaciones CRUD no son tan interesantes, necesito pensar en alguna pequeña aplicación simple que tenga más diversión que CRUD :)
Giedrius

@Giedrius CRUD fue solo un ejemplo (ciertamente malo), mi punto principal fue descubrir lo que más disfrutaba. Otro ejemplo serían algunos problemas del Proyecto Euler.
Roc Martí

1
Estaba pensando en algo que puede ser trabajar en appharbor.com - algo bastante simple, pero útil para otros - como la decodificación de cadena de base 64, porque personalmente para mí el mejor motivador es saber que alguien está utilizando mi aplicación
Giedrius

6

Puede estar pushing too hardcon pruebas unitarias y personal de bases de datos del mundo real. Sin embargo, su nivel de habilidad ya debería estar en buena forma para corregir errores.

Mi understanding of internshipes un poco diferente . La mayoría de los pasantes se encuentran en su último año de estudio de Ciencias de la Computación, quienes tienen un buen potencial para la investigación y conocen los conceptos básicos de la escritura de código, creando sus propias aplicaciones pequeñas. Sin embargo, estar en un primer año de universidad y no tener experiencia en códigos antes de comenzar la universidad hace que el candidato interno sea muy poco calificado.

Creo que la habilidad más importante en el programador interno / junior es his analytically reasoning skills.que sería mejor tenerlo en la oficina y guiarlo cara a cara mientras realiza un seguimiento de su progreso y enfoque en la implementación de las tareas asignadas. Porque también puede observar sus habilidades blandas (como comunicación, actitud, ajuste general al entorno de su empresa).

In terms of motivation:puede inspirarlo guiándolo a los recursos correctos (para mejorar sus habilidades o brindarle la oportunidad de aprender) y asignándole tareas pequeñas y factibles todos los días. Es posible que se sienta más satisfecho si realiza algunas tareas de bajo nivel todos los días y se interesa más en el proceso de aprendizaje y contribuye al real code. Sin embargo, recomendaría encarecidamente que revise su código antes de ir al tronco principal.


1
Bueno, estoy de acuerdo contigo, lo que pasa es que esta vez no fue mi decisión tomarlo como interno.
Giedrius

5

Creo que la mejor manera de inspirarlo es darle algunas tareas reales, no significa que debas involucrarlo en el desarrollo del producto, pero generalmente siempre hay procesos que necesitan mejoras dentro del proceso de desarrollo, dándole algo Las tareas que desarrollen algunas utilidades que luego serán utilizadas por el (los) equipo (s) podrían ser una excelente manera de hacer que gane interés y, al mismo tiempo, saber cómo funcionan los procesos internos.

Salud


3

Si desea inspirarlo con la programación, puede que tenga que salir del contexto comercial. Los pasantes tienen la suerte de conseguir pasantías y generalmente toman lo que pueden obtener, así que no se ofendan si su trabajo principal no explota su falda. Los pasantes todavía tienen un poco de polvo de hadas en la sangre, la mayoría de los programadores jóvenes se convierten en programadores debido al poder de crear y la emoción de crear algo increíble.

Descubra cuáles son sus pasatiempos y cuál sería el trabajo de programación de sus sueños. Haz que haga algo que le parezca increíble, ya sea un videojuego en 2D o una base de datos para rastrear cartas de pokemon.

Si hace algo en su área de interés, estará emocionado. Puede ayudar a reinar en el alcance para que lo que hace sea realista para el período de tiempo. También puede resaltar temas en el camino que son relevantes en el ámbito comercial donde puede proporcionar educación, es decir

Elegiste estructurar tu base de datos así, ¿cuál fue tu proceso de pensamiento detrás de esto? ¿Qué pasaría si xyz?


2

Separe las dos partes de su problema.

1) Para inspirar.

2) Para enseñar.

Es un posgrado con experiencia en codificación, por lo que puede ser demasiado tarde para inspirarlo o hacer que "vea" la majestuosidad del código. No es tu responsabilidad inspirarlo, pero entiendo por qué querrías hacerlo.

Enseñando, por otro lado, a partir de tu descripción, parece que has arrojado muchas cosas sobre él y esperabas que lo resolviera. Como tiene una cantidad de tiempo limitada, establezca proyectos más pequeños, distribúyalos uno a la vez y obtenga comentarios diarios. Asegúrate de darle seguimiento durante el día y deja en claro que si tienen un problema, preguntar en lugar de pasar todo el día luchando y sin lograr nada.


3
La pregunta dice que el interno acaba de terminar su primer año en la universidad, no es un posgrado.
Roc Martí

Para agregar más al comentario de Roc marti, la pregunta también dice que no tiene experiencia en codificación además de su primer año de universidad.
Gilles

2

parece que pasó menos tiempo escribiendo código de lo que esperaba

Descubra por qué: ¿está tratando de escribir código, pero tiene problemas para que funcione? ¿O no está pasando el tiempo suficiente intentando? Si el primero es el caso, debes ayudarlo más, si es el último, entonces mejor déjalo ir.


2

Creo que hay algunos problemas en ambos extremos. Puede ser cualquiera de los escenarios que presentó.

Escenario 1: el interno tiene bajo rendimiento

Trabajar a distancia es la bandera aquí. Se necesita un individuo muy disciplinado para trabajar de forma remota. Con poca experiencia, el pasante puede no tener la combinación de motivación y conocimiento necesarios para desempeñarse bien de forma remota. Si necesita una posición remota, este pasante no es para usted.

Además, mencionas el aspecto divertido. Sé que es más raro, pero ¿por qué no buscar a alguien que disfrute plenamente de las tareas que les está asignando? Honestamente, SCRUM y TDD pueden ser muy divertidos, solo toma la mentalidad correcta. Sí, son pocos y distantes entre sí, pero hay personas que realmente disfrutan aprendiendo nuevas tecnologías y metodologías de CS (= Quizás necesite continuar su búsqueda.

Escenario 2: no está orientando lo suficientemente cerca

Creo que si este fuera el caso, lo sabrías. Si el interno estaba motivado, acudiría a usted con preguntas. Te preguntaría cuando no entiende algo. Sin embargo, si está escribiendo un código incorrecto y nunca dijiste nada, entonces es posible que necesites hablar más. El acuerdo es, con su experiencia, que no va a saber todo el tiempo si está escribiendo un código incorrecto. Entonces, si nunca habló cuando vio problemas, solo tiene que culpar a usted mismo.


Cualquiera sea el caso, no hay nada de malo en decidir que el interno no es adecuado para el trabajo o que aún no está listo. Son jóvenes y tienen mucho que aprender. Es posible que necesiten unos años más para ser estudiantes antes de estar realmente motivados para hacer un trabajo profesional. Si cree que el problema se puede solucionar, pruébelo durante las próximas semanas e intente quedarse con el interno. Si no, ambos tuvieron un verano de aprendizaje y eso es todo.

Mi opinión personal: si establezco pautas y requisitos y alguien no los cumple, no querré trabajar más con ellos porque conozco y trabajo con personas que aman lo que hacen, incluso los CRUD, y quienes están notablemente motivados para hacer un gran producto. Cualquiera como este seguramente tendrá éxito (= Al final, sin embargo, la única forma de llegar al fondo del problema es hablar con el interno. Trate de tener una reunión de progreso (o algo) donde pueda hablar con el interno). antes de tomar cualquier decisión.


2

Recomendaría comenzar dejándolo mirar por encima del hombro mientras codifica (es más difícil hacerlo de forma remota, pero con un buen programa para compartir pantalla y software de voz, es posible). Tome una función de requisito a hecho todo el tiempo y explíquele lo que está haciendo.

Repita esto varias veces y en la siguiente tarea, después de haber abierto el código, dele el timón por un tiempo. Asegúrese de dar pistas cuando se atasque para que no se sienta frustrado, pero resista la tentación de hacerse cargo de inmediato. Elija un paso muy específico que probablemente haya repetido varias veces antes para que pueda reforzar el entrenamiento.

Continúa dejándolo tomar el control con más frecuencia hasta que esté terminando todas las funciones por su cuenta.

Solo darle un montón de libros y tareas para trabajar causará una sobrecarga.

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.