Cómo convertirse en un desarrollador full stack sin volver a la universidad o asistir a un campo de entrenamiento

Como referencia, me enseñé el desarrollo completo de la pila por mi cuenta sin un bootcamp o una universidad. Recientemente pasé por este proceso de aprendizaje, por lo que puedo compartir lo que funcionó y lo que no funcionó.

Descargos de responsabilidad: recibí un título en ingeniería informática. Esto fue mucho antes de que tuviera interés en el desarrollo web. Aprendí un montón de los fundamentos de programación en la escuela que probablemente ya conozcas. Mi título sirve como una buena base fundamental para mis esfuerzos de programación, pero de ninguna manera es un requisito previo para aprender el desarrollo completo de la pila. Además, no soy un gurú de pila completa. Pero, con el tiempo suficiente, podría hackear una aplicación web de pila completa.

==============================

Mi paso 1: HTML / CSS

Como han mencionado otras personas, comience con HTML / CSS. Como ya estás aprendiendo esto, estás en el camino correcto.

Fui muy básico aprendiendo aquí con este tutorial del Proyecto Odin:
Desarrollo web 101

Aprendí mucho del front-end construyendo prototipos y pequeños ejemplos (ver Paso 4/5)

Lo que recomiendo: aprenda los conceptos básicos de HTML / CSS, luego pase al siguiente paso. No te atasques demasiado aquí: siempre puedes volver y tomar otro curso si no entiendes estos idiomas.

==============================

Mi paso 2: Ruby on Rails

Aprendí un montón de C ++ / Python en la escuela. Entonces, pensé que Ruby sería un buen próximo paso. Recogí a Ruby rápidamente y comencé a sumergirme en Ruby on Rails.

Al final, Rails no se quedó conmigo. Había demasiada “magia” para mí en ese momento. Prefiero entender completamente cómo funciona una aplicación antes de comenzar a aprender algo nuevo. Rails es un marco web masivo (más de 100k líneas de código), y eso lo hizo difícil para un principiante.

Esto no quiere decir que Ruby on Rails sea malo. Simplemente no vibraba con un principiante como yo. Quizás, más adelante, volveré a Rails cuando aprecie más de la “magia” que sucede. En los tutoriales que revisé, creé algunas aplicaciones impresionantes y complejas con bastante rapidez. Las convenciones simplemente no lograron mantenerse.

==============================

Mi paso 3: MEAN Stack High Level

Después de un pequeño descanso, quería probar algo que pudiera comprender más fácilmente. Javascript en el front-end y el back-end parecía algo más manejable para algo que aprende el desarrollo de stack completo en su propio tiempo. Sin embargo, no es una ventaja: NodeJS vs. Rails: cómo aprender el desarrollo web de manera inteligente

Comencé con la popular pila MEAN (MongoDB, Express, Angular, Node.js). Es una pila fantástica para comenzar mientras aprende el desarrollo completo de la pila por primera vez .

Básicamente, leí algunas publicaciones de blog de alto nivel sobre qué esperar. Probablemente valga la pena pasar unas horas mirando videos de YouTube: página en youtube.com

Pero si alguna vez quieres más recursos, aquí hay un suministro interminable de recursos MEAN stack:
ericdouglas / MEAN-Learning

==============================

Mi paso 4: Tutoriales de MEAN Stack

Este paso es donde la pila MEAN comenzó a resonar. Revisé docenas de tutoriales. Para evitarle problemas, aquí están los tres mejores tutoriales que revisé (en el orden en que los revisé):

Tutorial – Comenzando con Node.js, Express, MongoDB
Configuración de una aplicación de página única MEAN Stack
Nodo y aplicación angular de tareas pendientes: organización y estructura de la aplicación

Debe asegurarse de no solo copiar / pegar código . Realmente haga un esfuerzo por comprender cómo funciona el código, y le ahorrará innumerables horas en el futuro. Siempre puede descargar el código fuente de estos tutoriales y compararlos para ver si hizo todo correctamente.

