Anuncio
Los programadores expertos han tenido una gran demanda durante años, y no parece que esa demanda vaya a disminuir en el corto plazo. Pero incluso si no tiene la intención de ganarse la vida como programador profesional, aprender a codificar con habilidad será útil en cualquier trabajo relacionado con la computadora, incluso como gerente. Pero si está leyendo esto, probablemente no debería tener que decirle por qué convertirse en codificador es una buena idea. Ya lo sabes, y supongo que también sabes algo más: no es fácil.
Dominar el arte de la programación lleva miles (sí, miles) de horas. Aún así, si pasas bien esas horas, llegarás antes (y te divertirás más en el camino). Aquí hay algunas ideas para que consideres y quizás pruebes tu camino para convertirte en codificador.
Resolver un problema real
La teoría es aburrida. También lo son los problemas teóricos, por lo general. Si solo aprende a codificar para ganar dinero, bueno, no estoy seguro de qué tan bien va a funcionar. Pero si tienes una verdadera pasión por construir cosas, ve
Construirlos. Entonces, la primera pregunta que probablemente deberías hacerte es "¿Por qué quiero aprender esto?"Si esa respuesta es"para hacer algo", Bueno, ve a hacer esa cosa. La buena noticia es que el primer paso no requiere que sepas cómo codificar nada: solo tienes que escribir (y preferiblemente, dibujar) cómo sería esa cosa. ¿Cuál es la aplicación que te estás perdiendo? ¿Qué herramienta no existe, pero realmente 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, debes 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 mucho de lo que sé sobre Ruby (no Rails) provino de ese proyecto.
Comience con información de alto nivel
Sí, he seleccionado un libro específico aquí. No, O'Reilly no me pagó (ni MakeUseOf) nada. Es así de bueno. Casi nunca lo hago a través de un libro sobre programación, pero Simplicidad de código me mantuvo fascinado todo el tiempo. Es un libro sobre el arte de la programación, casi sin código. No necesita saber un lenguaje de programación para entenderlo. Cubre cosas como la razón básica para programar cualquier cosa (¡para ayudar a las personas!), ¿Cuándo debe introducir nuevas funciones en su aplicación, cuándo optimizar su código (y qué es la optimización prematura), y muchas otras cosas buenas cosas.
Una vez que termine este libro (u otro libro similar, si encuentra uno), estará en un lugar mucho mejor para juzgar sus futuros estudios.
Elija cuidadosamente su tecnología
¿Deberías codificar tu 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 programadores saben cómo codificar, en lugar de un idioma 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 idioma que tienes que dominar, sino el general conceptos de programación (lógica de programa y control de flujo, tipos de variables y alcance, objetos y todo eso bueno cosas). Por lo tanto, definitivamente debe pasar un tiempo pensando en qué idioma o tecnología desea codificar.
Esto viene después de elegir su proyecto, porque una vez que sepa lo que está tratando de hacer, estará limitado a un subconjunto más limitado 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 alrededor de un milló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 soporte? ¿Existen buenas herramientas de desarrollo gratuitas para ello? James cubrió este tema en otro artículo, llamado ¿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 elegir aprenda algo que le beneficiará en el futuro inmediato con resultados visibles en su plataforma de... Lee mas .
No pase mucho tiempo aprendiendo grandes cantidades de datos
Una vez pasé unas semanas viendo un video curso sobre PHP. Creo que fueron 30 horas de video o algo así de loco. ¿Conozco PHP ahora? Diablos no. Quiero decir, puedo leer algo del código, pero diría que esas horas fueron una pérdida de tiempo. Intentar agrupar tanto conocimiento secuencialmente sin codificar simplemente no funciona. Para mí, codificar cuidadosamente un proyecto de ejemplo prefabricado es casi tan malo, ya que se pierde una gran parte del aprendizaje. Aprendo mejor cuando trato de hacer algo que me importa (ver arriba) y me encuentro con problemas al azar. Resuelve un problema sobre el que sientes algo y has aprendido algo nuevo. Mire fijamente la pantalla durante 30 horas y... bueno.
Dedique tiempo a configurar su entorno
Al igual que hay muchos lenguajes de programación, existen muchos entornos de desarrollo para cada idioma. Algunas personas usan un editor de texto como Vim (que recomendé en Las 7 razones principales para darle una oportunidad al editor de texto Vim Las 7 razones principales para darle una oportunidad al editor de texto VimDurante años, probé un editor de texto tras otro. Lo que sea, lo probé. Utilicé a todos y cada uno de estos editores durante más de dos meses como mi principal editor diario. De alguna manera, yo ... Lee mas ) o Notepad ++ (que le mostramos cómo "Sopa" aquí Mejore el editor de texto Notepad ++ 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 útil recomendado si eres programador, diseñador web o simplemente alguien que necesita un poderoso llanura... Lee mas ). Elegir un editor adecuado para usted es un proceso muy personal, y es solo el comienzo. A continuación, tendrá que personalizarlo con métodos abreviados 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 lenguaje con el que desea trabajar, muchas bibliotecas de códigos, un sistema de versiones (como Git, que James explicó aquí ¿Qué es Git y por qué debería usar el control de versiones si es desarrollador?Como desarrolladores web, muchas veces tendemos a trabajar en sitios de desarrollo local y luego cargamos todo cuando terminamos. Esto está bien cuando solo eres tú y los cambios son pequeños, ... Lee mas ), y más. En otras palabras, tienes horas de trabajo por delante para configurar el entorno. ¿Y sabes qué? Esta bien.
Simplemente hágase una taza de café o diez y repáselo. Que te diviertas. Aprenda a conocer su herramienta, como cualquier artesano conoce sus herramientas. Aprende los atajos de teclado. Obtenga ese resaltado a la perfección. 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ía.
No se apresure: los plazos son su enemigo
Hagas lo que hagas, recuerda: estás aquí para aprender. No tienes una fecha límite. Cuando surja la tentación de usar un truco 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 sude los detalles (cuando se trata de técnicas de codificación y formas de hacer cosas en código).
Hacer preguntas
Ahí está lo fantástico Desbordamiento de pila que puedes ver en la captura de pantalla de arriba. Hay muchos otros foros específicos de idiomas en línea, pero no importa el lugar que elija, no tenga miedo de hacer preguntas. Si la gente no es amable, averigua qué hiciste mal y aprende a hacer mejores preguntas (un tema para un artículo en sí mismo).
De lo contrario, ve a buscar otra comunidad. Pero pase lo que pase, haga sus preguntas y escuche las respuestas. Agradecer a las personas por el tiempo que se tomaron para ayudarte también es una buena idea.
Utilice la repetición espaciada para retener información
Este consejo final es breve: lea todo sobre Método Janki. Es absolutamente brillante forma de construir un arsenal de conocimiento de programación siempre actual y retenerlo indefinidamente, no en su computadora, sino en su cerebro donde lo necesita. En serio, ve a leer esa publicación.
Pensamientos finales
Aprender es algo muy personal, por lo que quizás no todos estos consejos te resulten útiles. Por otra parte, tal vez tenga algunos otros probados y verdaderos que le 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? Avísame a continuación.
Credito de imagen: Grandes libros antiguos a través de ShutterStock