Desarrollador Backend MERN en Remoto para Stefanini Group - Hireline LATAM
Encuentra más vacantes similares

Desarrollador Backend MERN en Stefanini Group

$ 50,000 a 60,000 MXN (Bruto)

Remoto: LATAM

Empleado de tiempo completo

Nivel de Inglés: Nivel Intermedio

Descripción

Responsable de programar el intercambio de datos entre el servidor y los usuarios, el desarrollo de toda la lógica del lado del servidor, la definición y el mantenimiento de la base de datos y garantizar un alto rendimiento y capacidad de respuesta a las solicitudes del frontend. También será responsable de integrar los elementos frontales creados por sus compañeros de trabajo en la aplicación. Por lo tanto, también es necesaria una comprensión básica de las tecnologías front-end.


Formación principal y académica

Profesional del área TI, titulado en carreras como: Analista Programador, Analista de Sistemas, Ingeniero de Sistemas, Ingeniería Informática, etc.


Formación secundaria

Con diploma o certificación en: Técnico en desarrollo de software, Diploma Desarrollo Back-end, etc.


Supervisión o liderazgo

No tiene personal a cargo.


Conocimientos y competencias

Debe tener los siguientes conocimientos y competencias con la profundidad dependiente del nivel de seniority requerido:

  1. Conocer fundamentos de programación (algoritmos y estructura de datos).
  2. Conocer fundamentos de desarrollo Web.
  3. Conocimientos en arquitecturas cliente-servido, microservicios y/o aplicaciones distribuidas.
  4. Conocimiento competente de un lenguaje de programación back-end. Dependiendo del caso específico, un desarrollador debe tener conocimiento de uno o más lenguajes JavaScript, Java, PHP, Python, Ruby, .NET, etc.
  5. Manejo y configuración de IDEs de programación según lenguajes de programación requerido.
  6. Saber usar software de control de versiones (como github, gitlab, bitbucket, git, SVN, CVS, etc.).
  7. Conocer buenas prácticas, principios de Clean code y/o SOLID.
  8. Conocimientos básicos de Testing. Implementación de plataformas de pruebas automatizadas y pruebas unitarias.
  9. Conocimientos DevOps (CI/CD) para desarrollo.
  10. Conocimientos en manejo de Base de Datos, database schemas y consultas SQL y/o NoSQL.
  11. Migración de datos, transformación y secuencias de comandos scripting.
  12. Integración de múltiples fuentes de datos y bases de datos en un solo sistema.
  13. Comprender la accesibilidad y el cumplimiento de la seguridad. Comprensión competente de los principios de seguridad de OWASP.
  14. Securización, autenticación y autorización de usuarios entre múltiples sistemas, servidores y entornos.
  15. Comprensión de la "gestión de sesiones" en un entorno de servidor distribuido.
  16. Gestión del entorno de alojamiento, incluida la administración de la base de datos y el escalado de una aplicación para admitir cambios de carga.
  17. Logging, tracing y moniteoreo.
  18. Configuración y administración de copias de seguridad.
  19. Capacidad de aprendizaje, investigación, análisis y diseño de sistemas informáticos, autonomía en sus tareas, proactivo, analítico, responsable, puntual con los compromisos y coordinación para trabajo en equipo.


Responsabilidades y funciones

  1. Participar en todo el ciclo de vida de la aplicación pero centrándose en la codificación y la depuración del Back-end.
  2. Programar lógica de negocio, lógica de API, lógica de servidor y lógica de persistencia (CRUD).
  3. Programar lógica de ‘loggeo’, manejo de errores y tracing.
  4. Integración de elementos orientados al usuario desarrollados por desarrolladores front-end con lógica del lado del servidor.
  5. Creación de código y bibliotecas reutilizables para uso futuro.
  6. Optimización de la aplicación para máxima velocidad y escalabilidad y cumplimiento de requerimientos no funcionales especificados.
  7. Implementación de seguridad y protección de datos.
  8. Diseño e implementación de soluciones de almacenamiento de datos.
  9. Diseño, desarrollo y mantención de diferentes componentes de un sitios web o aplicación software.
  10. Identificar problemas y riesgos de desarrollo de software y gestionarlos y escalarlos cuando corresponda.
  11. Estimar esfuerzo de desarrollo de componentes y tareas además de colaborar con la planificación de trabajo.


Tecnologías

La tecnología dependerá de los requisitos del puesto y del stack tecnológico a usar. La tecnología general relacionada es:

  • Manejo de tecnología Back-end de un stack tecnológico, como por ejemplo: Manejo de NodeJS, Express/NestJS y Mongo en stack MERN
  • Internet: DNS, Domain Name, WWW, HTTL protocol, hosting.
  • Lenguaje de programación: HTML, CSS, Javascript, TypeScript
  • Backend Frameworks & libraries: Node.js, Express, Next.js, NestJS, GraphQL, doc (Swagger)
  • Web Server: kubernetes (EKS), etc.
  • Version Control System: github
  • CI/CD: Github (Workflows, CLI), Github Actions.
  • NoSQL Data Base: MongoDB.
  • Data Base access & ORM: Mongoose, etc.
  • Testing: Unit Test (Jest), E2E (Cypress), testing for React (React Testing Library, React Dev Tool)
  • Build, pack & automation tool: NPM, YARN, Java packaging (Maven, Gradle,... ), etc.
  • Segurity, authentication & authorization: Auth (JWT, KeyCloak), API gateway (Kong), MD5, SHA, HTTPS, CORS, etc.
  • Event & Message Brokers: Kafka
  • Cloud Computing & Operation: AWS (Amazon S3)
  • Containerization & Virtualization: Docker.
  • Orchestration: Kubernetes.
  • Logging, tracing & monitoring:NestJS, Datadog