Primero, no intentes aprender todas las capas a la vez. Intentar armar una “pila” mientras estás confundido acerca de las piezas te va a dejar frustrado y confundido acerca de qué hacer. Lo más importante para luchar en esta búsqueda es la claridad: tener una idea clara semana a semana de cuáles son tus objetivos, construir un modelo mental claro y coherente de las herramientas con las que estás trabajando.
Además, tenga en cuenta que es difícil ser amplio y profundo. un año a las 12 horas al día le proporcionará una base sólida en lo básico, pero siempre habrá más para aprender.
Mi consejo se centrará principalmente en la programación de back-end ya que no soy tan bueno
- Tengo una licenciatura en diseño web y quiero obtener un certificado en desarrollo front-end o UX. ¿Qué programa o tutoría en línea me recomiendan?
- Si me especializo en contabilidad y marketing, ¿puedo convertirme en diseñador de UI / UX?
- Soy un diseñador de UX / UI de nivel medio (con más experiencia en el lado de UI). ¿Debo unirme a una empresa grande (y especializarme en riesgos, que no quiero hacer), o una empresa más pequeña (y estabilidad de riesgo)?
- Si hago un sitio web y pongo videos de YouTube, que no son míos, ¿se considerará legal o ilegal?
- Quiero renovar y rediseñar el sitio web de mi negocio en Vancouver. ¿A qué empresa local de diseño web debo ir?
1) Consigue algunas buenas herramientas.
Bloc de notas de papel: pasará mucho tiempo tratando de localizar problemas y esto será muy difícil si intenta mantener todo en su cabeza. Obtenga un bloc de notas y escriba cosas mientras lo hace, especialmente al depurar cosas.
Prevención de distracciones: pasar horas y horas tratando con algo frustrante es difícil y es tentador leer quora cuando está frustrado. Puede bloquear sitios web temporalmente con http://selfcontrolapp.com/.
Servidor privado virtual: alquile un servidor ubuntu en https://www.digitalocean.com/sig… por $ 5 al mes. Mucho más barato y más fácil que perder el tiempo con algún alojamiento compartido. Esto le proporciona una máquina con una dirección IP a la que puede conectarse y hacer cosas. Si lo arruinas, puedes destruirlo y crear otro.
Si tiene una conexión lenta a Internet, instale el shell móvil para facilitar las cosas.
Editor de texto: si aún no conoce vim o emacs, no los aprenda ahora. Utilice https://atom.io/ o http://www.sublimetext.com/.
Idioma: recomiendo Python. Ruby también tiene muchas cosas geniales, pero no puedo aconsejarlo allí. Javascript tiene la ventaja de que si lo aprende, solo estará pensando en un idioma ya que el desarrollo front-end requiere JS de todos modos. Tiene la desventaja de que se mueve muy rápido y es más difícil encontrar una cadena de herramientas predeterminada para trabajar. Además, no sé mucho sobre node.js, así que te voy a aconsejar sobre Python.
2) Aprende un idioma antes de hacer cosas web con él. Para python recomiendo http://learnpythonthehardway.org/. Practique hacer cosas en el servidor que no tengan que ver con la programación web, sino que solo tengan que ver con leer datos de archivos, modificarlos y escribirlos. Practique el uso de pdb para recorrer su código. Practique encontrar, instalar y usar módulos para adaptarse a las tareas. Utilice virtualenv (o entornos conda). Practica haciendo UNIXy cosas. No es necesario que te sientas cómodo todavía, pero al menos te sea familiar.
3) aprender un marco. Recomiendo Django Recomiendo aprender realmente trabajando a través del desarrollo conducido por pruebas con Python (http://chimera.labs.oreilly.com/…). El desarrollo basado en pruebas es ideal para cuando estás aprendiendo porque cuando escribes un error, puedes verlo más inmediatamente.
4) Construyó un montón de cosas e imitó un montón de proyectos.