La respuesta correcta es…. depende. Depende de varios factores diferentes. Dependiendo de sus antecedentes, lo que desea obtener de la experiencia y cuáles son sus objetivos finales son diferentes recursos que podrían ser mejores o peores para usted.

He ayudado a suficientes desarrolladores aspirantes a aprender el oficio para ver muchos puntos en común en el viaje. Este es el camino que he visto a las personas tomar en su viaje aprendiendo a codificar: desde un novato despistado hasta un programador competente con una carta de oferta como ingeniero de software en sus manos.
Una primera muestra de código …
Como un codificador de cara fresca, traes mucho entusiasmo y entusiasmo a la artesanía de la que anteriormente solo habías escuchado hablar a otras personas. Has tomado la decisión de sentarte al otro lado de la mesa y ahora el mundo es tu ostra.
Muchas personas encuentran que la programación es emocionante y les encanta cada minuto. Estás listo para dar el primer paso para dejar de hacer cosas que odias, sino para hacer cosas que amas todos los días.
Pero el hecho es que también hay muchas personas a las que les resulta difícil sentarse frente a una computadora durante largos períodos de tiempo o encontrar la experiencia más frustrante que gratificante.

Objetivo: averiguar si realmente te gusta escribir código y resolver problemas.
Todos deberían asegurarse de disfrutar de la programación antes de comprometerse seriamente con el tiempo o el dinero para aprender el oficio y usted también debería hacerlo.
Durante el proceso, aprenderá cosas técnicas, pero las cosas técnicas que aprenda aquí son menos importantes que una imagen más grande de que es algo que disfruta.
La programación es una habilidad que implica el aprendizaje de por vida y probablemente se dará cuenta rápidamente si ama cada minuto sentado frente a la codificación de su computadora, o si teme dedicarle tiempo.
Las habilidades : sugiero aprender HTML y CSS primero. También debe elegir un lenguaje de programación aquí (realmente cualquier lenguaje de programación funciona, la mayoría de la gente elige JavaScript, pero creo que Ruby es una mejor idea para un primer lenguaje de programación para aprender). No analices en exceso, solo elige cosas y aprende.
Recursos que puedes usar:
No necesariamente sugiero hacer todo esto, pero elige algunos de ellos y dales un giro. Algunos puedes amar, otros puedes odiar. En el peor de los casos, perderá un poco de tiempo y aprenderá lo que no funciona para usted.
Codecademy es lo que muchas personas usan para mojarse los pies en la programación. No creo que haya una manera más fácil y accesible de aprender sobre algunos de los fundamentos del desarrollo web.
Con Codecademy estás escribiendo código en el navegador, pero es un poco diferente a escribirlo con las herramientas que usan los desarrolladores reales. Y hay algo visceral en escribir una línea de código en un editor de texto, ejecutarlo y ver a su programa hacer su trabajo. Es una sensación que no obtendrá de Codecademy.
Puede sentir que disfruta de la experiencia de codificar en Codecademy. O puede encontrar la experiencia aburrida. Si encuentra aburrida la experiencia, puede que le resulte más divertido pasar a las herramientas que los desarrolladores realmente usan.
Udemy ofrece una tonelada de videos cortos que enseñan habilidades. Probablemente pueda encontrar cursos gratuitos o baratos (~ $ 9 / curso) en HTML, CSS o un lenguaje de programación. La calidad del curso dependerá mucho del instructor. Algunos serán excelentes. Otros solo pueden dejarte más confundido.
Learn Ruby The Hard Way es un gran libro gratuito en línea que enseña los fundamentos del lenguaje de programación ruby. Puede ser un poco intimidante, pero si puede completar el tutorial, tendrá experiencia escribiendo y ejecutando programas de ruby.
Aprenda a programar por Chris Pine es otro libro en línea gratuito que recorre la programación. Comienza bastante fácil, pero el libro se vuelve bastante difícil rápidamente.
En esta etapa, sentirá que ha estado aprendiendo y dedicando tiempo, pero se dará cuenta de que las habilidades que ha adquirido no parecen prácticas. ¿Cómo encaja un bucle en la construcción de una aplicación terminada?
Desea aprender la habilidad porque quería construir cosas, pero a partir de ahora solo ha visto números zumbar alrededor de la ventana del terminal. Sientes que eres bastante bueno en lo que has estado haciendo y tal vez no has sido tan desafiado como esperabas.
Construyendo un proyecto real …
Sientes que estás listo. Hagámoslo. Vamos a construir un proyecto. Estás un poco nervioso, pero YOLO lo estás buscando.
Entonces saltas y construyes algo que es real. Probablemente sentirás que entiendes cómo funcionan las cosas hasta ahora, pero no estás seguro de si podrías construir un proyecto y tenerlo en vivo en Internet.

