Tú sabes quienes son. Son las estrellas de rock de la programación:
Codifican 10 veces más rápido.
Su código simplemente funciona.
No solo conocen su idioma principal por dentro y por fuera, sino que también saben cómo funciona bajo el capó.
Saben la respuesta a la mayoría de las preguntas antes de preguntar.
Algunos inventaron los principios de programación que todos usamos.
Y también tienden a ser inusualmente humildes.
¿De qué se trata esta gente? ¿Hay algo en su proceso de pensamiento que sea fundamentalmente diferente del programador superior al promedio? ¿O son simplemente personas muy talentosas que trabajan duro?
Para decirlo de otra manera: ¿cómo puedo ser como ellos? Sé lo que creo que necesito aprender para ser tan bueno, pero parece que me tomará los próximos diez años aprenderlo, y entonces mi conocimiento será obsoleto.
fuente
try
.Respuestas:
Humilde: Un programador excepcional nunca afirmará que su código es el mejor, de hecho, siempre buscará una mejor manera (cada vez que tenga la oportunidad) .
Paciente: Un programador excepcional tendrá una paciencia ilimitada (Esto no significa que perderá días en un problema. Ver: Solucionador de problemas) .
Solucionador de problemas: un programador excepcional podrá resolver un problema en minutos que puede llevar días para su programador promedio.
Curioso: un programador excepcional no podrá resistirse a tratar de descubrir por qué ocurre algo.
Ingeniero: Un programador excepcional diseñará sistemas en lugar de crear una mezcla de marcos (esto no significa que no usarán marcos) .
fuente
Golpeas mucho en tu último punto:
"Y también tienden a ser inusualmente humildes".
Creo que es una combinación de humildad, no solo exterior sino también dentro de sus mentes. Aceptan estar equivocados, cometer un error y tienen un cambio muy rápido de la frustración. Muchos programadores intentarán algo, fracasarán y luego se emocionarán muy rápidamente, un estado anatema para escribir un buen código. Tienes que aceptar que no eres perfecto, y que vas a equivocarte (¡a menudo!), Y que lo mejor que puedes hacer es aprender cómo recuperarte rápidamente cuando lo arruinas. Es una confianza humilde , como "Sé que me voy a equivocar, pero también sé que si sigo intentando, eventualmente llegaré allí".
Hay un dicho en PNL: "No hay falla, solo retroalimentación". Para ser un programador de estrellas de rock, creo que tienes que aceptar eso. No hay nada que no puedas codificar. Puede ser lento al principio, pero si sigue intentando y se niega a detenerse cuando falla o arruina algo, cumplirá. Y en ese proceso aprenderás todos los trucos mentales que necesitas para convertirte en uno de los mejores.
El consejo es, por supuesto, tan bueno como su fuente, así que ... todo es solo mi opinión.
fuente
Se preocupan profundamente por su código.
fuente
Personalmente, los mejores programadores que conozco / conocían comprendían los conceptos básicos y NO eran expertos en ningún idioma. Simplemente tenían suficiente experiencia en casi todo. El canónico "Jack of All Trades".
Es más que ciencia fundamental, hay un valor significativo en la experiencia en operaciones reales. Por ejemplo, aquellos que entienden la Filosofía de Unix y, por lo tanto, podrían resolver problemas desconocidos con varias herramientas dadas (IOW sabían dónde buscar) superan con creces al experto en Java que codificó una solución paralela y roscada.
Los programadores destacados también respetan a quienes los precedieron. No odian los modelos de datos relacionales ni se encogen cuando ven SQL como una API formal, ni se oponen a FORTRAN en matemáticas. Saben que OO no es el final, y sobre todo entienden que la programación es un ARTE, no una ciencia.
fuente
grep
,awk
,sort
, yuniq
puede responder a muchas preguntas. Si tienesperl
también, ¡aún más!Cuando comencé, estaba trabajando con este tipo que pensé que era absolutamente brillante en todo lo que hizo en términos de programación. Es muy probable que todavía lo sea, pero ahora se ha convertido en el director de una empresa en el sudeste asiático.
De todos modos, mantuvo las cosas simples, y las cosas simples funcionan. Nunca queriendo escribir más líneas de código de las necesarias, todo lo que hizo simplemente funcionó. Estuve jugando para ponerme al día durante un año solo para acercarme a su nivel. Sin embargo, la otra cosa es el tiempo. Había estado haciendo cosas durante mucho más tiempo que yo en ese momento, y había tenido la oportunidad de hacer estas preguntas exactas una y otra vez, hasta que supiera (aparentemente) todas las respuestas.
Tampoco tenía miedo de hacer preguntas. Creo que eso es lo más importante.
fuente
Matriz de competencia del programador
Muchos temas para ayudar a identificar cuál es su nivel en temas de programación.
fuente
Aprendí la respuesta a esta pregunta en un libro sobre el póker Texas Hold'em, pero se aplica a todos los esfuerzos frustrantes. Los mejores codificadores nunca se inclinan. Ir a Tilt es el momento en que algo no funciona como esperaba y responde de una manera que crea errores exponenciales en la aplicación general. En el torneo de póker, hace que apuestes mal y te eliminen.
En la programación, la inclinación te hace arrancarte el pelo y escribir parches de código ridículos que solo funcionan en ciertos casos de tu aplicación. Tilt hace que los programadores ignoren las necesidades del proyecto en su conjunto, buscando gratificación instantánea para resolver el problema inmediato ahora. Muchas veces el problema se resuelve hoy, pero la aplicación sufre mañana.
Los mejores programadores toman el concepto de inclinación y lo manejan de una manera que les permite mirar los problemas desde una perspectiva externa, siempre. Si eso falla, bebe un poco de cafeína.
fuente
Programadores excepcionales:
Dos cosas sobre el factor "10x":
fuente
la mayoría de ellos se ven reservados y nada especial ... algunos se ven súper inteligentes ... prefieren verificar / depurar las cosas dos veces desde todos los puntos de vista posibles, su software no tiene errores en el mundo: p IMO algunos programadores pueden ser más lentos, pero la calidad es mejor, ¡incluso la gente común puede entender cómo funciona su software!
Tengo un amigo que escribió su primer programa de ASM a la edad de 10 años, ahora tiene 24 años, no terminó la universidad, pero eso no le impidió crear su propia compañía, ganar millones :) pero por lo que veo, él es diestro en todo :)
los programadores excepcionales probablemente dirían que este código puede codificarse de otra manera, mejor que decir que es totalmente incorrecto una reputación de otros programadores inferior :)
"¿De qué se trata esta gente? ¿Hay algo en su proceso de pensamiento que sea fundamentalmente diferente del programador superior al promedio? ¿O son simplemente personas con mucho talento que trabajan duro?"
Creo que nacieron así, está dentro de su ADN: pi no sabe sobre su proceso de pensamiento, pero el mejor programador que he conocido tenía epilepsia
fuente
Pocas cosas diferencian un excepcional con un típico.
Excepcional:
Muy apasionado por su trabajo y se esfuerza por entregar una obra maestra.
El rendimiento y la calidad son el panorama general en su mente incluso antes de que comience la codificación.
Piensan en la mejora continua después de cada lanzamiento.
Vigilan estrictamente las alternativas y son los primeros en adoptar.
Su tema en la vida profesional es: "Escribir menos transmitir más".
Siguen pensando en perspectivas lógicas incluso cuando no están codificando.
Típico
A veces es algo apasionado pero se esfuerza por cumplir porque es un trabajo después de todo. Si no es una obra maestra, está bien. Al menos entregado a tiempo.
Pensaré en el rendimiento más tarde, de todos modos las PC son lo suficientemente rápidas en estos días.
Mejore solo cuando no quede ninguna opción para guardar un trabajo.
No hay tiempo para profundizar en otras tecnologías. Apéguese a lo que exige su trabajo ahora. Aprenderá otras cosas cuando surja la necesidad.
Su tema es: "Haz lo que se te pide y llega a casa a tiempo".
fuente
Los programadores excepcionales aplican los principios espartanos .
Imagen que llama la atención:
Este artículo: http://willcode4beer.com/design.jsp?set=codeReduction
Y esta cita:
fuente
Auto-promoción , y lo digo de la mejor manera posible. Tener un trabajo como la programación, especialmente en un equipo, significa que no es inmediatamente obvio dónde encaja su contribución personal en el panorama general, o quién fue responsable de qué parte. Las personas que conocemos y conocemos como "grandes programadores" son IMO, aquellos que han dominado el arte de dar a conocer sus contribuciones sin parecer egoístas o egocéntricos. En muchos casos, esto es mediante la creación de herramientas, bibliotecas y software en los que el resto de nosotros confiamos para ganar nuestro pan de cada día.
fuente
1º - Saben lo que se corta cuando se enfrentan a la línea muerta.
fuente
Muy buen artículo relacionado: The Free Electron (de randsinrepose.com)
Pido disculpas por no resumir el artículo aquí, pero los puntos no se separan fácilmente de la prosa.
fuente
Se programan exclusivamente por intuición. No hay necesidad de pensar que simplemente fluye .
fuente
Los codificadores excepcionales tienen influencia en un proyecto más allá del alcance de su propio código y detectan problemas antes de que sucedan debido a su experiencia. Hacen que todos en el equipo sean mejores y salvan sus proyectos de un mal diseño y gestión.
Realmente han creado algo que es excepcional.
fuente
Va a. Ya has establecido que estos tipos son 10 veces más rápidos, por eso lo aprenden en 1 año y te lleva 10. Para la parte seria de la respuesta, creo que es que ya son súper inteligentes (podrían ser muy exitosos en cualquier cosa), les encanta la codificación, y por alguna razón tienen (o encuentran) una gran cantidad de tiempo libre para practicar la codificación o trabajar en proyectos personales.
Si está haciendo esta pregunta aquí, probablemente no tenga lo que se necesita (no se preocupe, estoy respondiendo aquí, así que probablemente tampoco). No se preocupe, aunque todavía puede llegar a ser loco si le encanta la codificación.
fuente
Aquí hay muchas publicaciones bien intencionadas sobre Humildad, Ingeniería, Pasión, Paciente, Solucionador de problemas. OMI, todos estos son obligatorios. Sin embargo, describen el 30% de los mejores programadores.
Creo que estás preguntando por los programadores verdaderamente excepcionales, el 1% superior.
Una de las cosas que envidio por el talento ocasional muy raro con el que trabajo es su capacidad de mantener una gran cantidad de detalles sobre un sistema complejo en su cabeza al mismo tiempo, y poder recordarlo rápidamente. Creo que puedo hacer esto en ocasiones, tal vez una vez al mes, cuando realmente estoy en la zona. Este sentimiento es maravilloso. El desarrollador en el que estoy pensando parece poder estar en esa zona la mayor parte del tiempo .
Es este rasgo, IMO, además de la capacidad de Humildad, Curiosidad, Ingeniería, Pasión, Paciencia y Solución de problemas lo que los hace verdaderamente excepcionales.
fuente
Tener la calidad de la automotivación y la autodeterminación, así como tener la voluntad de entrar en un abismo de lo desconocido y sentirse cómodo con estar absolutamente confundido como parte del proceso es enorme. No se trata tanto de la inteligencia inicial como se podría pensar porque el cerebro se vuelve mucho mejor en las cosas que siempre está haciendo y pensando. Vengo de la nada en la universidad y luego me puse muy bien solo por pura persistencia, nunca me rendí, siendo ese tipo que tenía problemas cuando todos los demás se cansaban de tratar de resolverlo. Después de ese tipo de persistencia, los problemas se volvieron cada vez más fáciles y pasaron de ser un novato en la universidad a avergonzar a la mayoría de ellos en este momento. El talento puro no es suficiente y a veces puede llevar a descansar en los laureles.
Además, para Robert Harvey, sigues enlazando mis publicaciones cuando menciono cualquier cosa que tenga que ver con mi CMS que escribí desde cero. Verá varios otros enlaces de listas que pueden o no haber escrito. Estás presionando a las personas que están motivadas, lo cual es irónico que hayas publicado esto. Eres "el hombre" en este pequeño universo y no lees las cosas por mérito, sino que simplemente trabajas y borras a tu antojo. También amas demasiado Star Wars y probablemente agitas tu mano hacia las puertas de apertura automática en la tienda de comestibles, creyendo que tienes la fuerza.
fuente