¿Quieres convertirte en un gran programador? ¿Le apasionan las computadoras pero no las comprende a fondo? Si es así, esta publicación es para ti.

 Diciendo # 1: 10,000 horasHay un dicho que dice que tomar 10,000 horas de hacer algo para dominarlo.Por lo tanto, para dominar la programación, puede llevarle 10.000 horas programar activamente o pensar en la programación. Eso se traduce en un esfuerzo constante repartido a lo largo de varios años. 

Diciendo # 2: sin límite de velocidadHay otro dicho que acabo de leer, que me inspiró a escribir esto, que dice "no hay límite de velocidad".En esa publicación, Derek Sivers afirma que un tipo talentoso y generoso llamado Kimo Williams le enseñó dos años de teoría musical en cinco lecciones. He estado aprendiendo a programar durante 2 años, y a pesar del hecho de que he progresado mucho, mi proceso ha sido lento e ineficiente. 

No tenía un Kimo Williams. Pero ahora que sé un poco, intentaré emularlo y ayudarlo a aprender más rápido al compartir mis 12 mejores lecciones.Le daré los consejos primero, y si tiene curiosidad, un poco más de historia sobre mi propio proceso.
 Resultado de imagen para programacion

Los 12 consejos
 1. Empezar. No te sientas mal porque aún no seas un programador experto. En 10,000 horas, lo serás. Todo lo que necesitas hacer es comenzar. Dedique algo de tiempo cada día o semana a revisar cosas de esta lista. Puede tomar el tiempo que desee o moverse lo más rápido que desee. Si has decidido convertirte en un gran programador, ya has logrado la parte más difícil: plantar la semilla. Ahora solo debes agregar tiempo y tus habilidades florecerán. Si necesita ayuda con alguno de estos pasos, no dude en enviarme un correo electrónico y haré todo lo posible para ayudar.

 2. No te preocupes No se deje intimidar por lo mucho que no entiende. Las computadoras aún son en gran parte mágicas, incluso para mí. Todos sabemos que las computadoras son fundamentalmente de 1s y 0s, pero ¿qué diablos significa eso realmente? Me llevó mucho tiempo descubrirlo: tiene algo que ver con los voltajes y los transistores. Hay un sinfín de temas en informática y términos interminables que no comprenderá. Pero si te quedas con eso, con el tiempo casi todo se desmitificará. Así que no pierdas el tiempo ni te estreses preocupándote por lo que no sabes. Vendrá, confía en mí. Recuerde, cada gran programador a la vez NO TENÍA IDEA qué ensamblado era, o un compilador, o un puntero, o una clase, o un cierre, o un transistor. ¡Muchos de ellos aún no lo hacen! Eso es parte de la diversión de este tema; siempre estarás aprendiendo.3. Silicon Valley. Simplemente al mudarse a Silicon Valley, usted tiene al menos: 10 veces más programadores con los que hablar, 10 veces más oportunidades de trabajo de programación, 10 veces más reuniones de programación, y más. No tienes que hacer esto, pero te hará moverte mucho más rápido. El primer año de mi carrera de programación fue en Boston. El segundo año fue en San Francisco. Aprendí a un ritmo mucho más rápido en mi segundo año.
 
