NEGACIÓN DE RESPONSABILIDAD: esta guía se escribió cuando la pregunta era cómo aprender a programar en 3 meses. Se precipita mucho, tómate tu tiempo si lo tienes. Puedes empezar a programar en un día. Hacerlo correctamente lleva una década.
ADVERTENCIA: esta guía pretende enseñarle cómo codificar, pero evitará deliberadamente PHP y MySQL. Si lo necesitas desesperadamente en tres meses o mueres , buena suerte con las otras respuestas. NodeJS y NoSQL (MongoDB) son lo suficientemente buenos (y modernos) para los primeros tres meses.
Supongamos que desea aprender codificación para la Web. No es realmente tan difícil (aunque no te convertirás en un experto en 3 meses). Pero debe comenzar con lo básico, así que instale una Mac o instale Ubuntu (busque grupos de usuarios de GNU Linux en su área, la comunidad siempre está dispuesta a ayudar). Entonces vamos por algunas habilidades de línea de comandos: http: //cli.learncodethehardway.o… debería tomar una semana (tops).
Luego iría a Markdown, una sintaxis muy sencilla para escribir HTML. No hay mucho aprendizaje involucrado, solo lea la documentación de sintaxis de Markdown, luego experimente con Gists y gist.io. Debería llevarte un par de días. A estas alturas debería estar feliz de ver que puede lograr algo con tan poco esfuerzo. Pero hay más.
- Cómo aprender el idioma inglés lo antes posible
- Como estudiante / graduado de MBA, ¿qué puedo aprender ahora mismo en solo 10 minutos que podría ser útil para el resto de mi vida?
- ¿Cuál es la mejor manera de publicar y sacar provecho de un libro de un pariente fallecido?
- ¿Puedo empezar a aprender algoritmos antes de aprender programación?
- ¿Cómo debo aprender a montar RipStiks?
Markdown te permite hacer muchas cosas, como presentaciones, documentación o blogs. Ahora, Markdown es un lenguaje específico de dominio que se puede aprender en un solo día si eres flojo . Cada una de estas herramientas lleva un par de días como máximo para usarse correctamente, pero el resultado es increíble. Por supuesto, puedes pasar toda la semana experimentando con cada uno (no). Tenga en cuenta que aunque algunas de estas herramientas están escritas en Ruby, no es necesario que aprenda sobre Ruby (solo el comando de gem install
).
Antes de continuar, deje de usar Gedit o cualquier editor de texto básico de Mac o Linux. Busca el editor de texto del que te enamorarás: Atom. Es bastante bueno, coloreará las cosas para dejarlo claro cuando hay un error tipográfico o si olvidó algo (como un punto y coma), se autocompleta, es multiplataforma, generalmente es genial. Solo descárgalo y ejecútalo.
Puedes usar otra cosa después de estos apresurados estos 3 meses. Soy un usuario de VIm, pero tomaría estos 3 meses para que realmente coseche los beneficios de usar VIm. Inténtalo más tarde, realmente vale la pena. Quiero decir después de estos primeros 3 meses. Cuando eres programador .
Ahora no hay mucho que aprender en HTML, pero como ya tienes algo de HTML generado, pasa los próximos días aprendiendo CSS. No, en realidad tome 2 semanas para CSS, comience con una guía práctica de HTML y CSS (ambos cursos). CSS no es difícil, pero los selectores de CSS tardan un poco en hundirse en tu cabeza, así que solo practica mucho. CSS oscila y progresarás mucho todos los días (tan pronto como superes los selectores), pero es un objeto ancho. Pasarás el resto de tu vida aprendiendo más sobre eso, así que solo pasa estas dos semanas practicando. Puede pasar de los cursos de Shay Howe a CSS Cross Country y Learn CSS Layout, pero * realmente * recomiendo centrarse en su blog basado en Jekyll y hacer que se vea como algo de Templated o HTML5Up. La idea es simplemente tratar de que se vea así, pero no copiar el CSS (pero inspeccionar la plantilla para ver cómo se está haciendo algo, es la forma en que aprenderá más).
Donde quiera que veas SASS, LESS o Compass, o PostCSS, mantente al margen. Pero tenga en cuenta que debe comenzar desde la pantalla más pequeña. Es 2017, es más probable que sus proyectos web se vean en un navegador móvil que en un escritorio (también debería funcionar en un escritorio, solo haga que sea de una sola columna, ancho máximo y alineado a un lado de la pantalla si está poco tiempo).
Hasta ahora, debería haberte llevado un mes. Un mes muy intenso. Pero se intensificará ahora. Porque hasta ahora acabas de aprender algunas herramientas y algunos lenguajes declarativos. Es por eso que CSS y HTML son tan fáciles: simplemente declara cómo deberían ser las cosas y se muestran así. La programación es un poco más difícil, porque tienes que escribir algo de lógica sobre cómo deberían comportarse las cosas. Entonces necesitas ejecutar esa lógica y ver si se comporta de la manera que esperabas. Es posible que se haya topado con problemas tontos con CSS, como olvidarse de agregar un punto y coma o dos puntos, o simplemente algún error tipográfico. Será mucho más estricto a medida que se aventure en la programación, pero hay herramientas para ayudarlo: instale Atom Linter y Linter Eslint.
Si está ejecutando Ubuntu, ya ha hecho algunas de las cosas que necesita. Solo sudo apt-get install git nodejs
. Si estás en Mac, no viene con apt-get out of the box, así que tendrás que instalar Homebrew. Copie y pegue esa línea en el terminal, instale brew y luego brew install git
y brew install node
Esta configuración no debería tomar mucho tiempo. Si solo tomaste una hora más o menos, ve afuera, mira el sol. Si le costó más, busque un espacio de hackers local o una comunidad local de Ubuntu o un mentor en línea y solicite (pague) a alguien por ayuda. Te ayudarían gratis, y te beneficiarás de conocer la comunidad de todos modos, pero no seas un actor barato. Toma un par de botellas de cerveza en caso de que no te lleven tu dinero
Ahora ve a CodeSchool, Codecademy y FreecodeCamp. Estás aprendiendo jQuery porque hace que JavaScript sea productivo para los novatos, y cuando digo que es productivo, quiero decir que realmente harás cosas con eso. Después del curso, podrás imaginar algunas mejoras en tu blog. Realmente espero que lo hagas. Toma algunas (2, 3) semanas para esto. Después de terminar estos cursos, pero dentro de esas 2 o 3 semanas reservadas para jQuery, vaya al siguiente paso: páginas estáticas.
Hasta ahora, ha estado confiando en Jekyll para generar todo su margen de beneficio además de Markdown. Así es como será, siempre (solo cambia Jekyll por otro motor de backend ). Jekyll te dará suficiente control si lees toda la documentación, simplemente ignora lo que encuentres y suena como Klingon. Aunque a estas alturas ya no es tan ajeno. Pero estás apurando. Construye una página estática (index.html). Añadir una presentación de diapositivas a él. Quiero decir, usa cualquier plugin de jQuery y hazlo. Ahí, eres demasiado bueno para una pasantía en la Web, no lo suficientemente bueno para trabajos junior. Pero puede ganar algo de dinero (o algún nombre) escribiendo páginas estáticas para pequeñas empresas, ONG o movimientos o fiestas locales (los mejores objetivos, nadie buscará la página después de un mes y se le ahorrará la vergüenza).
Forme un equipo con un diseñador gráfico (esas personas que pueden dibujar) y pruébelo. Si necesita un formulario, no se moleste con un backend: use FormSpree (o Wufoo si realmente no puede molestarse en escribir el HTML del formulario). Y no dejes de escribir jQuery todos los días durante estas semanas. Haga sitios de simulación para fiestas de simulación o activismo de simulación, si no encuentra a alguien para que se ofrezca voluntariamente (comience un motín). Pero en realidad, trata de encontrar un “cliente”. En realidad, si son capaces de pagar, haz que paguen. Es fácil de resolver cuando eres la parte exigente. Cuando se trata de alguien más, generalmente exigen más de lo que ya sabes y tendrás que hacer lo mejor que puedas. Y aprender.
Ahora, realmente, ha pasado un poco más de un mes, tal vez 1.5 o 2 meses (si es febrero o si se tomó vacaciones). Estás haciendo sitios estáticos. Si lo hicieras por un par de meses más, serías contratado. Realmente, un Junior, no un interno mal pagado. Los profesionales de frontend son valiosos. Front-end es lo que estás haciendo hasta ahora: escribir código que se ejecuta en el navegador. Pero no está obteniendo cosas de la interacción del usuario, no hay flujo de datos después de que el usuario carga la página. Estás mostrando datos estáticos, eso es todo. Pasemos de las páginas estáticas a los sistemas dinámicos con inicios de sesión, bases de datos y recursos.
Hay muchas opciones en este momento, pero no nos conformaremos con lo que es más fácil sino con lo que es más rápido de aprender. Por fácil, quiero decir que hay herramientas que te dan mucho de forma gratuita, pero generalmente requieren una configuración y aprender muchas cosas antes de usar. Simplemente no tenemos tiempo para eso. Además, por simplicidad, solo aprenderemos Javascript. No puedo creer que haya dicho eso, ya que JS no es el lenguaje de programación más simple que existe, pero ya lo estás aprendiendo. No agregar un nuevo idioma es más sencillo que agregar el más simple de todos. Así que sigamos con JS.
Esto significa que ni siquiera probará WordPress o Drupal, marcos basados en PHP ampliamente utilizados (si considera a WP como un marco, lo considero una gran aplicación). Ni Rails, ni Django. Estamos guardando esas cosas para cuando eres programador (es decir, en un par de meses). Iremos por ExpressJS. Es fácil y ya tienes NodeJs instalado. Sí, si estás familiarizado con la web y estás leyendo solo para ver a dónde voy, me estoy saltando a Apache. Tiene alguna curva de aprendizaje y estamos apurados.
Comience con FreeCodeCamp y continúe con el excelente y completo tutorial Express de Mozilla. Durante estos cursos, es muy probable que encuentres bloqueos de ruta, desafíos en los que una mano de ayuda podría hacer que te despegues realmente rápido. Por supuesto, HackHands y Codementor siempre estarán allí, pero deberías probar la comunidad de FreeCodeCamp, tanto el foro como el chat. Por lo general, es ruidoso, con muchos mensajes volando pero es muy probable que encuentres apoyo allí. Además, vale la pena prestar una ayuda a los nuevos desarrolladores que luchan con jQuery allí. ¡Aprenderás mucho!
Una vez que haya terminado con los cursos, debe pensar en una aplicación propia. Un organizador de la fiesta del juego de mesa, una aplicación de revisión de mezcla de frutas, un servicio de citas para perros callejeros, crea algo que piensas que es interesante (si a otras personas les resulta extraño pero no asqueroso, ese es el punto dulce). Luego, codifica una Lista de tareas muy aburrida. Sí, lo sé, pero es un ejemplo canónico para usar bases de datos y rutas de back-end. Además, es muy fácil saber si está hecho: ¿puedes agregar a dos? puedes revisarlos? puedes borrarlos? HECHO.
Una vez que haya terminado con la Lista de tareas, sabe cómo programar. Puedes conseguir con CSS, jQuery y Express. Su aplicación soñada está al alcance, pero tomará tiempo fuera de estos primeros tres meses muy intensos. Sin embargo, ahí es donde debes dirigirte, porque codificar tu propia aplicación es realmente un bada **. O consiga contratado, haga dinero y done a la EFF (eso hace que tanto usted como la EFF se sientan increíbles). Usted se apresuró a convertirse en un programador y lo hizo. Sin embargo, hay mucho más que aprender.
Si te interesa escribir tu propia aplicación, tu próximo paso podría ser VueJS. Es un marco de frontend impresionante, simple muerto, poderoso y loco. Definitivamente, git te ayudará, pero no es obligatorio (algunas personas usan Dropbox para versionar toda su vida, esas pobres almas).
Si te interesa ser contratado por una gran empresa, aprende git y trata lo más que puedas para unirte a una tienda más pequeña que incluya a React. React no es trivial, es mucho más fácil aprender de tus compañeros de equipo. Además, cobrando, donando a EFF, FreeCodeCamp. Increíble. Luego pasar a los grandes.
Si te gusta trabajar de manera independiente y convertirte en un programador nómada, aún te beneficiarías de Vue y git (todos * deberían * aprender git). Pero supongo que el siguiente paso podría ser aprender a usar el Preset Web de Neutrino. Envuelve todos los bienes de las prácticas de desarrollo modernas, entrega aplicaciones ordenadas y recargas en caliente durante el desarrollo. De todos modos, tienes toda una vida de aprendizaje por delante. Neutrino te hace mucho más productivo (para que puedas pagar el próximo viaje, llevar regalos a tus anfitriones y pagar algunos cafés al lugar donde te sientas a trabajar).
En cualquier caso, si golpea los obstáculos durante su viaje, comuníquese conmigo en Codementor y puedo intentar desbloquearlo (y explicar algunas cosas conceptuales, porque eso es lo mío).