¿Qué tipo de habilidades debería dominar para convertirme en un buen desarrollador web sin tener que recibir educación formal?

Construye un sitio web. Cualquier sitio web. Encuentre algo en línea que le guste e intente recrearlo o crear algo similar. Manténgalo relativamente pequeño, si su objetivo es crear un sitio masivo como su primer proyecto, se desanimará y fracasará. La clave es HACER ALGO. Incluso los errores ofrecen la oportunidad de aprender.

Mejorará MUCHO más rápido si realmente tiene un problema concreto que resolver. No teorices sobre hacer algo, en realidad haz algo.

Sigue estos pasos:

  • Inventa un proyecto
    • Si no puede llegar a un proyecto, pídale a otra persona que presente una idea de sitio web que construya de forma gratuita.
      • Esto tiene la ventaja adicional de darle retroalimentación
    • manténgalo razonable, no va a construir Amazon como su primer sitio web.
  • Desarrollar requisitos
    • Hazte preguntas sobre el resultado final
      • como debería verse
      • qué características debería tener
    • escribe esto
    • ¡Haz que el cliente lo acepte! Esto es enorme. no comience a codificar hasta que ambas partes estén en la misma página en cuanto a cómo se verá el resultado final.
    • desarrollar un plan de acción dividiendo el proyecto en trozos
      • diseñar un diseño
      • agregar función xxxxx
      • agregar función xxxxx
      • enjuague y repita
  • ¡Empezar a trabajar!
    • ahora, cuando se encuentre con un problema y no pueda resolverlo, tendrá preguntas reales en numerosos sitios de ayuda de codificación.
    • Las preguntas reales brindan un conocimiento real que probablemente retendrá.
    • las preguntas hipotéticas en realidad no se pegarán porque no tendrá el refuerzo de memoria de haberlo hecho y probado.
  • Prueba cada trozo
    • si es un diseño, muéstrele al cliente, obtenga comentarios, revise y repita.
    • nunca pase la fase de diseño sin que el cliente compre el diseño, lo lamentará más adelante si lo hace.
    • si es un bloque de código o “módulo”, pruébelo con tantos casos extremos como pueda
    • integrarlo con los otros bloques de código que tiene
      • pruébelos juntos, si no lo hace, tendrá más problemas para aislar los problemas más adelante cuando esté viendo toda la base de código en lugar de un módulo a la vez.
      • siempre hay errores, no se desanime, intente aislarlos y solucionarlos uno por uno.
      • Después de que se solucione cada error, regrese y pruebe nuevamente, es posible que haya introducido un nuevo error.
  • Presentar el trabajo terminado al cliente.
    • a diferencia del diseño, no tenga el hábito de mostrar una funcionalidad parcial a los clientes, ellos no entenderán dónde se encuentra y podrían sentirse decepcionados por la mitad del código de trabajo. Más importante aún, tendrán una mini epifanía y pedirán nuevas características que harán que el alcance se deslice en su proyecto o que necesiten solicitar un cambio de precio. Ninguno de los dos es bueno para ti. Mucho mejor hacer el proyecto y comenzar un nuevo proyecto que amplíe la funcionalidad con un nuevo contrato y más dinero. No permita que los clientes tengan la oportunidad de cambiar los requisitos a mitad del proyecto sin un nuevo contrato o lo lamentarán y perderán dinero y / o perderán al cliente. No se culparán por que el proyecto supere el presupuesto o supere la línea de tiempo original solo porque agregaron más requisitos, pero lo culparán a usted.
    • obtenga comentarios y realice pequeños cambios si algo no es exactamente como el cliente esperaba. No permita que cambien el alcance si ha hecho lo que ambos acordaron en los requisitos, pero haga todo lo posible para que estén contentos con el producto final.

Incluso si el sitio era gratuito y trabajó durante meses, tendrá tres cosas que la “práctica” no le dará. experiencia en el mundo real, conocimiento práctico de cómo aplicar lo que está aprendiendo y algo concreto para mostrarle a su próximo cliente o posible jefe que USTED construyó. Habiendo producido algo triunfa en la práctica por una milla.

Me parece que, si bien una educación formal es excelente para una educación guiada larga sobre informática y programación, hay otras formas de aprender desarrollo web.