Aquí hay otro tutorial que es más largo, pero sigue siendo muy útil:
Cómo comenzar en la pila MEAN

Estos tutoriales deberían darle los fundamentos que necesita para comenzar a construir por su cuenta.

==============================

Mi paso 5: proyectos

Ahora, recomendaría seguir su interés. Cree aplicaciones que sean geniales e intente crearlas usted mismo. Si necesita algunos proyectos de muestra para comenzar, mire esta publicación de Quora:
¿Cuál es la mejor manera de aprender desarrollo web?

En este punto, deberías ir a las carreras. Si llegas hasta aquí y aún necesitas ayuda, vuelve a Quora y estaré más que feliz de ayudarte más.

==============================

La mejor de las suertes.

Como desarrollador de media pila (soy como un gato de todos los oficios pero todavía estoy aprendiendo), esto es lo que recomiendo:

Aprenda desarrollo web gratis,
HTML5.1x Información del curso | edX,
CS169.1x Información del curso | edX,

El primero es el curso más grande que he tomado, se centra en el desarrollo web, Rails y flujo de trabajo como Saas, desarrollo ágil, control de versiones y todo lo que necesitará como desarrollador de aplicaciones web, el número 2 sobre html es imprescindible, el número 3 es sobre metodologías para el desarrollo web.

Si desea programar más como software relacionado con editores, compiladores y sistemas operativos, comience desde aquí:

Introducción a la informática

Sacudirá su mundo, cambiará su forma de pensar sobre todo, es gratis y puede pagar un certificado de la Universidad de Harvard.
Y lo más importante es “No te rindas”, si sigues intentándolo eventualmente lo harás realidad.

Para ser un buen desarrollador de programas y lograr todos sus objetivos y mucho más, el primer paso que debe tener en cuenta es pensar de manera efectiva al registrarse en Holberton School, donde aprende mucho y los fundamentos de todos los idiomas y los idiomas que necesita Aprende a convertirte en un gran programador. También debe hacer lo siguiente:

1. Disposición para aprender: la tecnología siempre está evolucionando y las habilidades y habilidades que un programador tiene hoy probablemente estarán desactualizadas en unos pocos años. Es importante encontrar un programador que tenga interés en seguir las últimas tendencias y esté ansioso por participar en las oportunidades de educación continua disponibles.

2. Habilidades de depuración: crear código es solo una parte del trabajo de un programador. Cuando el software no funciona como se esperaba, se espera que un programador llegue a la raíz del problema de manera rápida y efectiva. En lugar de pasar horas haciendo cambios a ciegas, busque un programador que prefiera investigar cuidadosamente su código e investigar posibles problemas hasta encontrar una respuesta.

3. Habilidades para resolver problemas: un buen programador se nutre de encontrar formas de hacer que algo funcione, a pesar de las probabilidades.

4. Pasión por el trabajo.

5. Capacidad para planificar

6. Capacidad para manejar fallas

7. mentalidad de trabajo en equipo

8. Disposición a la investigación.

9. Respeto a los plazos.

El autoaprendizaje es bueno si tienes conocimientos básicos sobre programación.

Hay muchos recursos en línea que son útiles para aprender. Una combinación de tutoriales en línea y videos de YouTube sería adecuada para usted.

Aquí se pueden encontrar algunos materiales de calidad de Udacity , Coursera , Thinkful , General Assembly , Lynda , Edx , etc. También hay pocas universidades que se centran en el desarrollo Full Stack y también son personas preferidas sin ninguna exposición a la programación.

Es divertido: soy un desarrollador de back-end y odio el front-end, especialmente Javascript. tan quisquilloso …

Gran respuesta de Jens; sin embargo, sugeriría que su lista está un poco avanzada para una persona en el nivel en el que se encuentra.

Bueno, la gran decisión que debe tomar de inmediato es si desea aprender a desarrollar para Microsoft o para el resto del mundo … que generalmente está basado en Unix y PHP.

