Ingeniero Full Stack@DatawaveLabs

Mi pasantía en Datawave Labs proporcionó una experiencia práctica como Ingeniero Full Stack, sumergiéndome en el desarrollo de una plataforma de inteligencia de datos escalable e impulsada por la nube. A continuación se presentan perspectivas detalladas sobre el trabajo que logré.

Gallery
Sistemas de Autenticación y Autorización

Diseñé e implementé un sistema de autenticación robusto usando gestión de sesiones basada en JWT. Las tareas clave incluyeron:

  • Autenticación Email/Contraseña: Construí un flujo seguro de inicio de sesión y registro con hash de contraseñas y verificación de email para asegurar la autenticidad de la cuenta.
  • Integración OAuth de Google: Habilité Google Sign-In usando OAuth 2.0, simplificando la incorporación de usuarios con tokens de acceso seguros.
  • Control de Acceso Basado en Roles (RBAC): Desarrollé middleware para restringir el acceso a recursos específicos basado en roles de usuario.
Integración en la Nube

Creé integraciones fluidas para cuentas de AWS, Azure y GCP, permitiendo a los usuarios gestionar recursos en la nube sin esfuerzo. Aspectos destacados clave:

  • Manejo de Credenciales: Implementé formularios seguros para recopilar y validar credenciales de la nube como Claves de Acceso de AWS, IDs de Tenant de Azure y archivos JSON de GCP.
  • Gestión de Recursos en la Nube: Desarrollé conectores para AWS S3, Azure Storage y GCP Storage, habilitando interacción unificada con servicios en la nube.
Automatización de Infraestructura

Automaticé flujos de trabajo de gestión de clusters para despliegue de infraestructura. Mis contribuciones incluyeron:

  • Creación de Clusters Impulsada por API: Desarrollé APIs para desplegar contenedores Docker, reduciendo la intervención manual en la gestión de infraestructura.
  • Actualizaciones de Estado en Tiempo Real: Aproveché Event Source para proporcionar a los usuarios retroalimentación en vivo sobre procesos de creación y eliminación de clusters.
Sistema de Notificaciones

Construí un sistema de notificaciones en tiempo real usando Redis Pub/Sub para comunicación eficiente. Las características incluyeron:

  • Alertas en Tiempo Real: Entregué actualizaciones críticas sobre eventos del sistema, mejorando la experiencia del usuario y la conciencia operacional.
  • Gestión de Notificaciones: Creé APIs para manejar notificaciones, incluyendo funcionalidades de lectura y eliminación.
Desarrollo del Cliente

Trabajé extensivamente en el frontend usando herramientas modernas para mejorar la usabilidad:

  • ReactJS y Tailwind CSS: Construí interfaces responsivas y accesibles para autenticación, integración en la nube y notificaciones.
  • Gestión de Estado con Recoil: Implementé manejo eficiente de estado para asegurar una experiencia de usuario fluida.
Desarrollo del Servidor

Desarrollé una infraestructura backend escalable usando:

  • FastAPI: Construí APIs de alto rendimiento para autenticación, integraciones en la nube y gestión de clusters.
  • Gestión de Base de Datos: Migré de psycopg2 a SQLAlchemy ORM para mejor gestión de esquemas y mantenibilidad.
DevOps y Despliegue

Contribuí a la escalabilidad y confiabilidad del proyecto a través de prácticas DevOps:

  • Containerización con Docker: Aseguré consistencia de entorno para servicios backend.
  • Integración con Kubernetes: Orquesté clusters para alta disponibilidad y balanceamiento de carga.
  • Pipelines CI/CD: Implementé pipelines automatizados de construcción y despliegue para agilizar lanzamientos.

Tecnologías y Herramientas

Mi trabajo involucró un conjunto diverso de tecnologías y herramientas que son integrales al desarrollo full-stack moderno:

ReactJSTailwind CSSRecoilreact-cookieFastAPIRedis Pub/Subpsycopg2SQLAlchemy ORMDockerKubernetesTerraformAWS SDK (boto3)Azure SDKGCP SDKPostmanEvent Source Polyfill

Conclusión

Esta pasantía fue una experiencia de aprendizaje integral, mezclando desarrollo práctico con exposición a tecnologías modernas. Me equipó con un entendimiento sólido de integraciones en la nube, sistemas en tiempo real y desarrollo de aplicaciones escalables, estableciendo una base sólida para futuros esfuerzos profesionales.

Carta de Oferta

Hecho con ❤️ por Pulkit

© 2025 Pulkit. Todos los derechos reservados

Última actualización: