¿Cuántas horas de trabajo le llevará ser un excelente programador? ¿Y cuánta experiencia aportarán 1000 horas?

Supongamos que un hombre reescribe el programa hello world durante 10,000 horas. Él, si usa su imaginación, se convertirá en un excelente programador de hello world. Con esto quiero decir que cuando se le encargue escribir hello world, podrá hacerlo de inmediato, sin error, tal vez incluso en cualquier idioma solicitado, o bajo cualquier restricción ridícula como:

Ahora, escríbalo sin usar las funciones de salida.

Este esfuerzo no lo convertirá en un excelente programador de nada más.

Para ser excelente en la habilidad técnica de programación, debe tener experiencia en la resolución de una variedad de problemas que requieren un espectro de técnicas. Debería tener la experiencia de resolver el mismo problema de varias maneras, algunas de las cuales, en retrospectiva, considera que han estado equivocadas. Debería haber visto el código de los demás, y a veces se dio cuenta de que su código era increíblemente mejor que el suyo. Debería haber tenido que ver su código en manos de clientes exigentes, en su defecto, y debería haber tenido que arreglar esto hasta que esos clientes estén satisfechos, varias veces.

Nada de esto se mide en horas.

Aun así, me siento seguro al decir que para dominios con problemas suficientemente pequeños, el intento concertado y bien planificado de una persona talentosa para alcanzar la excelencia es probable que tenga éxito en 10,000 horas. Después de todo, son 10 horas al día durante tres años. Uno debería ser capaz de dominar hola mundo en ese momento.

Realmente no funciona así.

En primer lugar, aprende los conceptos básicos de escribir pequeños programas en algún idioma. Esto lleva tanto tiempo como a ti, pero si vas a ser bueno, no te llevará mucho tiempo.

Pero entonces comienza.

Cada problema es diferente, y su trabajo es descubrir cómo escribir un programa para resolverlo.

Aprenderá más sobre lo que hace que el código sea fácil o difícil de trabajar. Sobre trabajar en equipo, no solo. Sobre el diagnóstico de problemas en vivo. Agregar funciones al código existente.

Los idiomas utilizados cambian, al igual que los marcos populares y los estilos de codificación.

Para que pueda comenzar con bastante rapidez. Pero nunca llegas a un punto en el que no tienes que pensar, crear y combinar.

Eso es lo que lo hace divertido, realmente, en su mejor momento.

Esa no es una pregunta simple para responder. Conozco personas con años y años de experiencia que simplemente no son muy buenos programadores. Y he conocido personas con relativamente poca experiencia que fueron notablemente buenas en eso.

Lo que es más, he visto personas que no eran muy buenas para eso de repente se dan cuenta de lo que se estaban perdiendo y comienzan a mejorar considerablemente. Y, lamentablemente, he visto a algunos desarrolladores bastante brillantes perder su ventaja. Por lo tanto, realmente no hay una manera confiable de saber cuánta experiencia necesita una persona aleatoria para convertirse en un excelente desarrollador, ni qué tan lejos del objetivo le llevará medio año de experiencia a tiempo completo.

Hay algunas buenas respuestas aquí, así que simplemente voy a seguir.

Primero, la palabra “excelente”. No sé a qué te refieres con eso. Evitaré una queja aquí y solo sugiero que te conviertas en un buen programador. Desarrolle sus conocimientos y habilidades para resolver problemas y siga programando.

Luego, solo dedicar horas a algo no garantiza ningún progreso. Debes asegurarte de desafiarte a ti mismo y mejorar en esas horas. Algunos de estos desafíos pueden provenir de su trabajo en el trabajo, otros necesitarán ser desafíos que cree para usted a través de su autoaprendizaje o tomando clases adicionales, etc.

Finalmente, 1000 horas. Esto parece mucho tiempo. Quiero decir que son mil horas, ¿verdad? Desafortunadamente, la calculadora cuenta una historia diferente. Supongamos que tiene un trabajo de 40 horas a la semana. Esto podría ser un poco bajo para un desarrollador, pero imaginemos. Ahora suponga que puede gastar la mitad de esa programación real. Eso es 20 horas a la semana de programación. Entonces, 1000 horas a las 20 horas a la semana son 50 semanas, o solo 1 año de experiencia. Aprenderá un montón de cosas en su primer año en el trabajo, sin duda. Sin embargo, todavía es solo un año de experiencia.

Sin embargo, no quiero que esta respuesta parezca demasiado deprimente. Si te gusta programar, mil horas no serán un problema. Si no te gusta la programación, diez horas parecerán demasiadas.