4. Leer libros. En diciembre de 2007 gasté unos cientos de dólares en libros de programación. Compré como 20 de ellos porque no tenía idea de dónde comenzar. Me sentí culpable gastando tanto dinero en libros en aquel entonces. Mirando hacia atrás, valió la pena cientos de veces. Leerá y aprenderá más de un buen libro de bolsillo de $ 30 que docenas de blogs gratuitos. Probablemente podría explicar por qué, pero no vale la pena. Los datos son tan claros por mi experiencia que tratar de explicar por qué es así es como tratar de explicar por qué la pizza sabe mejor que el brócoli: estoy seguro de que hay razones, pero solo prueba la pizza y estarás de acuerdo conmigo.5. Consigue mentores Solía ​​crear sitios web para pequeñas empresas. A veces mis clientes querrían algo que yo no sabía hacer, cosas simples en ese entonces como formularios. Solía ​​buscar en Google las respuestas, y si no podía encontrarlas, me entraba el pánico. No hagas eso. Cuando te metas por encima de tu cabeza, haces ping mentores. No les importa, créanme. Algo que pasarás 5 horas entrando en pánico para aprender les tomará 2 minutos explicarte. Si no conoces a ningún buen programador, no dudes en utilizarme como tu primer mentor.6. Orientado a objetos. Este es el "idioma" en el que el mundo programa. Así como los hombres de negocios se comunican principalmente en inglés, los programadores se comunican principalmente en términos orientados a objetos. Términos como clases e instancias y herencia. Fueron completamente, completamente, completamente extraños y atemorizantes para mí. Me enfermarían el estómago. Luego leí un buen libro (PHP orientado a objetos, Peter Lavin) y practiqué lentamente las técnicas, y ahora lo entiendo totalmente. Ahora puedo comunicarme y trabajar con otros programadores.7. Publicar código Si llevas un diario privado y escribes la oración El automóvil es verde, puedes seguir escribiendo cientos de veces sin darte cuenta de su mala gramática, hasta que encuentres la forma correcta de hacer las cosas. Si escribe eso en un correo electrónico, alguien lo acordará de manera instantánea y probablemente no volverá a cometer el mismo error. Puede acelerar su aprendizaje de 1 a 2 órdenes de magnitud al compartir su trabajo con otros. Es vergonzoso cometer errores, pero la única manera de volverse grandioso es caminar a través de pantanos malolientes de vergüenza.

8. Date un gusto Crea cosas que creas que son geniales. Crea cosas que quieras usar. Es más divertido trabajar en algo que te interesa. La programación es como cocinar, no sabes si lo que haces es bueno hasta que lo pruebes. Si algo que cocina sabe a comida para perros, ¿cómo lo sabrá a menos que lo pruebe? Construye cosas que te vas a consumir a ti mismo y estarás más interesado en hacer que tenga sabor, no como comida para perros.

9. Escribir inglés. El código sorprendentemente se parece más al inglés que a las matemáticas. El gran código es fácil de leer. En las funciones de código geniales, los archivos, las clases y las variables se denominan bien. Los comentarios, cuando sea necesario, son concisos y útiles. En un gran código, el lenguaje y el vocabulario no son elitistas: es fácil de entender para el profano


10. Sé prolífico. No pintas la Mona Lisa pasando 5 años trabajando en 1 pieza. Usted crea la Mona Lisa pintando 1000 obras diferentes, una de ellas finalmente es la Mona Lisa. Escriba aplicaciones web, aplicaciones de iPhone, aplicaciones de Javascript, aplicaciones de escritorio, herramientas de línea de comandos: tantas cosas como desee. Comience un pequeño proyecto nuevo cada semana o incluso todos los días. Eventualmente tiene que lograr un equilibrio entre cantidad y calidad, pero cuando es joven el objetivo debe ser la cantidad. La calidad llegará a tiempo.

11. Aprende Linux. La línea de comando no es fácil de usar. Tomará tiempo y mucha repetición para aprenderlo. Pero de nuevo, es lo que usa el mundo, necesitarás al menos una comprensión básica de la línea de comando para convertirte en un gran programador. Cuando te vuelves bueno en la línea de comando, es bastante genial. Apreciará cuánto de lo que dependemos hoy fue escrito en el transcurso de algunas décadas. Y te sorprenderá lo mucho que puedes hacer desde la línea de comando. Si usa Windows, ¡obtenga CYGWIN! Lo encontré hace unos meses, y es mucho más fácil y más rápido que ejecutar instancias de Linux virtualizadas. 

12. Usa github. El término control de versión solía asustarme muchísimo. Diablos, todavía puede ser bastante críptico. Pero el control de versiones es crucial para convertirse en un gran programador. Todos los demás desarrolladores lo usan, y no puedes convertirte en un gran programador programando solo, así que tendrás que empezar a usarlo. Afortunadamente, estás aprendiendo en un momento ideal. Github ha hecho que aprender y usar el control de versiones sea mucho más fácil. Además, Dropbox es una gran herramienta que tu madre podría usar y, sin embargo, tiene algunas de las potentes características de uso compartido y control de versiones de algo así como git.