Descripción
Resumen:
Buscamos un Desarrollador Ruby on Rails para construir y mantener aplicaciones, integrar API, gestionar bases de datos y colaborar con equipos para entregar funciones seguras, de alto rendimiento y escalables, manteniendo al mismo tiempo prácticas de código limpio.
Aspectos destacados:
1. Construir y mantener aplicaciones Rails seguras, de alto rendimiento y escalables.
2. Colaborar con equipos de front-end para entregar funciones de extremo a extremo.
3. Contribuir a una cultura de código limpio y buenas prácticas.
**Título del puesto:** Desarrollador Ruby on Rails
**Tipo de puesto:** Tiempo completo, remoto
**Horario de trabajo:** Horario comercial de clientes estadounidenses (con flexibilidad para revisiones de sprint, despliegues y soporte de guardia)
**Acerca del puesto:**
Nuestro cliente busca un Desarrollador Ruby on Rails para construir y mantener aplicaciones utilizando el framework Rails. Este puesto implica diseñar sistemas de back-end, integrar API, gestionar bases de datos y colaborar con equipos de front-end para entregar funciones de extremo a extremo. El desarrollador Rails garantiza que las aplicaciones sean seguras, de alto rendimiento y escalables, además de contribuir a una cultura de código limpio y buenas prácticas.
**Responsabilidades:**
Desarrollo de aplicaciones:
* + Construir y mantener aplicaciones Rails, API y trabajos en segundo plano.
+ Implementar lógica de negocio con modelos ActiveRecord, controladores y vistas.
+ Integrar frameworks de front-end (Stimulus, React, Vue) en aplicaciones Rails cuando sea necesario.
Gestión de bases de datos:
* + Diseñar, migrar y mantener esquemas en PostgreSQL o MySQL.
+ Optimizar consultas para rendimiento y escalabilidad.
+ Implementar indexación, almacenamiento en caché y trabajos en segundo plano (Sidekiq, Resque).
Pruebas y aseguramiento de calidad:
* + Escribir y mantener pruebas unitarias, de integración y de sistema (RSpec, Minitest, Capybara).
+ Asegurar que las canalizaciones CI/CD estén configuradas para pruebas y despliegues automatizados.
+ Mantener una cobertura de código del 80 % y hacer cumplir reglas de estilo/análisis estático (RuboCop, StandardRB).
Seguridad y cumplimiento:
* + Implementar autenticación y autorización de usuarios (Devise, OmniAuth).
+ Aplicar buenas prácticas de seguridad (protección CSRF, validación de entradas, OWASP).
+ Garantizar el cumplimiento de leyes sobre privacidad de datos (GDPR, HIPAA, según corresponda).
Rendimiento y monitoreo:
* + Optimizar tiempos de carga de páginas, tiempos de respuesta de API y rendimiento de trabajos en segundo plano.
+ Monitorear sistemas con herramientas como New Relic, Datadog, Honeybadger o Rollbar.
+ Solucionar incidencias y desplegar correcciones urgentes con tiempo de inactividad mínimo.
Colaboración y documentación:
* + Trabajar con gerentes de producto y diseñadores para definir el alcance y priorizar funciones.
+ Participar en ceremonias de sprint y proporcionar estimaciones precisas de historias de usuario.
+ Documentar código, API y flujos de trabajo para mantenibilidad a largo plazo.
**¿Qué te convierte en el candidato ideal?**
* Conocimiento profundo del ecosistema y las convenciones de Rails.
* Capacidad sobresaliente para resolver problemas, equilibrando velocidad y escalabilidad.
* Pasión por un código limpio, mantenible y bien probado.
* Comunicación efectiva y facilidad para colaborar entre equipos.
**Experiencia y habilidades requeridas (mínimo):**
* 3+ años de experiencia en desarrollo con Ruby on Rails.
* Competencia en Ruby, Rails, ActiveRecord y arquitectura MVC.
* Experiencia con PostgreSQL/MySQL y frameworks para trabajos en segundo plano (Sidekiq, Resque).
* Familiaridad con flujos de trabajo de Git y herramientas CI/CD.
**Experiencia y habilidades ideales:**
* Experiencia en integración con front-end (Stimulus, React, Vue).
* Despliegue de aplicaciones Rails en Heroku, AWS o GCP.
* Familiaridad con almacenamiento en caché (Redis, Memcached).
* Experiencia en sectores como SaaS, fintech, salud o comercio electrónico.
**¿Cómo es un día típico?**
El día a día de un desarrollador Rails gira en torno a la construcción de funciones, el mantenimiento de sistemas y la garantía del rendimiento. Realizarás lo siguiente:
* Revisar las tareas del sprint, seleccionando nuevos tickets de funciones desde la lista de pendientes.
* Escribir código para aplicaciones Rails, implementando lógica de negocio e integrando API.
* Ejecutar y revisar pruebas, asegurando que el nuevo código cumpla con los estándares de calidad.
* Colaborar con equipos de front-end y producto, alineando las funciones con los requisitos de los usuarios.
* Optimizar el rendimiento mediante ajuste de consultas, adición de caché o resolución de cuellos de botella.
* Monitorear paneles de errores (Honeybadger, Rollbar) y desplegar correcciones según sea necesario.
* Documentar cambios y actualizar repositorios para mantener la base de código mantenible.
En esencia: garantizas que las aplicaciones sean fiables, escalables, seguras y mejoren continuamente.
**Métricas clave de éxito (KPI):**
* Funciones entregadas a tiempo y alineadas con los requisitos.
* Tasas de error y tiempo de inactividad minimizados (tiempo de actividad del 99,9 %).
* Cobertura de pruebas mantenida en un 80 %.
* Reducción de la deuda técnica y mejora de la mantenibilidad del código.
* Retroalimentación positiva de los interesados sobre la calidad y rendimiento de las funciones.
**Proceso de entrevista:**
* Entrevista telefónica inicial
* Entrevista por video con un reclutador de Pavago
* Evaluación técnica (por ejemplo, construir una pequeña API en Rails con modelos, puntos finales y pruebas)
* Entrevista con el equipo de ingeniería del cliente
* Oferta y verificación de antecedentes