Ahora, las grandes corporaciones tienden a usar tecnologías de Microsoft como C # y .Net

Dicho esto, muchos grandes cuerpos también usan Unix y PHP, como Amazon. PHP ejecuta aproximadamente el 65% de la red mundial.

La industria del software es como cualquier industria: tiene sus camarillas y clubes, y sus tendencias y favoritos. Descubrirá que hay muchos técnicos que disfrutan al condenar PHP. Un poco como el concurso de meados republicanos vs demócratas.

Como total newb a back end, un buen lugar para comenzar es con Python. La sintaxis es más fácil que PHP, PERO, en mi humilde opinión, hay océanos y océanos de aplicaciones y herramientas y cosas construidas en PHP. Entonces paga su dinero y toma su decisión.

La otra cosa con la que estaría de acuerdo con Jens es entrar a Linux lo antes posible. No te dejes atrapar por todo Apple … nada de lo que un desarrollador de back-end necesita se ejecuta en Apple. Las dos distribuciones de Linux en Intel que dominan el mundo son Ubuntu y Linux Mint. Son esencialmente lo mismo, solo que Mint tiene una interfaz algo más similar a Windows. Míralos, ambos son geniales.

Lo que elijas, mi mejor consejo que tengo es LEER, LEER, LEER. Cuando ves algo que no entiendes, Google.

Primero, aprenda HTML / CSS … no necesita dominarlo, pero necesita conocerlo lo suficientemente bien.

Luego, aprenda Javascript, que le permite agregar interactividad a sitios web basados ​​en html / css. ¡Aprende Jquery también!

A continuación, Backend … puede seguir la ruta tradicional (php, ruby, python, elegir uno) o usar javascript para el back-end si usa Node.Js que mata 2 pájaros de un tiro pero es bastante nuevo y no es muy común ( todavía).

Luego está el diseño UI / UX, la animación CSS y los gráficos. Aprenda Photoshop y cómo hacer que un sitio web se vea bonito pero que se pueda usar. Aprende a hacer maquetas de sitios web.

Por último, hay cosas relacionadas con el servidor … cómo ejecutar y mantener un servidor, configurar equilibradores de carga, cómo escribir scripts de línea de comandos, cómo remotamente en un servidor.

Después de todo eso. Intenta crear un sitio web funcional … desde cero.

Luego, observe los marcos MVC que le pedirán que utilice todo lo anterior.

Si estás aburrido y quieres algo diferente, intenta crear un sitio web de WordPress / Drupal o personalizar una plataforma de comercio electrónico como Prestashop.