Objetivo: crear una aplicación web basada en una base de datos que toque todos los aspectos de la programación que necesitará.
Hay muchos cursos en línea que lo guían paso a paso sobre cómo crear aplicaciones web específicas. Este es uno de los momentos más emocionantes y aterradores cuando se aprende a codificar.
El primer momento en que haya una URL para una aplicación web para el producto que ha codificado personalmente en cada línea será un momento especial. Sentirás una oleada de confianza y he escuchado a las personas usar la expresión que sentían como fuego \ U0001f525 \ U0001f525 \ U0001f525.
Recursos que puedes usar:
De nuevo, probablemente investigará las diferentes opciones y seleccionará una o dos de ellas.
Carriles de un mes La instrucción que Mattan reunió es una de las introducciones más accesibles al desarrollo web por menos de cien dólares. Le guía a través de la construcción de un clon de pinterest basado en bases de datos.
Costo: $ 49 / mes
Casa del árbol tiene lecciones en video de todo tipo de tecnologías diferentes. Si quieres aprender iOS, tienen eso. Si quieres aprender web-dev, tienen muchas tecnologías diferentes (ruby, php, python, etc.).
Costo: $ 29 / mes
Lynda.com tiene una variedad de lecciones en video para programación y desarrollo. Cubren cosas fuera de la programación, como el diseño y la fotografía también.
Costo: $ 24 / mes
Tutorial de Ruby on Rails , también conocido como el tutorial de Hartl, es uno de los tutoriales más respetados sobre la creación de una aplicación con ruby on rails. Este libro gratuito puede ser un poco intimidante al principio, pero cubre mucho material. Al final del libro hay una sección que lo guía a través de lugares donde puede aprender más.
Hay una sensación realmente increíble de construir algo de principio a fin y tenerlo en vivo en Internet. Al final de esta etapa, probablemente sentirá que puede seguir las instrucciones y hacer lo que el instructor le dice que haga, pero es probable que no cree una idea arbitraria que realmente tenga.
Entonces, al final de esta etapa, si encuentra un tutorial que lo guió a través de los pasos de cómo desarrollar la aplicación, podrá seguirlo, pero probablemente sienta que no podrá construirlo por completo. hazlo por tu cuenta sin sujetarlo con la mano.
Es un sentimiento mixto de confianza que eres capaz de programar. Lo has hecho. Tú mismo. Usted ha creado y lanzado aplicaciones, codificó cada línea usted mismo. Entonces sabes que eres físicamente capaz de hacerlo. Pero da un poco de miedo: ¿cómo continuará cuando se reproduce un video diciéndole exactamente qué hacer … no es eso lo que hacen la mayoría de los programadores reales?
En este momento probablemente te sentirás un poco como Alice, cayendo por la madriguera del conejo, las cosas comienzan a sentirse abrumadoras y no tienes ni idea de las cosas que no sabes que no sabes. Completamente inconsciente de cuán profundo es ese agujero de conejo.

Quédate con eso padawan. El proceso de aprender a codificar puede ser largo.
Convertirse en un desarrollador autosuficiente …
Finalmente, en el camino hacia el desarrollo del aprendizaje, se dará cuenta de que lo más importante para convertirse en desarrollador es aprender cómo comenzar un proyecto, no saber exactamente cómo llevar a cabo todas las tareas, pero ser capaz de aprender todo lo que necesita saber sobre el volar.
Joel Spolsky hace la analogía de la programación para arreglar un carro roto con cinta adhesiva y WD-40 mientras cae cuesta abajo .
Él es el tipo que desea en su equipo de construcción de karts, porque tiene dos herramientas favoritas: cinta adhesiva y WD-40. Y los empuñará con elegancia incluso cuando su kart está bajando la colina a una milla por minuto. Esto sucederá mientras otros programadores todavía están en la línea de partida discutiendo sobre si usar titanio o algún tipo de material compuesto de la era espacial que Boeing está usando en el 787 Dreamliner.
Tendrás que perfeccionar tus cualidades más íntimas como MacGyver para que las cosas sucedan.
Puede ser un proceso desalentador, pero en el curso del caos, hay un punto en el que las cosas comienzan a cambiar. Me gusta llamar al punto donde las personas comienzan a ser capaces de construir cualquier cosa que deseen su punto de inflexión , donde obtienen esta habilidad.
Es un momento decisivo y puede sentirse intenso. Diablos, escribí una publicación de blog completa sobre este momento aquí .