Los sitios de capacitación en línea como Aprender a codificar y ayudar a organizaciones sin fines de lucro pueden ser un gran recurso. Uno de sus instructores es extremadamente activo aquí en Quora Quincy Larson y definitivamente es alguien a quien seguir.

El camino que desea tomar es comenzar aprendiendo los idiomas utilizados por los sitios web y los programadores.

El frente

  • HTML es un lenguaje de marcado
  • CSS establece el estilo de un sitio web
  • JavaScript agrega funciones dinámicas a un sitio web
  • jQuery es una biblioteca de JavaScript

El back end

  • PHP, Python o Ruby on Rails son lenguajes del lado del servidor.
  • MySQL, MariaDB, PostgreSQL o NoSQL son bases de datos utilizadas por sitios web dinámicos.

Otros recursos gratuitos

  • Tutoriales web en línea de W3Schools
  • Red de desarrolladores de Mozilla
  • PHP Manual – Manual
  • PHP: la forma correcta
  • Hackear con PHP
  • JS: el camino correcto
  • Zona de juegos JavaScript
  • Documentación MySQL

Estas son solo algunas de mis recomendaciones, pero lo llevarán por un buen camino hacia el aprendizaje.

Debes dedicar un tiempo diario a aprender cada idioma y hacerlo paso a paso. Sea paciente, ya que puede llevar un tiempo comprender cómo funcionan los idiomas juntos.

Lo más importante, diviértete con eso.

Buenas noticias: la educación formal pone el pie en la puerta, pero para mucho trabajo no es realmente necesario. La experiencia es más importante, aunque deberá poder mostrarla con mayor probabilidad (perfil de GitHub, etc.).

Entonces, ¿estamos hablando de front-end o back-end?

Interfaz

HTML (5) / CSS (3) y JavaScript son los lenguajes estándar de la web. Debe ser sólido en los 3, para que pueda poner cosas en una página (HTML), hacer que se vea bien (CSS) y hacerlo interactivo o dinámico (JavaScript). HTML5 / CSS3 también puede ser dinámico, pero JavaScript sigue siendo el estándar. Eso, además de buenas habilidades de diseño, debería ser casi todo lo que necesita.

Back-end

Elija un lenguaje de fondo, o algunos de ellos, y apréndalos bien, junto con algún tipo de tecnología de base de datos. Úselos para sentirse cómodo con el campo en general, ya que las tecnologías reales en uso variarán (nota: NO se quede atascado en un idioma, la mayoría de los buenos ingenieros conocen muchos y aprenden más fácilmente). Es posible que desee aprender un marco o dos para familiarizarse con cómo funcionan también.

Una habilidad que debería tener si no está planeando tomar educación formal es el impulso para seguir aprendiendo y mejorando sus habilidades.

Si está siguiendo una carrera como desarrollador frontend, necesitará saber HTML, CSS y JavaScript. HTML es bastante simple y directo, CSS puede ser un poco más complicado y JavaScript a veces puede ser una pesadilla. Echa un vistazo a algunos de estos cursos.

Aprende a codificar haciendo – Code School

Aprende a codificar

Comience a aprender en Treehouse gratis

Autoaprendizaje y experiencia, porque es imposible para la educación formal enseñar todas las asignaturas de programación.

Aprende desde básicos como html, css, js. Incluso si no eres un buen autoaprendizaje (como yo …), sigue haciéndolo, no lo compares con la habilidad de los demás, pero sigue aprendiéndolo porque tienes curiosidad y te encanta hacerlo.

A veces puedes preguntar a tus amigos o comunidad como stackoverflow, quora, etc. Pero a veces debes comenzar a dejar de preguntar y encontrar la respuesta por ti mismo, incluso si lleva una semana.
Buena suerte compañero : )

  • HTML / CSS para el marcado y las imágenes de un sitio web.
  • javascript para concurrencia, interactividad y facilidad de uso
  • Algún tipo de lenguaje de fondo. Por el momento, sus opciones son Python o Ruby en su mayor parte, pero hay toneladas de opciones.

Si está buscando algunos recursos de desarrollo web gratuitos, consulte Desarrollo web con Python