Soy un desarrollador de backend con experiencia en GNU / Linux. Como tal, puedo darle algunas ideas para las herramientas de desarrollo de backend en ese entorno. Algunas cosas que podrían ayudarlo a comenzar:

  • Aprende un lenguaje de programación divertido y básico. Ruby o Python son dos buenos contendientes que son bastante fáciles de aprender. No conozco muy bien a Ruby, pero me encanta Python y los marcos web a continuación están basados ​​en Python. Si le gustan las matemáticas y la resolución de problemas, Acerca de – Proyecto Euler tiene un montón de pequeños problemas que son excelentes para practicar la programación.
  • Aprende a usar git. Hará que toda la programación a continuación sea mucho más fácil.
  • Algo relacionado con lo anterior; Aprenda los conceptos básicos de HTTP; Debe saber qué son la solicitud y la respuesta y los códigos de retorno HTTP básicos; 200, 2XX, 3XX, 4XX, 404, 5XX y cómo funciona una redirección.
  • Tome su sitio web actual y haga que genere contenido dinámico. Un buen comienzo sería agregar un formulario de contacto que le envíe un correo electrónico. Puede usar Flask (A Python Microframework), El marco web para perfeccionistas con fechas límite o Pylons Project: Home para eso. Los tres tienen excelente documentación.
  • Aprende a usar una concha. Si es usuario de Mac, instale Mac OS Terminal Replacement y aprenda las utilidades básicas de shell en MacOSX / GNU Linux; cat, grep, more / less, wc, sort, sed, du, ls, find, df, gzip, ssh, curl, wget, tar y más. Aprenda a combinarlos con tuberías y redireccionamiento. Aprende a usar Git en tu terminal.
  • Obtenga un servidor Linux para jugar. La forma más fácil y económica es instalar Vagrant y configurar una máquina Ubuntu. Si desea mostrarle algo al mundo, puede usar una máquina virtual de nivel gratuito (creo que durante 750 horas) de Amazon Web Services (AWS): Cloud Computing Services o similar.
  • Tome el sitio web que está haciendo en este momento y configúrelo en su brillante servidor Vagrant. Es posible que deba configurar un servidor HTTP. Eche un vistazo a las noticias de nginx o The Apache HTTP Server Project.
  • Puntos de bonificación: cree un script que configure automáticamente todo en su servidor usando algo como Ansible is Simple IT Automation o Welcome to Fabric !.
  • Aprende SQL. Es la lengua franca hablar con bases de datos. Hay muchas otras bases de datos, pero le dará una buena introducción. Instale MySQL o PostgreSQL en su computadora portátil / computadora de escritorio / servidor y juegue. Haga que su sitio web dinámico use la base de datos para algo.

A estas alturas ya sabes un poco sobre cada capa de una aplicación web; frontend (HTML, CSS, ¿quizás JavaScript?) y backend (arriba).

No voy a decir mucho, pero tengo 17 años y estoy aprendiendo el desarrollo completo. Echa un vistazo a http://freecodecamp.com/ becuase:
1. Es lo que necesita: desarrollo completo de la pila
2. Práctica interactiva
3. Gran comunidad
4. Una vez que haya terminado de aprender, proyectos sin fines de lucro del mundo real para trabajar y crear una cartera
¿Mencioné que es GRATIS! Visite http://freecodecamp.com/ , ¡quedará impresionado!

Coursera tiene una especialización de desarrollo web Amazing stack completa, consta de 5 cursos y un proyecto final al final. Los cursos cubren HTML, CSS, JS, Bootstrap, Angularjs, Nodejs, Mongodb y más …
Son 79 $ cada coure o alrededor de 400 $ en total, sin embargo, puede solicitar una Ayuda Financiera y muy probablemente obtendrá una. Acaba de comenzar y puede inscribirse ahora.

Necesitas “conectar los puntos” para aprender realmente estas cosas. Necesita aprender a usar todas estas herramientas juntas para construir en el espacio digital. La clave es NO empantanarse Git, proceso perfecto, etc. Todo eso confunde a los principiantes. Concéntrese primero en construir en el frente. Una vez que “consigas” eso, elige Ruby o Python. Estos son los dos idiomas web más fuertes. Sus comunidades son su fuerza. Ruby es como el inglés, así que si sabes inglés, sabes que el 25% de Rudy salió de la puerta. Tuve el mismo problema que tú. Tomé todo lo que hice para superar el obstáculo y lo puse en un curso intensivo (eBook + código + videos): Diseño web con Sketch, Flexbox y JQuery Complete – Buena suerte.

Sí, la escuela de códigos es realmente agradable. Para mejorar su habilidad de codificación necesita trabajar en proyectos prácticos. Esta es la única forma de hacerlo. También sugiero combinar cursos de un mes y código escolar para comprender mejor un tema. En caso de que no conozca codechool y un mes, ambos ofrecen un descuento del primer mes que puede ser útil:
Inscríbase en Code School por 9 dólares
Disfruta de un 10% de descuento en OneMonth.com

Hay un gran sitio para esto llamado Free Code Camp. Tiene todo lo que necesitas. http://Www.freecodecamp.com

