Imagen de las oficinas "Urban Center"

Full-stack en Capgemini: Angular y Java

Esta ha sido mi experiencia laboral que comprende el intervalo entre febrero de 2021 y la actualidad. Mi posición oficial ha sido ingeniero software, pero a efectos prácticos he actuado como full-stack developer.

Introducción

La mayor parte de ese intervalo de tiempo, la he dedicado al desarrollo de aplicaciones internas para una empresa francesa. Todo esto, a través de la consultora Capgemini en las oficinas de Murcia.

Frontend

En este aspecto, he visto el nacimiento de una aplicación que ahora se ha convertido en una de las aplicaciones más importantes del conjunto de proyectos en el que me encuentro. En sus comienzos, se concibió como una demostración para el cliente desarrollada en Angular y node.

En términos generales, el proceso comenzaba con una user story que contenía unos requerimientos y una maqueta. Con esos datos y usando VSCode, html, SCSS, Bootstrap y Typescript como herramientas, debía llevarlo a cabo con la máxima fidelidad posible. A menudo, estos desarrollos venían acompañados de su parte backend, por lo que se podrían considerar desarrollos completos.

Backend

El servidor al que la aplicación hace la mayoría de las peticiones ya estaba muy madurado. Está basado en spring MVC y Java. He utilizado IntelliJ con dichas tecnologías para la creación y modificación de numerosos servicios los cuales tienen diferentes finalidades, como la de comunicarse con servidores y APIs del cliente o acceder a nuestra propia base de datos. Se trata de una base de datos postgreSQL y usaba el programa DBeaver y Cygwin para acceder a ella.

Lanzamientos

Para poder probar los cambios efectuados en el backend, a menudo tenía que realizar operaciones en el servidor sustituyendo archivos, leyendo logs y ejecutando scripts, para lo cual usaba MobaXterm y WinSCP.

Para llevar a cabo las entregas al cliente, los paquetes pasan por un proceso llevado a cabo por Jenkins y que verifica la calidad del código usando Sonar.

Otras tareas

Linting

He realizado el linting utilizando ESLint con estilo Airbnb y Prettier. Esto obliga a los integrantes del proyecto a seguir unas normas de formato, de lo contrario no podrán hacer commit.

Seguridad

Una de las últimas tareas que he realizado es la de autorizar usuarios desde el backend usando OAuth. Estos se identifican con una autoridad externa y esta les entrega un código de autorización. Usando este código y otros que se obtienen a partir de este, he realizado diferentes tareas de verificación y actualización para permitir que el frontend pueda mantener esa autenticación. Para ello, he necesitado usar Http Cookies y JWT.

Testing

Además de los desarrollos, para garantizar un funcionamiento de calidad, he realizado los tests unitarios correspondientes utilizando herramientas como JUnit y Mockito.

Android Studio

Cabe destacar que he realizado tareas puntuales en Android Studio, principalmente de resolución de bugs.

Documentación

He llevado a cabo múltiples tareas de documentación usando diferentes editores de texto. Además, cabe destacar el uso de Swagger para generar la documentación del proyecto.

Idiomas

Cuando llegué al proyecto, tenía el título de Cambridge C1. Sin embargo, mi punto más débil era el oral. El hablar con compañeros a diario en inglés me ha servido para tener más seguridad y fluidez al hablar.

Desde el comienzo, he asistido a las clases de francés proporcionadas por la empresa. Según mi profesor, actualmente tengo nivel A2-B1, aunque todavía no tengo la suficiente seguridad.

Publicado en Android Studio, Angular, Aplicación, HTML | CSS, Java, SQL, TypeScript, Web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *