¿Se puede expresar la experiencia del programador en horas de codificación como horas de vuelo para un piloto? [cerrado]

7

¿Qué tan útil sería para un reclutador?

En artes marciales hay un número mínimo de entrenamientos, no años de práctica, para ser evaluados para un nivel más alto. Vi algunas excepciones pero son raras.

En software, tal vez esto sería valioso para expresar experiencia en tecnologías particulares como OO, OR / Mappers o DBMS específicos.

    
pregunta Glenn Nelson 13.02.2011 - 20:17

12 respuestas

14

Una vez que pasas las 10,000 horas, todo es relativo

De Outliers de Malcolm Gladwell , se puede demostrar que 10,000 horas de aprendizaje activo continuo (alrededor de 10 años a las 20 horas por semana) se requiere para convertirse en un experto en una habilidad en particular.

Yo diría que la regla es transportable a la programación, incluso permitiendo cambios en marcos y técnicas. Estoy pensando en la exposición a patrones de diseño, metodologías, etc.

Si luego sigue el modelo Dreyfus de adquisición de habilidades , entonces parece que el siguiente puede mantener la verdad (solo estoy completando los números que siento, no hay citas):

  • Principiante (0-1,000 horas)
  • Principiante avanzado (1,000-4,000 horas): lo más común
  • Competente (4,000 - 6,000 horas)
  • Competente (6,000-10,000 horas): período más largo
  • Experto (10,000+ horas)

Para permitirle filtrar a sus candidatos, tal vez aplique estos valores a cada uno de los niveles de experiencia que necesita en sus habilidades principales (lo que permite una superposición general debido a la exposición, por ejemplo, un experto de Spring seguramente tendrá un XML competente). / p>

Ahora viene la parte difícil: ¿cómo vas a demostrar que están diciendo la verdad? Quizás es hora de romper "Fizz Buzz" y "Adivina un número".

    
respondido por el Gary Rowe 13.02.2011 - 20:52
17

Una vez trabajé con un chico.

Su jefe me dijo: "Él cree que tiene 7 años de experiencia. No lo tiene. Tiene 1 año de experiencia, 7 veces".

La diferencia sutil está en no aprender / crecer / pensar más.

Hay una gran diferencia entre un piloto y un programador. Un piloto debe conocer y memorizar los procedimientos, y poder pensar en una crisis. Un programador tiene que pensar en problemas complejos y crear cosas nuevas de la nada, y hacer esto por entre 2 y 6 horas al día.

Puedes mejorar tu capacidad de pensar al hacerlo, pero afirmar que "el tiempo en el trabajo" en un negocio creativo es equivalente a un conjunto de habilidades es un poco exagerado.

    
respondido por el quickly_now 13.02.2011 - 22:55
4

Prefiero decir que mide lo que no puede esperarse.

Una persona que ha trabajado en el campo durante 20 años puede o no saber muchas cosas, pero una persona que solo ha trabajado durante años o meses tiene la garantía de no de saber estas cosas.

Solo puede verificar lo que realmente se sabe sondeando o probándolos.

    
respondido por el user1249 13.02.2011 - 20:19
2

Creo que, más allá de cierto punto para establecer un nivel mínimo de competencia, la cantidad de tiempo que uno ha estado programando no es tan significativa. Yo juzgaría la experiencia de los programadores en los proyectos en los que han trabajado y lo que aportaron, no un número arbitrario que es prácticamente imposible de verificar.

    
respondido por el TZHX 13.02.2011 - 20:21
2

Creo que ya publiqué esto (Enseñe a ti mismo la programación en 10 años) en algún lugar, pero deberías comprobarlo. Este artículo trata sobre las 10.000 horas "mágicas" y sobre la eficiencia del aprendizaje.

    
respondido por el Adam Arold 12.03.2011 - 01:09
1

¿Cuántas horas de pintura se necesitan para convertirse en un pintor profesional?

¿Cuántos entrenamientos se necesitan para convertirse en un músico profesional?

La programación también es una actividad de diseño creativo, por lo que la mayoría de las métricas son literalmente inútiles.

Lo único que se puede decir, es que con el tiempo te vuelves mejor. Se desconoce si cualquier momento en el mundo será suficiente para que para usted llegar a ser grande. Solo puedes mirarte en un momento dado y decidir si eres bueno o no.

    
respondido por el user8685 13.02.2011 - 20:28
1

Los lenguajes de programación cambian. Las herramientas cambian. Los paradigmas cambian. Eso limita el valor de la experiencia después de algunos años.

Dicho esto, la mayoría de los programadores trabajan a tiempo completo, por lo que el número de años es más o menos directamente proporcional al número de horas dedicadas a la codificación.

    
respondido por el user281377 13.02.2011 - 20:32
1

Creo que podría compararlo como una métrica a las líneas de códigos (de un programa).

No puede asumir demasiado sobre la calidad del código (experiencia en su caso) pero puede hacer alguna suposición al respecto.

Es decir, puedes hacer una suposición sobre un tipo con 6000h de experiencia frente a 100h, incluso sabiendo que sabes que hay una diferencia en la calidad de la experiencia de los dos (no puedes saberlo ni estimarlo, pero al comparar la diferencia de magnitud, los detalles empezar a importar menos).

No se podía usar para decir mucho sobre, digamos, un 6000h contra un 6500h, o incluso de 4000h a 6000h, por ejemplo. (Estoy usando un número arbitrario aquí).

    
respondido por el n1ckp 13.02.2011 - 22:39
1

Ni siquiera estoy seguro de que la cantidad de horas que registre un piloto sea tan informativa.

Quiero decir, alguien que vuela desde Charlotte, NC a Portland Oregon y regresa (días alternos) tendrá muchas más horas registradas que alguien que vuela 4 veces al día desde JFK a Logan. Pero supongo que alguien que hace 4 vuelos al día ganará 4 veces más experiencia que alguien que hace un vuelo al día en una distancia más larga. Además, el vuelo de NY a Boston cubrirá un espacio mucho más congestionado en los aeropuertos más transitados, lo que resultará en mucha más experiencia en situaciones difíciles en comparación con los espacios aéreos más abarrotados de Charlotte, Portland y el cielo grande en el que estarían en gran medida volando.

Del mismo modo, para los programadores, puedo trabajar 10,000 horas alineando cuadros de texto en una ventana, o puedo gastar 10,000 haciendo una variedad de tareas con diferentes niveles de complejidad.

Las horas no significan nada, ni hacen años ... solo puedes ver los logros. El único valor que veo es que alguien con 10,000 horas sin duda sería adecuado, o no podrían haber iniciado sesión tantas horas. Pero la cantidad de horas no puede decirle si son expertos o no.

    
respondido por el Erik Funkenbusch 13.02.2011 - 23:25
1

Para que esto realmente funcione, los programadores necesitarían mantener un libro de registro.

Los pilotos mantienen registros minuciosos de su tiempo en vuelo y simulación, y cuentan su tiempo "en tipo": 2,000 horas de vuelo de un 747 no lo califican de inmediato para el A380.

Los programas de entrenamiento de artes marciales también requieren algo de registro (al menos, mi antiguo entrenamiento de Judo sí lo hizo).

También es necesario que exista algún mecanismo para auditar los registros: los pilotos comerciales se colocan regularmente en simuladores y se prueban. Los artistas marciales tienen que ser examinados (o competir, que es un juez más severo) para subir de nivel.

Por lo tanto, para el registro de tiempo para desarrolladores, deberíamos poder clasificar nuestro tiempo (tengo miles de horas en PHP5, varios cientos en C ++ y algunos otros), y ser auditado regularmente (como ha sido ya mencionado, arrastrar y soltar elementos de formulario en Qt Creator no te convierte en un gurú de C ++).

Todo esto es demasiado complicado para no obtener mucha ganancia, así que me pongo del lado de todos los demás que dicen que los programadores deben ser evaluados en base al conocimiento y los logros que pueden señalar.

    
respondido por el HorusKol 13.02.2011 - 23:51
0

Comencé una programación muy básica en el tercer grado y la he mantenido durante aproximadamente once años. Esto significa que probablemente ya tenía mil horas registradas en la escuela secundaria, pero mil horas de experiencia en ese entonces y mil horas ahora resultan en niveles de aprendizaje totalmente diferentes.

El conocimiento y el aprendizaje parecen seguir una curva exponencial : puedo captar más fácilmente los conceptos de programación y aprender nuevos idiomas (lo que ayuda en un intento de ser language agnostic ) de lo que era hace once años. Cinco años de experiencia no son la mitad de diez años de experiencia. Dar una respuesta más personal a la pregunta "¿Cuánto tiempo llevas programando?" Parece ser óptimo.

    
respondido por el user17001 13.02.2011 - 23:02
-3

No lo expresaría en horas; - Lo expresaría en líneas de código de por vida o en años de codificación.

    
respondido por el Paul Nathan 13.02.2011 - 21:04

Lea otras preguntas en las etiquetas