Uno de los mayores problemas con los bootcamps, como usted mencionó, es que son muy caros. Y simplemente no es factible para mucha gente. Soy un desarrollador de pila completa autodidacta, y ahora me enfoco en enseñar a otros exactamente lo que estás buscando: convertirte en desarrollador de pila completa autodidacta también. Y he estado en eso por un tiempo ahora.

Teniendo todo eso en mente, recientemente lancé un nuevo curso y comunidad de bootcamp en línea, From Idea To Launch. El curso lo guía a través de la creación de una aplicación web completa de Laravel, de principio a fin. Y aunque no es gratis ($ 39 / mes), es mucho más económico que un bootcamp.

Las otras respuestas aquí son geniales, pero uno de los problemas puede ser establecer un plan sólido para usted y luego seguir ese plan (y obtener el apoyo que necesita en el camino).

La comunidad a la que se une junto con el curso está compuesta por otros miembros del curso y por mí mismo. Por lo tanto, siempre tiene acceso a mí a través de la comunidad para recibir orientación y asistencia personalizada, a medida que avanza en el curso.

En cualquier caso, ¡te deseo mucha suerte en tu viaje de programación! Y siéntase libre de comunicarse si tiene alguna otra pregunta. Me encanta conversar sobre estas cosas.

Hola, una ironía porque estoy luchando por ser un analizador de seo y estás tratando de ser yo (desarrollador de pila completa).

1. no pierdas tu fuerza.
Bueno, ya que estás muy cómodo en el front end, lo cual es una gran ventaja para que lo mantengas así.

Bueno, como punto de vista bengaluriano, lo estaría respondiendo.

Html, css, JavaScript lo harían.

2. Obtenga un lenguaje de script
Php o java o python harían.
Si estás en India ve a Java.
Si en el extranjero toma python.

3. Backend
SQL, MySQL, nosql que cualquiera haría. Pero los bengalurianos se iniciarían con SQL ++

http://Www.Tutorialspoint.com es lo que preferí para estudiar en formato PDF. Coursera para video aprendizaje.

Momento feliz.

Aquí hay un sólido plan de estudios ofrecido por la comunidad de GitHub:

sociedad de código abierto / informática

Siempre puedes estudiar por tu cuenta y obtener algunos proyectos para trabajar. Mejor aún, solicite un trabajo o pasantía en esta área.

More Interesting

¿Cuál es el tipo más común de trabajo de programación?

¿Cuáles son los pros y los contras de trabajar en una startup versus trabajar en una gran empresa tecnológica?

Después de pasar la ingeniería, ¿cuál es la forma correcta de encontrar un trabajo técnico?

¿Cuáles son algunas instituciones en el país y en el extranjero que son similares al Instituto Mudra de Comunicaciones Ahmedabad en cursos y ranking?

¿Cuál es la importancia de hacer una Maestría en Tecnología en informática de cualquiera de los IIT? ¿Qué tan beneficioso es para una carrera?

¿De qué manera puedo conectarme con un supervisor y convencerlo de que participe en su trabajo de investigación mientras realizo mis estudios de posgrado junto con becas?

¿Puedo ser un exitoso científico informático y desarrollar videojuegos?

¿Cómo se pueden promover los deportes de motor (especialmente la Fórmula 1) en India?

¿Cuáles son las opciones para un estudiante de PCM interesado en tecnología informática que no sea ingeniería?

¿Vale la pena la certificación PMP para los profesionales de TI?

¿Tengo que trabajar 24/7 en empresas como Facebook o Google?

Cómo obtener una pasantía / trabajo en un fondo de cobertura antes de la universidad

¿Puedes convertirte en un oficial de policía si tienes un delito en tu registro?

Tengo dos ofertas Wipro y Accenture .pls me sugieren cuál es mejor y por qué, mientras que el paquete de Accenture es 3.5 y Wipro es 3.25.

Me encantan los perros, pájaros, peces, gatos, caballos. Quiero criarlos, amarlos y estar con ellos todo el tiempo. ¿Cómo puedo hacer una carrera de mi pasión?