Los programadores expertos han tenido una gran demanda desde hace años, y no parece que la demanda esté a punto de desaparecer pronto. Pero incluso si no tiene la intención de ganarse la vida como programador profesional, aprender cómo codificar con destreza le será útil en cualquier trabajo relacionado con la informática, incluso como administrador. Pero si estás leyendo esto, probablemente no debería tener que decirte por qué ser un codificador es una buena idea. Usted ya lo sabe, y supongo que usted también sabe algo más: no es fácil.
Dominar el arte de la programación requiere miles (sí, miles) de horas. Aún así, si pasas esas horas bien, llegarás antes (y te divertirás más en el camino). Aquí hay algunas ideas para que considere y quizás intente en su camino para convertirse en un codificador.
Resuelve un problema real
La teoría es aburrida. También lo son los problemas teóricos. Si solo aprenden cómo codificar para ganar algo de dinero, bueno, no estoy seguro de qué tan bien funcionará. Pero si tienes una pasión real por construir cosas, ve a construirlas. Entonces, la primera pregunta que probablemente debería hacerse es " ¿por qué quiero aprender esto? "Si esa respuesta es" hacer algo ", bueno, ve a hacer eso. La buena noticia es que el primer paso no requiere que sepas cómo codificar nada: solo tienes que anotar (y preferiblemente, hacer un boceto) cómo sería esa cosa. ¿Cuál es la aplicación que te estás perdiendo? ¿Qué herramienta no existe, pero realmente la necesitas?
Lo bueno de este enfoque (también conocido como "rascarse la picazón") es que su proyecto no tiene que ser grandioso. Puedes comenzar con algo realmente pequeño, solo crea una utilidad simple. Pero no importa lo que sea, deberías preocuparte por eso. Lo primero que escribí en Ruby fue un proyecto personal que he seguido usando durante años y que nunca he lanzado al mundo. Aún así, estoy muy orgulloso de cómo salió, y gran parte de lo que sé sobre Ruby (no Rails) vino de ese proyecto.
Comience con información de alto nivel
Sí, he seleccionado un libro específico aquí. No, O'Reilly no me pagó nada (o MakeUseOf). Es así de bueno. Casi nunca lo hago a través de un libro sobre programación, pero Code Simplicity me mantuvo fascinado durante todo el proceso. Es un libro sobre el arte de la programación, casi sin código. No necesita conocer un lenguaje de programación para entenderlo. Cubre cosas como la razón básica para incluso programar cualquier cosa (¡para ayudar a la gente!), Cuándo debe introducir nuevas características en su aplicación, cuándo optimizar su código (y qué es una optimización prematura), y muchas otras cosas buenas.
Una vez que termine este libro (u otro libro como este, si encuentra uno), se encontrará en un lugar mucho mejor para juzgar sus futuros estudios.
Elija cuidadosamente su tecnología
¿Debería codificar su primer proyecto en ANSI C directo? A menos que tenga una razón muy específica, la respuesta a eso es "probablemente no". Los buenos codificadores saben cómo codificar, en lugar de un lenguaje específico; pueden aprender cualquier idioma que necesiten para un proyecto determinado en un corto período de tiempo. Pero hacer esto por primera vez no es tan fácil, porque no es el lenguaje que debe dominar, sino los conceptos generales de programación (lógica de programa y control de flujo, tipos de variables y alcance, objetos y todas esas cosas buenas). Por lo tanto, definitivamente debe dedicar un tiempo a pensar en qué idioma o tecnología desea codificar.
Esto viene después de escoger su proyecto, porque una vez que sepa lo que está tratando de hacer, estará limitado a un subconjunto más estrecho de posibles tecnologías. No va a codificar una aplicación nativa de iPhone en Ruby on Rails, por ejemplo. Pero si está codificando para la Web, hay aproximadamente un trillón de idiomas diferentes que podría usar, cada uno con muchos marcos diferentes. PHP, Python, Ruby, Go, y la lista continúa.
Dedique tiempo a investigar cada una de las alternativas: ¿qué tipo de comunidad tiene? ¿Qué tan fácil es obtener apoyo? ¿Hay buenas herramientas de desarrollo gratuitas para ello? James cubrió este tema en otro artículo, titulado ¿Qué lenguaje de programación debe aprender para el desarrollo de software? ¿Qué lenguaje de programación debe aprender para el desarrollo de software? ¿Qué lenguaje de programación debe aprender para el desarrollo de software? Al comenzar en el camino de la programación, es importante que invierta su tiempo sabiamente en la elección de aprender algo que le beneficiará en el futuro inmediato con resultados visibles en su plataforma de ... Leer más.
No pases mucho tiempo aprendiendo grandes trozos de datos
Una vez pasé unas semanas viendo un video sobre PHP. Creo que fueron 30 horas de video o algo así de loco. ¿Sé PHP ahora? Diablos no. Quiero decir, puedo leer parte del código, pero diría que esas horas fueron una gran pérdida de tiempo. Tratar de meter tanto conocimiento secuencialmente sin codificar simplemente no funciona. Para mí, codificar cuidadosamente un proyecto de ejemplo prefabricado es casi tan malo, porque extraña una gran parte del aprendizaje. Hago mi mejor aprendizaje cuando trato de hacer algo que me preocupa (ver arriba) y me meto al azar en problemas. Resuelve un problema en el que sientes algo y has aprendido algo nuevo. Mirar fijamente la pantalla durante 30 horas y ... bueno.
Pase tiempo configurando su entorno
Al igual que hay muchos lenguajes de programación, hay muchos entornos de desarrollo para cada idioma. Algunas personas usan un editor de texto como Vim (que recomendé en Las 7 razones principales para dar al editor de texto Vim Una oportunidad Las 7 razones más importantes para dar al editor de texto Vim Una oportunidad Las 7 razones principales para dar al editor de texto Vim una oportunidad para años, he probado un editor de texto tras otro. Lo que sea, lo probé. Utilicé todos y cada uno de estos editores durante más de dos meses como mi principal editor diario. De alguna manera, yo ... Leer Más) o Notepad ++ (que le mostramos cómo "alimentar" aquí. Soup Up The Notepad ++ Editor de textos con complementos del Repositorio Notepad Plus [Windows] Soup Up El Notepad ++ Editor de textos con complementos del Repositorio Notepad Plus [Windows] Notepad ++ es un digno reemplazo para el editor de texto incorporado y muy querido de Windows, y es muy recomendable si eres programador, diseñador de páginas web o simplemente alguien que necesita un plan sencillo poderoso ... Leer más). Elegir un editor que sea adecuado para usted es un proceso muy personal, y es solo el comienzo. A continuación, tendrá que personalizarlo con atajos de teclado, combinaciones de colores, complementos y más.
Y eso es solo una pequeña parte del trabajo: configurar un entorno de desarrollo requiere instalar el idioma con el que desea trabajar, muchas bibliotecas de códigos, un sistema de control de versiones (como Git, que James explicó aquí ¿Qué es Git y por qué debería usar el control de versiones? Si eres un desarrollador Qué es Git y por qué deberías usar el control de versiones si eres un desarrollador Como desarrolladores web, la mayoría de las veces tendemos a trabajar en sitios de desarrollo local y luego solo cargamos todo cuando terminamos. está bien cuando solo eres tú y los cambios son pequeños, ... Leer más), y más. En otras palabras, tienes horas de trabajo por delante configurando el entorno. ¿Y sabes qué? Esta bien.
Solo prepárate una taza de café o diez, y revísala. Que te diviertas. Aprenda a conocer su herramienta, al igual que cualquier artesano conoce sus herramientas. Aprende los atajos de teclado. Consigue ese resaltado perfecto. Cuanto más cómodo se sienta con sus herramientas, mejor podrá prestar atención a su código. Entonces, esta es un área en la que no escatimaré.
No te apresures - Los plazos son tu enemigo
Hagas lo que hagas, recuerda, estás aquí para aprender. No tienes una fecha límite. Cuando surge la tentación de utilizar un hack sucio en tu código solo para que funcione, ¡no lo hagas! Tómese el tiempo e invierta la atención para descubrir cómo hacerlo de la manera correcta. Un primer proyecto descuidado es mejor que ningún proyecto, pero aprenderá mucho más de un proyecto que ha diseñado y construido con gran cuidado en cada paso del camino.
Tenga paciencia y sudar los detalles (cuando se trata de técnicas de codificación y formas de hacer las cosas en el código).
Hacer preguntas
Tenemos Respuestas MakeUseOf para sus preguntas, y también está el fantástico Desbordamiento de pila que puede ver en la captura de pantalla anterior. Hay muchos otros foros específicos de idiomas en línea, pero no importa el lugar que elija, no dude en hacer preguntas. Si las personas no son agradables, averigüe lo que hizo mal y aprenda a hacer mejores preguntas (un tema para un artículo en sí mismo, realmente).
En su defecto, ve a buscar otra comunidad. Pero pase lo que pase, formule sus preguntas y escuche las respuestas. Agradecer a las personas por el tiempo que tomaron para ayudarlo también es una buena idea.
Use repetición espaciada para conservar información
Este consejo final es breve: lee todo sobre el Método Janki. Es una forma absolutamente brillante de construir un arsenal de conocimiento de programación siempre actualizado y retenerlo indefinidamente, no en tu computadora, sino en tu cerebro donde lo necesites. En serio, ve a leer esa publicación.
Pensamientos finales
El aprendizaje es algo muy personal, por lo que quizás no todos estos consejos te saldrán bien. Por otra parte, tal vez tengas algunas otras probadas y verdaderas que te gustaría compartir.
Lo más importante (para mí), me gustaría saber si va a utilizar alguno de estos consejos en su búsqueda para convertirse en programador. ¿Podrías? Déjame saber a continuación.
Crédito de la imagen: viejos libros grandes a través de ShutterStock