Primero, surge un problema.
Un “desarrollador web full stack” no es un problema. “Un sitio web para rastrear libros que estoy interesado en leer” es un problema. “Una herramienta de búsqueda de proveedores cruzados para encontrar piezas electrónicas en digikey, mouser y otros sitios” es un problema. “Un sitio de apuestas mutuas que cubre las Grandes Ligas de Béisbol (usando dinero falso y sin pagos para mantenerlo legal)” es un problema.
Piensa en el problema; ¿Qué quiere que haga? No importa que esté duplicando la funcionalidad de los servicios existentes, ese no es el punto. ¿Desea que su rastreador de libros le permita escanear números ISBN en libros usando su teléfono celular? ¿Desea que use la API de Amazon para obtener imágenes de portada de libros para mostrar? ¿Desea poner un enlace de “ordenar ahora” para poder ordenarlo directamente desde Amazon (o su librero favorito)? Toma todas estas ideas y escríbelas en una lista. La lista puede ser larga, no te preocupes por eso. Prioriza la lista. Puede ser agradable escanear números ISBN desde su teléfono, pero lo más importante es rastrear la prioridad de los libros y sus precios, por lo que puede hacer pedidos de lotes con un solo clic, por ejemplo.
- Quiero convertirme en un desarrollador front-end, pero mi escuela está enseñando Java. ¿Debo dejar de aprender JavaScript y enfocarme en Java o aprender ambos?
- Quiero participar en un Hackathon, pero no tengo experiencia práctica en programación web. Ya tengo algo de experiencia en HTML, CSS y JavaScript, pero quiero aprender la pila MEAN en un mes. ¿Como empiezo?
- Hice una copia de seguridad y restauración de una colección de sitios de SharePoint de una aplicación web a otra, ¿el sitio raíz tenía un formulario de ruta de información al que no se puede acceder ahora?
- Si quiero crear un sitio web de comercio electrónico utilizando datos de terceros, ¿qué lenguajes de programación web debo aprender?
- Dirijo un equipo de productores web / gestores de proyectos. Estoy usando Smartsheet ahora para rastrear y medir el rendimiento del equipo. ¿Qué otras herramientas existen que puedan agregar valor a la gestión de equipos y sus proyectos?
Mantenga esta lista editable, como en un archivo de texto, con una línea por función. Siéntase libre de editar esta lista en cualquier momento, por cualquier motivo, asegurándose de mantener cada línea simple y en orden de prioridad. Es posible que, después de obtener un paquete de libros ordenados “por usted”, tal vez hacer que los usuarios inicien sesión sea un poco más importante de lo que pensaba. La lista es para capturar sus ideas, no para forzarlo a tener todas las ideas a la vez.
Luego, elija CUALQUIERA de las soluciones que ha sugerido (y no son mutuamente excluyentes; SASS es un preprocesador para CSS / CSS3; Bootstrap es un marco de UI CSS / CSS3 + Javascript que depende de JQuery, y viene en un SASS- sabor amigable; AngularJS se preocupa por la funcionalidad, no por la apariencia, y funciona bien con SASS, Bootstrap, JQuery, CSS / CSS3; HTML5 no es una “cosa” específica, sino que es un término general para las versiones más nuevas de HTML, JavaScript, y CSS), y trabaja en tu problema.
Hazlo lenta y cuidadosamente. Use Github para hacer el control de versiones. Implemente temprano y a menudo en algún lugar como Heroku o sitios similares. Comience en la parte superior de la lista (recuerde, puede editar la lista y reordenarla en cualquier momento), y vaya bajando.
Cuando obtenga algo que le guste, póngalo en su currículum, completo con enlaces a github y una lista de qué pila de tecnología utilizó.
Finalmente, surge otro problema …