Objetivo: convertirse en un desarrollador autosuficiente que sea capaz de desarrollar cualquier idea que tenga.
Hay muchas opciones diferentes que lo llevarán a donde necesita estar. Cada uno con ventajas y desventajas.
Los títulos tradicionales de informática requieren alrededor de 4 años y abarcarán muchas cosas teóricas. Al abordar algunos de los problemas más difíciles en la programación, se pondrá en una posición en la que podrá enseñarse la mayoría de los temas de programación sobre la marcha con bastante facilidad.
He escrito un poco más sobre títulos en informática aqui
Autoestudio : puede continuar aprendiendo por su cuenta sin una estructura u orientación formal. Lo que generalmente encontrará es que, si bien podrá encontrar mucha información sobre los conceptos básicos de la programación, los recursos de material cada vez más avanzados se vuelven más escasos.
Puede ser intimidante encontrar un camino para aprender el desarrollo web poco a poco, pero ciertamente se puede hacer.
Si elige esta ruta, tengo algunas sugerencias sobre el enfoque que debe tomar.
- Comienza un proyecto de pasión
- Resuelve desafíos de codificación
- Aprenda sobre los fundamentos de la informática
- Prepárese para la entrevista técnica.
- Abraza a la comunidad
Un proyecto de pasión es un proyecto en el que se te ocurrió la idea y que te entusiasma personalmente. Hay muchos altibajos en la programación, pero si estás trabajando en algo que realmente te importa, es menos probable que renuncies al primer revés.
Debe construir su proyecto de pasión sin ninguna estructura u orientación de un tutorial, solo utilizando la documentación de las diversas herramientas que encuentre, las búsquedas inteligentes de Google y el código anterior que ha escrito como referencia.
Encuentra desafíos de codificación en sitios como ProjectEuler , Codewars y CodeAbbey . Dominar un lenguaje de programación y saber cómo resolver cualquier problema que enfrente ayudará mucho. Este tipo de problemas generalmente será similar al tipo de preguntas que le hacen en la entrevista técnica.
Los fundamentos de ciencias de la computación son importantes , aunque es probable que en ese momento sientas que son ingeniosos y mentirosos. Dedique un tiempo a aprender sobre ellos, incluso si cree que es una pérdida de tiempo. No es.
Escribí sobre por qué estas cosas son importantes en Quora aquí .
La entrevista técnica puede ser La única cosa entre usted y un nuevo trabajo como desarrollador web junior . Gayle McDowell escribió lo que es prácticamente el libro definitivo sobre entrevistas técnicas , vale la pena leerlo si estás estudiando para cambiar de carrera.
No lo hagas solo, sal a la comunidad y comienza a aprender. Vaya a sus grupos locales de reunión de rubíes y conozca a otras personas que están aprendiendo. CodeNewbie es una comunidad virtual que es acogedora para las personas que están aprendiendo a codificar.
Codificarse junto con otras personas, ya sea en persona o virtualmente, le dará la sensación de “están juntos en esto”, lo que ayudará a motivarlo y mantenerlo encaminado.
Los bootcamps de codificación son básicamente autodidactas con esteroides. Hay una gran diferencia en cómo funcionan los mejores bootcamps de codificación y el resto, pero sepa que la credencial de graduar un bootcamp de codificación no es importante.
Si no tienes un título de CS, a nadie le importará que hayas asistido a ” la Harvard of Coding Bootcamps ” frente a ” School of Web Dev ” del presidente Dwayne Elizondo Mountain Dew Herbert Camacho . En cambio, se preocuparán por tus habilidades como desarrollador.
[Terry Crews como presidente Camancho en idiocracia]
Los bootcamps de codificación proporcionan la instrucción para que los estudiantes puedan desarrollar ideas que se les ocurran por su cuenta. Trabajarán con usted en desafíos de codificación abstracta para que los estudiantes comiencen a comprender problemas complejos con un lenguaje de programación.
Los buenos cubren partes del título de informática que realmente importan y también lo prepararán para una entrevista técnica.
Si te quedas atascado, un instructor te corregirá rápidamente el curso y sabrás que estás gastando tu tiempo en cosas que realmente importan. Si está considerando asistir a un bootcamp de codificación, es un compromiso bastante grande, por lo que querrá asegurarse de estar haciendo el correcto.
Ingeniería inversa: la estrategia perfecta de bootcamp de codificación
Cuando reciba su primera oferta de trabajo como desarrollador web, será apresurado e inmediatamente ganará mucha confianza. Ya sea que acepte la oferta o la rechace, la experiencia le hará saber que finalmente ha logrado formar parte de un pequeño grupo de ingenieros de software que pueden emplearse.
Probablemente se dará cuenta de que el camino hacia el éxito fue mucho más difícil de lo que inicialmente había previsto. Al igual que el viaje a Mordor y de regreso, es un viaje inesperado con muchas pruebas y tribulaciones que darán forma a tu personaje.
Habrá altibajos, pero lamentará no haber comenzado antes. Con el tiempo, te olvidarás de las bajas, recuerda las altas y muy bien podría ser una de las cosas de las que estás más orgulloso de lograr.
Si le gustó mi respuesta, significaría mucho para mí si la votara al presionar el botón azul claro a continuación.