Frontend Software Engineer
Tipo: Contrato remoto
Ubicación: Brasil, México, Chile o Colombia
Cobertura: Se requiere superposición con la hora del Pacífico
Descripción del trabajo
Estamos buscando un ingeniero de software frontend experimentado para construir, mantener y probar características para una consola de gestión en la nube a gran escala. Este es un rol de ingeniería práctico para alguien con sólida experiencia en React y TypeScript, que se sienta cómodo trabajando en una base de código compartida y asumiendo la responsabilidad de las características frontend desde los requisitos hasta la implementación, pruebas, despliegue y verificación. Una fuerte disciplina de pruebas es particularmente importante. Se espera que los ingenieros escriban pruebas unitarias e integradas junto con el desarrollo de características, en lugar de tratar las pruebas como una actividad separada u opcional. Trabajarás en estrecha colaboración con los interesados en ingeniería y producto en un entorno distribuido, integrarás experiencias frontend con APIs REST en producción y construirás interfaces utilizando sistemas de diseño establecidos y componentes compartidos.
Responsabilidades clave
- Ingeniería Frontend:
- Construir, mantener y mejorar características frontend en producción utilizando React y TypeScript.
- Desarrollar formularios complejos, flujos de trabajo de configuración, tableros y otras experiencias interactivas de aplicaciones.
- Aplicar fundamentos sólidos de React, incluidos hooks, gestión de estado, arquitectura de componentes y patrones reutilizables.
- Traducir requisitos de producto y UI/UX en interfaces de producción confiables y mantenibles.
- Trabajar dentro de un sistema de diseño establecido y un ecosistema de componentes compartidos en lugar de depender principalmente de estilos personalizados.
- Contribuir a componentes frontend compartidos, bibliotecas, herramientas y patrones de ingeniería.
- Pruebas y Calidad del Software:
- Escribir pruebas unitarias e integradas junto con todo el desarrollo de características.
- Construir componentes frontend y lógica de aplicación que sean probables.
- Mantener y mejorar las suites de pruebas existentes a medida que evoluciona la funcionalidad.
- Diagnosticar y resolver regresiones, casos límite y problemas de producción.
- Participar en revisiones de código entre pares e incorporar comentarios de ingeniería.
- Mantener altos estándares de calidad de código, confiabilidad, legibilidad y mantenibilidad.
- APIs e Integración de Aplicaciones:
- Integrar aplicaciones frontend con APIs REST en entornos de producción.
- Construir interfaces de usuario en torno a flujos de trabajo complejos respaldados por API y modelos de configuración.
- Manejar el estado de la aplicación, validación, errores, estados de carga y respuestas de API de manera confiable.
- Colaborar con ingenieros de backend al definir o solucionar integraciones frontend-servicio.
- Diagnosticar problemas en la frontera entre aplicaciones frontend y servicios backend.
- Entrega de Ingeniería:
- Asumir características desde la recopilación de requisitos y el diseño técnico hasta la implementación, pruebas, despliegue y verificación en producción.
- Trabajar de manera efectiva dentro de grandes bases de código compartidas con estándares de ingeniería establecidos.
- Usar Git y flujos de trabajo de pull-request como parte del desarrollo diario.
- Trabajar dentro de pipelines automatizados de linting, pruebas, construcción y CI/CD.
- Contribuir a discusiones técnicas e identificar enfoques de implementación y compensaciones apropiadas.
- Usar herramientas de desarrollo asistidas por GenAI de manera efectiva mientras se mantiene la calidad de ingeniería y la propiedad del código resultante.
- Colaboración:
- Trabajar de manera efectiva con ingenieros, interesados en producto y diseñadores en un entorno distribuido.
- Comunicar decisiones de implementación, bloqueos, riesgos y progreso de manera clara.
- Participar de manera constructiva en revisiones de código y discusiones técnicas.
- Trabajar de manera independiente mientras se coordina de manera efectiva con el equipo de ingeniería más amplio.
- Documentar decisiones técnicas y detalles de implementación cuando sea apropiado.
Calificaciones
Experiencia
- Más de 5 años de experiencia profesional en desarrollo de software frontend.
- Experiencia práctica significativa en la construcción de aplicaciones web en producción con React y TypeScript.
- Experiencia demostrada escribiendo pruebas unitarias e integradas como parte del desarrollo regular de características.
- Experiencia en producción integrando aplicaciones frontend con APIs REST.
- Experiencia contribuyendo a grandes bases de código de producción compartidas.
- Experiencia trabajando con Git, pull requests, revisiones de código y flujos de trabajo de CI/CD.
- Experiencia utilizando herramientas de codificación asistidas por GenAI como parte del proceso de desarrollo de software.
- Título en Ciencias de la Computación, Ingeniería o un campo relacionado, o experiencia práctica equivalente.
-
Habilidades Técnicas
- Fuerte experiencia en producción con React y TypeScript.
- Sólido entendimiento de hooks de React, arquitectura de componentes, gestión de estado y formularios complejos.
- Fuerte experiencia en pruebas frontend, incluidas pruebas unitarias e integradas.
- Experiencia consumiendo e integrando APIs REST en aplicaciones de producción.
- Fuertes fundamentos en JavaScript y desarrollo web moderno.
- Experiencia trabajando con arquitecturas frontend establecidas y bibliotecas de componentes compartidos.
- Fuerte experiencia en flujos de trabajo de Git y pull-request.
- Experiencia con linting automatizado, pruebas, procesos de construcción y pipelines de CI/CD.
- Capacidad para depurar problemas de aplicaciones frontend e identificar problemas en las capas de UI, estado, API y aplicación.
- Experiencia práctica utilizando herramientas de desarrollo asistidas por GenAI mientras se valida y se posee de manera independiente el código generado.
- Preferido:
- Experiencia trabajando con monorepos.
- Experiencia construyendo aplicaciones utilizando sistemas de diseño establecidos o bibliotecas de componentes.
- Experiencia con Node.js, Python o desarrollo full-stack más amplio.
- Experiencia desarrollando productos o experiencias de usuario impulsadas por GenAI.
- Experiencia con portales en la nube complejos, herramientas para desarrolladores, consolas administrativas, tableros o aplicaciones con alta carga de configuración.
- Experiencia mejorando herramientas frontend compartidas, arquitectura o experiencia del desarrollador.
- Experiencia trabajando en grandes organizaciones de ingeniería o plataformas de software maduras.
- Habilidades Blandas:
- Fuerte comunicación escrita y verbal.
- Alto grado de responsabilidad y capacidad para trabajar de manera independiente.
- Cómodo colaborando de manera asincrónica en un equipo distribuido.
- Fuertes habilidades analíticas y de resolución de problemas.
- Capaz de recibir y proporcionar comentarios constructivos en revisiones de código.
- Cómodo trabajando dentro de un entorno de ingeniería establecido y adaptándose a estándares y patrones existentes.
- Capaz de llevar una característica desde un requisito inicial hasta la entrega y verificación en producción.
Por favor, ten en cuenta
Este es un rol de ingeniería frontend práctico. Estamos buscando candidatos con experiencia sustancial en producción en React y TypeScript, no principalmente con antecedentes en diseño UI/UX o enfocados en sitios web. Escribir pruebas es una parte esperada del desarrollo de características. Los candidatos deben tener experiencia práctica escribiendo pruebas unitarias e integradas para aplicaciones frontend en producción. La experiencia integrando aplicaciones frontend con APIs REST y trabajando con formularios complejos o flujos de trabajo de configuración es importante para este rol. Los candidatos deben sentirse cómodos contribuyendo a una base de código grande existente con prácticas establecidas de linting, pruebas, revisión de código y CI/CD. La experiencia utilizando herramientas de codificación asistidas por GenAI es requerida, pero los candidatos deben ser capaces de entender, validar, probar y mantener de manera independiente el código que entregan. La experiencia con monorepos, sistemas de diseño, Node.js/Python o desarrollo de productos GenAI es preferida, pero no requerida. Este rol está actualmente enfocado en candidatos con base en Brasil, México, Chile o Colombia.