CONVOCATORIA CERRADA
Objetivos
Este programa nace con el objetivo de ofrecer a jóvenes desempleados los conocimientos, habilidades y aptitudes necesarias para su inmersión como profesionales en el área del diseño y desarrollo web. Un área con un mercado laboral marcado por la transformación digital de la sociedad y la evolución constante de tecnologías, que requiere estar en actualización continua.
El objetivo principal del curso es que el alumno adquiera los conocimientos y habilidades necesarios para convertirse en un desarrollador FullStack que domine Frontend y Backend, utilizando la filosofía DevOps.
Al cabo de 3 meses, los alumnos dispondrán de habilidades en diferentes áreas, muy demandadas en el mercado laboral:
- Front-end (HTML5/CSS3 avanzado, Flexbox, Grid CSS, PostCSS, etc...).
- Programación (Fundamentos, testing, buenas prácticas, etc.…).
- Back-end (Javascript, Node.js, PHP7).
- Frameworks de Back-end (Express, Slim).
- DevOps/Automatización (Terminal, GNU/Linux, Git, Parcel, WebPack, Docker, CD/CI, Cloud Computing...).
- Bases de datos (SQL con MySQL, NoSQL con MongoDB).
- Servidores web (NGINX).
- Frameworks SPA (VueJS y React).
- Proyecto: Se realizará un proyecto final para desarrollar los conocimientos adquiridos.
Datos generales
Jóvenes que en el momento de inscribirse al programa tengan entre 16 y 29 años, que estén inscritos en el Sistema Nacional de Garantía Juvenil o inscritos en el momento actual como demandantes de empleo en un servicio público de empleo – siendo obligatoria la inscripción en Garantía Juvenil a lo largo del programa. Los alumnos deberán superar un test y/o una entrevista personal.
Son requisitos recomendables para el curso:
- Conocimientos mínimos de inglés
- Conocimientos mínimos de fundamentos de programación
- Conocimientos mínimos de HTML y/o CSS
Las aptitudes y actitudes que los participantes deberán poner en práctica durante su formación son las siguientes:
- Esfuerzo máximo: Asistir a las clases, investigar sobre los materiales complementarios y aportar todo este conocimiento a su proyecto final
- Proactividad: La programación requiere ir siempre más allá. Todos los años salen nuevos frameworks y herramientas, por lo que es esencial que el alumno esté dispuesto a investigar por su cuenta.
- Gestión del tiempo: Es necesario que el alumno sepa gestionar el tiempo y el de sus compañeros trabajando en equipo, combinando dotes de liderazgo y flexibilidad al mismo tiempo.
- Dedicación: Se exigirá una alta dedicación al programa durante todo su tiempo de duración."
335 horas lectivas + tutorías
Gratuito por ser un programa cofinanciado por el Fondo Social Europeo y FIFEDE.
Contenidos
Módulo 1: Conceptos base + front-end
Conocimientos básicos necesarios para abordar el programa (terminal de Linux) y mínimos para defenderse en Front-end: Linux, terminal, HTML5 y CSS.
Módulo 2: Control del proyecto
Conocimientos y habilidades avanzadas de diseño web y maquetación, utilizando preprocesadores como LESS o herramientas más avanzadas como PostCSS. Utilización de NPM y Parcel para crear y automatizar proyectos. Uso de Git/GitHub para control de versiones y planificación del proyecto.
Módulo 3: Fundamentos de programación
Métodos, buenas prácticas y formas de abordar la programación para evitar problemas y perfeccionar la forma de trabajar: documentación, conceptos, optimización, prácticas a evitar, etc...
Módulo 4: Javascript
Se abordará el aprendizaje y utilización de Javascript, necesario para muchos de los módulos siguientes, bajo el enfoque de ECMAScript 6 (ES2015) y superiores. Utilización de Webpack como herramienta de automatización.
Módulo 5: Testing
Testing. Utilización de linters y metodologías para realizar testing en nuestros proyectos utilizando TDD, Pair Programming u otros.
Módulo 6: Cloud
Cloud Computing. Creación, administración y monitorización de un servidor en la nube. Consejos para estructurar y preparar nuestro back-end a través de servidores web Nginx.
Módulo 7: Devops: Automatización
Uno de los pilares de las estrategias actuales de trabajo es utilizar contenedores para aislar sistemas. En este módulo trabajaremos y aprenderemos a utilizar Docker para levantar servicios y Travis para realizar tareas de despliegue e integración continua.
Módulo 8: Bases de datos
Se abordará el lenguaje SQL y bases de datos relacionales (MySQL/MariaDB). Más adelante también se introducirá el enfoque NoSQL con MongoDB.
Módulo 9: Back-end PHP
Bases para trabajar con un backend de PHP7. Instalación, configuración y bases para utilizar Composer y Rutas. Nociones y aprendizaje de uso del framework Slim para acelerar la creación de proyectos.
Módulo 10: Back-end Node
Bases para trabajar con un backend de Node. Instalación, configuración y bases de NodeJS y utilización del framework Express para acelerar la creación de proyectos. Utilización de Typescript para mejorar la escritura de código.
Módulo 11: Front-end: SPA VueJS
Introducción a las aplicaciones web (SPA) y su ecosistema. Framework VueJS. Componentes. Comunicación entre componentes, Tooling, Single File Components y otros plugins.
Módulo 12: Front-end: SPA React
Aplicaciones web SPA utilizando el framework React. Componentes, enrutado con React Router, Flux, Redux, MobX y testing.
Módulo 13: Empleabilidad
Módulo teórico-práctico de empleabilidad en el que ayudaremos y asesoraremos a los alumnos a diferenciarse y conseguir empleo.
Proyecto final + Planificación + Tutorización proyectos
Los alumnos tendrán que crear un proyecto (individual o en grupo) en el que utilizarán los conocimientos y habilidades adquiridas durante el programa. Este módulo se acompañará de algunas clases de ayuda para gestión de proyectos, hablar en público, planificación de presentaciones, dinámicas y revisión de proyectos.
Metodología
La dinámica de formación se compondrá de:
- Conocimientos teóricos básicos para abordar los temas.
- Enfoques comprensibles y ejemplos prácticos.
- Fomento del autoaprendizaje y auto-resolución de retos.
- Fomento de la búsqueda adicional de información.
- Priorización del idioma inglés como principal fuente de información.
- Eliminar el estigma de la metodología clásica de enseñanza de programación.
El objetivo final de esta metodología es que los alumnos sean capaces de aprender y retener no conceptos teóricos, sino técnicas y habilidades que les convertirán automáticamente en profesionales de futuro. Acabarán el curso con un potente portfolio que les abrirá puertas en el mercado laboral sin ningún tipo de problema.