¿Qué es el desarrollo Full Stack? Tips para entender el nuevo rol del programador. ¿Cuáles son las características mínimas que debe tener un desarrollador full stack?
24. HTML
24
Lenguaje de programación
utilizado en la elaboración
de páginas de Internet. Las
siglas se corresponden con
HyperText Markup
Language, (Lenguaje de
Marcas de Hipertexto).
25. CSS
25
CSS (hojas de estilo en
cascada) es un lenguaje que
define la apariencia de un
documento escrito en un
lenguaje de marcado (por
ejemplo, HTML).
26. JavaScript
26
Lenguaje de programación
que se utiliza en el lado del
cliente (es decir, se ejecuta
en el ordenador de los
usuarios, no en el servidor)
permitiendo crear efectos
atractivos y dinámicos en
las páginas web.
27. ▪ Descripción desarrollador Full - Stack
▪ Conocimientos técnicos
▪ Habilidades
27
1. Descripción desarrollador Full - Stack
a. ¿Qué es?
b. ¿Cómo es?
c. ¿Qué hace?
2. Conocimientos técnicos
a. Front.: desarrollo web e interfaces de usuario
b. Back: lógica de negocio
c. Bases de datos
d. Sistemas operativos
e. Administración de sistemas
Índice de contenidos
29. Back: lógica
de negocio
29
• Parte lógica de una aplicación
• Lado del servidor
• No es tangible para el usuario
• Programar funciones de la aplicación.
Back
33. Node.js
33
Node.js es un entorno
JavaScript del lado del
servidor, basado en eventos
que ejecuta JavaScript
utilizando el motor V8.
34. ▪ Descripción desarrollador Full - Stack
▪ Conocimientos técnicos
▪ Habilidades
34
1. Descripción desarrollador Full - Stack
a. ¿Qué es?
b. ¿Cómo es?
c. ¿Qué hace?
2. Conocimientos técnicos
a. Front.: desarrollo web e interfaces de usuario
b. Back: lógica de negocio
c. Bases de datos
d. Sistemas operativos
e. Administración de sistemas
Índice de contenidos
36. Bases de
datos
36
Además de conocer lenguajes y frameworks tanto de front-end
como de back-end, es muy importante estar familiarizado con las
bases de datos.
Bases de datos
37. SQL
37
SQL es un lenguaje de
comunicación dentro de las
bases de datos que permite
el acceso y manipulación de
datos en una base de datos.
38. MongoDB
38
MongoDB es una base de
datos NoSQL. Tiene un
concepto muy diferente al de
las bases de datos
relacionales.
39. ▪ Descripción desarrollador Full - Stack
▪ Conocimientos técnicos
▪ Habilidades
39
1. Descripción desarrollador Full - Stack
a. ¿Qué es?
b. ¿Cómo es?
c. ¿Qué hace?
2. Conocimientos técnicos
a. Front.: desarrollo web e interfaces de usuario
b. Back: lógica de negocio
c. Bases de datos
d. Sistemas operativos
e. Administración de sistemas
Índice de contenidos
42. Sistemas
operativos -
computadores
Microsoft Windows
Creado en 1985. Es
funcional para
cualquier tipo de
usuario: novel,
iniciado, medio,
avanzado o experto.
Sistema operativo
«libre» por
excelencia.
Exclusivo para
los productos de
la casa Apple que
en los últimos
años ha ido
ganando
presencia entre
los
consumidores.
42
43. Sistemas
operativos –
dispositivos
móviles Android
Sistema operativo
diseñado
principalmente
para dispositivos
móviles con pantalla
táctil, como teléfonos
inteligentes, tabletas.
iOS
Sistema operativo móvil
de Apple Inc.
Originalmente
desarrollado para el
iPhone, después usado
en dispositivos como el
iPod touch y el iPad.
43
44. ▪ Descripción desarrollador Full - Stack
▪ Conocimientos técnicos
▪ Habilidades
44
1. Descripción desarrollador Full - Stack
a. ¿Qué es?
b. ¿Cómo es?
c. ¿Qué hace?
2. Conocimientos técnicos
a. Front.: desarrollo web e interfaces de usuario
b. Back: lógica de negocio
c. Bases de datos
d. Sistemas operativos
e. Administración de sistemas
Índice de contenidos
46. Administración
de sistemas
46
Una parte muy importante para un desarrollador Full-Stack es tener
conocimientos en administración de sistemas, lo que permite
desarrollar, desplegar y mantener aplicaciones de forma adecuada.
Administración de sistemas
47. ▪ Descripción desarrollador Full -
Stack
▪ Conocimientos técnicos
▪ Habilidades
47
a. Aplicaciones móviles
b. Seguridad
c. Otras
3. Habilidades: capacidades no técnicas
Índice de contenidos
49. Aplicaciones
móviles
49
Cada vez es más importante que las empresas dispongan de una web
adaptada para su visualización en teléfonos móviles y/o una aplicación
personalizada. Por ellos un desarrollador full-Stack debe tener
conocimientos en desarrollo móvil para las principales plataformas:
Android e iOS.
Aplicaciones móviles
50. ▪ Descripción desarrollador Full -
Stack
▪ Conocimientos técnicos
▪ Habilidades
50
a. Aplicaciones móviles
b. Seguridad
c. Otras
3. Habilidades: capacidades no técnicas
Índice de contenidos
53. ▪ Descripción desarrollador Full -
Stack
▪ Conocimientos técnicos
▪ Habilidades
53
a. Aplicaciones móviles
b. Seguridad
c. Otras
3. Habilidades: capacidades no técnicas
Índice de contenidos
57. ▪ Descripción desarrollador Full -
Stack
▪ Conocimientos técnicos
▪ Habilidades
57
a. Aplicaciones móviles
b. Seguridad
c. Otras
3. Habilidades: capacidades no técnicas
Índice de contenidos
58. Habilidades
no técnicas
Habilidades no técnicas
58
▪ Entender las necesidades del negocio y del cliente
▪ Capacidad de aprender rápidamente y de resolver
problemas
▪ Atención al detalle
59. 59
Pequeñas o medianas
empresas que ofrecen
servicios a otras más
grandes del sector.
También podemos
encontrar Pymes que
realicen un producto
propio y tengan su
propio equipo de
desarrollo como por
ejemplo una pagina
web propia.
Empresas emergentes
que buscan
emprender o montar
un nuevo negocio, y
aluden a ideas de
negocios que están
empezando o están en
construcción.
Son ideas que innovan
el mercado y buscan
facilitar los procesos
complicados,
enfocadas a diferentes
temas y usos.
Las Multinacionales
son sociedades
mercantiles o
industriales cuyos
intereses se hallan
establecidos en
muchos países.
Las multinacionales no
solo venden sino que
también producen en
el extranjero.
Tipos de
empresa
61. Tipos de
empresa
Pymes
❖ A pesar de hablar de pequeñas y medianas
empresas son una base fundamental de la
economía moderna.
➢Formación de nuevos desafíos y
oportunidades.
➢Generan 2 de cada 3 empleos
en el mundo.
❖La gran capacidad de adaptación a los cambios tecnológicos, políticos y culturales es principal motivo
de su gran desarrollo.
❖Excelente medio para impulsar el desarrollo económico y una mejor distribución de la riqueza.
63. Tipos de
empresa
Startups
Sistema de
negocio
escalable
más fácil y
rápido
Gigantes
tecnológicos
como Facebook,
Google, Airbnb o
Uber iniciaron
como Startups.
Se llama así
al proyecto
durante su
estado de
aqrranque
La escalabilidad es
el segundo aspecto
fundamental de
una Startup.
65. “
“Elige una empresa que se adapte a ti,
no dejes que tu tengas que adaptarte a
la empresa, vivirás más feliz y
mejorarás tu rendimiento
profesional”
65
68. 68
❖ Otras empresas contratan nuestros servicios para llevar a cabo una idea.
❖ Debemos tener todos los conocimientos y recursos para llevar a cabo el proyecto.
Servicios a
otras
empresas
❖ Imprescindible calidad y tiempos de ejecución del Software.
69. 69
❖No hay que desarrollar nada nuevo ni enfrentarse a ningún reto
❖Trabajos pequeños y evolutivos
donde se trabaja sobre una base
para mejorarla
Mantenimiento
s
72. Metodologías
Ágiles
72
Qué son las metodologías ágiles
Permiten
adaptar la
forma de
trabajo a las
condiciones
del proyecto
Obtención
de
flexibilidad
e
inmediatez
en la
respuesta
para
amoldar el
proyecto
Capacidad
de
desarrollo a
las
circunstanci
as
específicas
del entorno
Reducción
de costes e
incremento
de la
actividad
73. Metodologías
Ágiles
73
Extreme programing XP
Muy útil para startups o empresas que están en proceso de consolidación, puesto que su
principal objetivo es ayudar en las relaciones entre los empleados y clientes.
Fases principales:
El cliente
decide
objetivos y
resultados
El equipo
divide el
trabajo
El cliente elige
que acciones
se realizan
primero
El equipo de
trabajo
realiza lo
establecido
74. Metodologías
Ágiles
74
Scrum
❖ m “m í ” Procesos caóticos por naturaleza.
❖ Estrategia orientada a gestionar ese caos mediante reuniones frecuentes.
75. Metodologías
Ágiles
75
Kanban
❖Muy útil para los responsables de
proyectos
Se basa en la elaboración de un cuadro con tres columnas de tareas: Pendientes, en proceso y
terminadas.
❖Ayuda a mejorar la
productividad y eficiencia.
❖Al alcance de todos los miembros del
equipo
76. Metodologías
Ágiles
76
Agile inception
❖Pequeñas reuniones de trabajo entre socios y equipo “elevator pitch”.
Duración menor a
5 minutos
❖Orientada a la definición de los
objetivos generales de las empresas.
❖Clarificar cuestiones como el tipo de
cliente o las formas de venta como meta
principal.
78. Tipos de
equipos
Equipos especializados Equipos fullStack
78
Especialización en un campo
concreto por parte de todos los
integrantes del equipo.
Cada persona debe ser
responsable de un área
determinada, ya sea front, back,
sistemas, seguridad etc etc.
Suelen ser equipos escalonados
donde tendremos un devOps,
un jefe de proyecto, un
arquitecto, y desarrolladores.
Aquellos donde todos sus
integrantes saben en mayor o
menor medida hacer todas las
tareas que requiere cualquier
tipo de proyecto.
Estos equipos suelen estar
formados por desarrolladores
senior con una cierta
experiencia, pudiendo así
realizar cualquier tarea y
solucionar cualquier problema
con el que se encuentren.
80. 80
Al entrar en un equipo de desarrollo cada miembro ejerce un rol distinto dentro del mismo
proyecto, los más destacados son:Perfiles y
funciones
81. Perfiles y
funciones
Gerente del proyecto
❖Responsable de la definición del proyecto y asignación de recursos del mismo.
❖Da soporte a las tareas de estimación y definición de las actividades contenidas en los
planes.
❖Revisión y aprobación de
los planes.
82. Perfiles y
funciones
Líder del proyecto
❖Atender las necesidades de los Analistas de Sistemas, Arquitectos, Ingenieros de
Software...
Entonces, ¿qué hace un líder?
❖Responsable de calidad.
❖Administradores de la configuración general y del proyecto
Brinda una
solución a todos
los problemas
❖Es el encargado de llevar a buen
término la ejecución del proyecto.
83. Perfiles y
funciones
Analista
❖Encargado del desarrollo del sistema:
➢ Análisis general y detallado
➢ Diagrama conceptual
➢ Diseño generación y normalización de la base de datos
➢ Documento de flujo de
operación
➢ Especificaciones funcionales
RECUERDA
Un analista debe de
convertirse en un
consultor de negocios
que proponga mejoras
y soluciones a las
necesidades del cliente
84. Perfiles y
funciones
Diseñador
❖Responsable de la creación de un concepto de sistema que ayude a cumplir los objetivos
de negocio fijados por los clientes.
❖Creación de una experiencia agradable para el usuario.
❖Cada vez más exigidos a aprender lenguajes de programación como:
❖Angular
❖JavaScript
❖Html5
❖Jquery
85. Perfiles y
funciones
Ingeniero de Software
Es el héroe principal del equipo de desarrollo.
❖Encargado de definir y mantener el código fuente de uno o varios componentes
garantizando su correcta funcionalidad.
❖Responsable de la integridad de uno o más subsistemas de implementación y de sus
contenidos a lo largo del desarrollo.
❖Tiene que asegurarse de que el código generado esté libre de errores.
86. Perfiles y
funciones
Responsable de calidad
❖Garantizar el cumplimiento de los compromisos establecidos desde el punto de vista del
proceso a seguir.
Si un proyecto de desarrollo no cuenta con una metodología con procesos
y procedimientos bien ejecutados la probabilidad de éxito se vuelve baja
87. Perfiles y
funciones
Responsable de pruebas
❖Garantizar que se cumplan los requerimientos funcionales establecidos estando libre de
fallas.
❖Encargado de dar el visto bueno al producto o aplicación para pasar a un ambiente
productivo.
Gánatelo como aliado, aprende de los issues que te reporta, hazlos tuyos,
documéntalos corrígelos y que no te vuelvan a pasar.
88. Perfiles y
funciones
Administrador de la Configuración del Proyecto
❖Responsable del versionamiento y ubicación de cada producto de trabajo del proyecto.
¿Y dónde están las especificaciones del proyecto, cuál es la versión final, porque no tengo acceso a
esa información, donde están los cambios que hice a mí página?
❖Permite asegurar la
disponibilidad de los mismos.
89. Perfiles y
funciones
Cliente
Es el pilar fundamental para la consecución exitosa de las actividades y fases del proyecto.
Indispensable participación de
personas clave del cliente
relacionadas al proyecto.
Deben agendar entrevistas
con los Analistas de Sistemas
para revisar y especificar las
reglas de negocio y procesos
críticos.
Participación
importante durante
las fases de análisis,
diseño, pruebas y
capacitación.
❖Encargado de designar a un líder de proyecto de su parte.
➢ El líder que representa al cliente es el responsable de establecer revisar y autorizar los
requerimientos.
➢ El líder también es responsable de verificación y validación del producto entregado.
Acepta la conformidad de entrega del producto y el
cierre formal del proyecto
91. Futuro del
programador
Desarrollador full stack, un chico para todo
¿Qué perfil buscan las empresas?
Un empleado todoterreno: Conocimiento en varias áreas implicadas en el desarrollo de software.
Permiten alcanzar objetivos a un menor coste por su mayor polivalencia.
Debe tener conocimientos en:
➢ Servidores y redes
➢ Modelado de datos
➢ Interfaces de programación de aplicaciones
➢ Interfaz y experiencia de usuario
➢ Comprensión de las necesidades
92. Futuro del
programador
Desarrollador Full Stack
¿Podemos ser 100% Full Stack?
Prefiero cambiar de oficio.
Claro que sí.
No es posible abarcar todo lo que nos piden.
Pese a los deseos que tienen las empresas no podemos realizar todas las tareas que se nos
solicitan. Es necesario la existencia de varios profesionales en los diversos sectores
establecidos.