2008-09-26 13 views
7

En mi compañía tenemos contratistas dentro y fuera todo el tiempo. Es difícil mantener una base de código así ya que el nivel de madurez en la escritura del código varía considerablemente. Hasta cierto punto, mi función consiste en asesorar a los recursos de desarrollo. He descubierto que si les dejo codificar, conseguiré algo muy ingenuo. ¿Cuál es la mejor manera de enseñar a las personas que ya son desarrolladores cómo y cuándo usar interfaces, abstracción, envoltura, patrones de diseño, reflexión, etc.¿Cómo se enseñan las cosas de las que está hecha una buena programación?

Respuesta

4

Su pregunta es más grande que la programación y la informática, por supuesto, realmente entra en el corazón de la teoría de la enseñanza, la mejor manera de transmitir el conocimiento de una persona a otra.

Conocemos algunos de los conceptos básicos: proporción pequeña de alumnos por docente, etc. Y no puedes hacer el trabajo para el alumno si quieres que ellos dominen algo.

Entonces, ¿qué podemos sacar de esto? Asegúrese de tener estándares consistentes de dónde quiere que lleguen sus "estudiantes". Asegúrese de tener materiales de calidad de los que puedan aprender. Tienes que tener una metodología para hacer esto, de lo contrario, encontrarás que estás perdiendo MUCHO tu precioso tiempo. La tutoría es de vital importancia, pero una vez más, su estudiante necesitará tener los medios para aprender por sí mismo después de haber sido encaminado en la dirección correcta.

Entonces, ¿cómo enseña los conceptos de programación de importación que van más allá de la sintaxis?

Personalmente, me gusta la tutoría y proporcionar buenos ejemplos que el desarrollador junior puede profundizar para aprender los detalles por sí mismos.

Y no olvide que necesitan espacio para cometer errores, pero esos errores deben ser detectados y corregidos.

1

Responda la pregunta en su pregunta. La única forma que he encontrado para hacerlo es guiar a los desarrolladores más jóvenes, uno a la vez. Eso significa emparejar la capacidad del desarrollador para proyectar la dificultad, y pasar el tiempo guiándolos en la dirección correcta.

Editar: Mirando hacia atrás en su pregunta, creo que tal vez mi respuesta no es tan buena. A menos que sean a largo plazo (y probablemente no en el extranjero), no creo que tenga mucha suerte como mentor de los contratistas. Obtendrás lo que obtienes. Tenga esto en cuenta cuando contrata.

1

Haga que todos comiencen con el mantenimiento. Solo aprendiendo qué tan doloroso es el mantenimiento en el código incorrecto, puede aprender no solo a escribir un buen código, sino también tener el incentivo para hacerlo.

1

Le sugiero que se asegure de que las revisiones de código se incorporen de alguna manera en su proceso de desarrollo. No es el tipo de confrontación (dos o más revisores se reúnen con el codificador en una sala de reuniones, con el resultado de destrozarlo), pero más el uno-a-uno, repasando lo que se ha escrito. Según lo que describió, parece que sus desarrolladores están geográficamente distantes, lo que dificulta una revisión eficaz del código. Sin embargo, perseverar en esto valdría la pena. Una conversación de voz en tiempo real, con el código en frente de ustedes dos, sería lo mejor, si no pueden reunirse en persona.

Siempre y cuando ingrese a dichas revisiones con el objetivo de ayudar a sus desarrolladores a mejorar, ambos se beneficiarán.

1

"Enseñar" puede no ser el enfoque adecuado para lo que desea. Quieres que usen el conocimiento y para mejorar las cosas y hacer eso constantemente es una manera ligeramente diferente de ver las cosas. ¿Qué tipo de reputación tienen los desarrolladores? Qué tipos de beneficios obtienen si usan interfaces, abstracción, envoltura, patrones de diseño, reflexión, etc.en la forma que quieres? ¿Qué tipo de beneficios querrían? Esas son las preguntas que te vienen a la mente, ya que a veces, si puedes encontrar lo que motiva a alguien, esa es la clave en lugar de simplemente asumir que el problema está en "Técnica". Para obtener más información sobre la diferencia, eche un vistazo a this article en "Sources of Insight", que es un excelente blog sobre patrones y prácticas, IMO.

+0

Gracias por la respuesta. ¡Definitivamente voy a leer! – fnCzar

3

La programación de par es excelente para esto, ya que es como una revisión continua del código. El junior aprenderá SOOOOO mucho de los mayores acerca del diseño: "interfaces, abstracción, envoltura, patrones de diseño, reflexión, etc."

+0

definitivamente! Ahora que lo pienso, fui sometido a una programación de pareja en mi primer trabajo fuera de la escuela y lo encontré tremendamente útil. – fnCzar

Cuestiones relacionadas