HOMEWORK

Automatizadores


La automatización es fundamental para gestionar, cambiar y adaptar no solo su infraestructura de TI, sino también la manera en que su empresa opera en todos sus procesos. Si automatiza el cambio, tendrá tiempo y energía para concentrarse en la innovación.El objetivo de las empresas automatizadas es realizar sus tareas con mayor rapidez. Esto libera al personal de TI para que pueda dedicarse a resolver problemas más importantes, para luego incorporar la solución en la rutina laboral e incluso identificar si puede automatizarse.

Para explicarlo con más detalle:

Las operaciones de TI son trabajo pesado. Es incluso más pesado continuar con los sistemas y procesos heredados y adoptar otros nuevos.

Los requerimientos y la demanda crecen exponencialmente más rápido que las capacidades de TI y de la empresa.

Las nuevas metodologías, como DevOps, exigen cambios culturales.

La dimensión tecnológica (virtualización, nubes, contenedores, etc.) es demasiado amplia como para prescindir de la automatización.

La automatización le permite llegar a donde desea.

Funcionalidad devops



DevOps es un acrónimo inglés de development (desarrollo) y operations (operaciones), que se refiere a una metodología de desarrollo de software que se centra en la comunicación, colaboración e integración entre desarrolladores de software y los profesionales de sistemas en las tecnologías de la información (IT)". DevOps es una respuesta a la interdependencia del desarrollo de software y las operaciones IT. Su objetivo es ayudar a una organización a producir productos y servicios software más rápidamente, de mejor calidad y a un coste menor. Las empresas con entregas (releases) muy frecuentes podrían requerir conocimientos de DevOps. Flickr desarrolló un sistema DevOps para cumplir un requisito de negocio de diez despliegues diarios. A este tipo de sistemas se les conoce como despliegue continuo (continuous deployment) o entrega continua (continuous delivery), y suelen estar asociados a metodologías lean startup. Grupos de trabajo, asociaciones profesionales y blogs usan el término desde 2009.

DevOps es una metodología para creación de software.

DevOps se basa en la integración entre desarrolladores software y administradores de sistemas.

DevOps permite fabricar software más rápidamente, con mayor calidad, menor coste y una altísima frecuencia de releases.

Full Stack



Un desarrollador Full Stack es el encargado de manejar cada uno de los aspectos relacionados con la creación y el mantenimiento de una aplicación web. Para ello es fundamental que el desarrollador Full Stack tenga conocimientos en desarrollo Front-End y Back-End. Además de manejar diferentes sistemas operativos y lenguajes de programación.

Dicho de otra forma: el desarrollador Full Stack es un profesional todoterreno. Una pieza fundamental en los departamentos de desarrollo de cualquier empresa. Conoce cómo se diseña la aplicación web basándose en principios del diseño UX/UI. Y, además, sabe programarla.

Teniendo en cuenta todos estos aspectos es normal que sea uno de los perfiles más demandados por las empresas. El desarrollador Full Stack es capaz de establecer estrategias para cada parte del proceso de desarrollo web. Esto lo convierte en una figura imprescindible en las empresas con una fuerte base tecnológica.

Habilidades de un Full Stack



Conocimientos amplios en programación, tanto front-end como back-end.

Dominio de los lenguajes front-end fundamentales como HTML, CSS y JavaScript

Experiencia con marcos de JavaScript – Angular.js, React, Amber, vue.js.

Dominio de los lenguajes del lado del servidor – Python, Ruby, Java, PHP, .NET

Conocimiento de tecnología de bases de datos como MySQL, Oracle y/o Cassandra

Experiencia con web APIs y RESTful APIs y arquitecturas de micro servicios.

Dominio de los sistemas de control de versiones – Git y CI/CD.

Haber trabajado con TFS, GIT, Jira, Confluence, SDLC, Agile y Scrum.

Experiencia con redes – Subredes, cortafuegos, etc.

Responsabilidad personal, motivación y trabajo en equipo.

Pasión por la formación continua y el perfeccionamiento.

Herramientas de un Full Stack



Cada vez más, se demanda un perfil muy concreto en el mundo de desarrollo web: profesionales que tengan una visión integral y que puedan desempeñar tareas en todas las fases del ciclo de vida de un proyecto, desde la planificación e implementación del front-end o back-end hasta el despliegue.

Lenguaje de programación: Javascript y Typescript

Control de versiones: Github

Issue Tracking & Planning: Jira

Estilo: SASS / Styled Component

Frameworks orientados a componentes: React

Servidores Web: Express & Nodejs

Bases de Datos No Relacionales: MongoDB