Full-Stack Software Engineer
Summary
Full-Stack Software Engineer designing, developing, and implementing features in Rails backend and frontend, collaborating with product and design teams, and optimizing user experience.
- Diseñar, desarrollar e implementar nuevas funcionalidades tanto en el frontend como en el backend (Rails) de nuestras aplicaciones.
- Participar en la definición del producto: aportar ideas, cuestionar requisitos y proponer soluciones que equilibren valor para el usuario, viabilidad técnica y objetivos de negocio.
- Colaborar activamente con Producto, Diseño y otros desarrolladores para transformar problemas en soluciones concretas, definiendo requisitos, alternativas técnicas y planes de implementación.
- Validar el impacto de lo que construyes a través de métricas y feedback de usuarios, e iterar en base a los resultados.
- Optimizar la experiencia de usuario y el rendimiento general de nuestras plataformas.
- Asegurar la integridad y calidad del código a través de revisiones de código, pruebas unitarias y de integración.
En lo técnico:
Experiencia sólida y demostrable como Software Engineer Full Stack.- Dominio y experiencia en tecnologías de backend como Ruby y Ruby on Rails.
- Experiencia escribiendo pruebas automatizadas con RSpec, incluyendo pruebas unitarias, de integración y pruebas para controladores o servicios en aplicaciones Ruby on Rails.
- Experiencia trabajando con bases de datos relacionales y/o no relacionales (ej. PostgreSQL, MySQL, MongoDB).
- Comprensión de los principios de diseño de APIs RESTful y experiencia creándolas y consumiéndolas.
- Comprensión de los principios de diseño de APIs GraphQL y experiencia tanto en su implementación como en su consumo.
- Habilidad para escribir código limpio, mantenible, escalable y bien testeado.
- Familiaridad con control de versiones (Git) y metodologías de desarrollo ágil (Kanban).
- Capacidad para depurar, optimizar y solucionar problemas tanto en el frontend como en el backend.
En lo de producto:
Mentalidad de producto: capacidad de cuestionar el "por qué" detrás de cada funcionalidad y priorizar según impacto en el usuario y el negocio.- Empatía con el usuario y foco en resolver problemas reales, no solo en entregar features.
- Capacidad de participar en la discovery: entender problemas, proponer soluciones, validar hipótesis y definir el alcance junto a Producto y Diseño.
- Cómodo trabajando con métricas: definir qué medir, interpretar datos de uso y usar esa información para iterar.
- Autonomía para llevar una idea desde la definición hasta el release y su medición posterior.
- Proactividad y excelentes habilidades de comunicación para colaborar con equipos multidisciplinarios.