Resumen del puesto
El Desarrollador de Salesforce es el constructor-orquestador: la persona que convierte los diseños de solución en software funcional y de calidad para producción, cada vez más especificando, dirigiendo y verificando rigurosamente el código generado por IA, y no solo escribiendo a mano cada línea. Escribirás Apex, crearás Lightning Web Components, diseñarás Flows, implementarás integraciones y entregarás las funcionalidades y mejoras que impulsan las organizaciones Comercial y de Servicios de Illumina en la plataforma Salesforce, trabajando con fluidez con asistentes de codificación de IA y manteniéndote totalmente responsable de la corrección, la seguridad y la calidad de todo lo que entregues.
Eres responsable de la mayor parte de la entrega práctica del equipo, cada vez más dirigiendo y verificando código generado por IA, y no solo escribiéndolo a mano. Trabajarás a partir de los diseños de solución proporcionados por los Arquitectos de Solución, bajo la dirección técnica establecida por el Arquitecto Técnico, y en estrecha colaboración con los Ingenieros de Automatización de Pruebas (TAE) que validan tu trabajo. Producirás código limpio, bien probado y seguro que cumpla con los estándares de ingeniería de Illumina y que escale para dar soporte a una organización global; ya sea que lo hayas escrito tú o lo haya producido un agente de IA, tú eres su responsable.
Este rol opera dentro de un modelo de entrega Agile Scrum. Participarás en la planificación de sprints y en el refinamiento del backlog junto con los Product Owners, los Arquitectos de Solución, los Arquitectos Técnicos y los TAE. Colaborarás con los TAE para definir la estrategia de pruebas de tus funcionalidades; la calidad es una responsabilidad compartida, integrada en cada sprint, y no una entrega al final. A medida que la plataforma Salesforce evoluciona con capacidades de IA como Agentforce y Data Cloud (Data 360), construirás e implementarás estas soluciones junto con el resto del equipo de ingeniería. A medida que la IA asume más la implementación inicial, tu aporte se desplaza hacia las especificaciones claras, las pruebas sólidas y la revisión disciplinada, y tu criterio sobre lo que significa "bueno" se convierte en lo más valioso que aportas.
Responsabilidades
Desarrollo de software
- Escribir código Apex de calidad para producción: clases, triggers, procesos por lotes, trabajos queueable y Apex programado. Seguir los patrones arquitectónicos del equipo (frameworks de manejadores de triggers, capas de servicio/dominio/selectores) y los estándares de codificación definidos por el Arquitecto Técnico.
- Construir Lightning Web Components (LWC): componentes de interfaz personalizados usando HTML, CSS y JavaScript dentro del framework LWC. Implementar servicios wire, llamadas imperativas a Apex, manejo de eventos y Lightning Message Service. Seguir los patrones de diseño de SLDS y los estándares de accesibilidad.
- Diseñar y construir Flows: flows activados por registro, de pantalla, programados y autolanzados. Tomar decisiones adecuadas sobre cuándo usar automatización declarativa frente a Apex, según las pautas establecidas por el equipo.
- Implementar integraciones: llamadas a APIs REST/SOAP, Platform Events, Change Data Capture y credenciales con nombre. Incorporar manejo de errores, lógica de reintentos y registro en las implementaciones de integración. Trabajar con middleware cuando sea necesario.
- Implementar soluciones de Agentforce: construir acciones Apex personalizadas para agentes, configurar plantillas de Prompt Builder, escribir Agent Script para un control determinista e implementar las barreras de protección de Trust Layer según lo indiquen los diseños de solución.
- Implementar configuraciones de Data Cloud (Data 360): flujos de datos, objetos de modelo de datos, resolución de identidad, perspectivas calculadas y activaciones, con base en los diseños de solución y la dirección arquitectónica.
- Configurar funciones de la plataforma Salesforce: objetos, campos, reglas de validación, diseños de página, conjuntos de permisos, reglas de uso compartido y otros elementos declarativos como parte de la entrega de funcionalidades.
Ingeniería aumentada por IA
- Trabajar en flujos agénticos guiados por especificaciones: redactar una especificación clara y criterios de aceptación, delegar la implementación inicial en asistentes de codificación de IA, y luego revisar, corregir, probar y responsabilizarte del resultado.
- Diseñar el contexto que las herramientas de IA necesitan para ser útiles y seguras: mantener archivos de reglas y estándares, anclar a los agentes en los metadatos de la organización mediante el Salesforce DX MCP, y proporcionar ejemplos y datos relevantes.
- Verificar el código generado por IA con el mismo rigor que el código de tus compañeros, comprobando la intención, la seguridad (CRUD/FLS, inyección SOQL), la seguridad frente a límites del gobernador, las APIs alucinadas y la adherencia a los patrones del equipo. Tratar la verificación como ingeniería de primera categoría.
- Usar asistentes de codificación de IA (como Cursor y Agentforce Vibes, además de herramientas conversacionales como Claude o ChatGPT Enterprise, cuando estén aprobadas) para acelerar el desarrollo, la refactorización, la depuración, la escritura de pruebas y la documentación, y compartir con el equipo prompts y patrones eficaces.
- Seguir las normas de Illumina para el uso seguro de herramientas de IA con datos de salud regulados: respetar los límites de los datos, nunca exponer PHI/PII ni secretos, y comprender las implicaciones de propiedad intelectual y autoría del código generado por IA.
Calidad del código y pruebas
- Escribir pruebas unitarias exhaustivas para todo el código Apex: escenarios positivos, negativos y masivos (bulk). Lograr una cobertura de pruebas significativa, por encima del mínimo del 75%. Usar fábricas de datos de prueba y técnicas adecuadas de mocking.
- Participar en revisiones de código, tanto como revisor como receptor de retroalimentación. Ofrecer a los compañeros retroalimentación constructiva y formativa. Atender la retroalimentación de las revisiones de código de forma rápida y reflexiva.
- Seguir los estándares de codificación, las prácticas de seguridad y los patrones arquitectónicos del equipo. Escribir código limpio, mantenible, bien documentado y alineado con la dirección del Arquitecto Técnico.
- Escribir código seguro: aplicar verificaciones de CRUD/FLS, prevenir la inyección SOQL, proteger contra XSS/CSRF e implementar controles de acceso a datos adecuados. Seguir las pautas de codificación segura del equipo.
- Colaborar con los Ingenieros de Automatización de Pruebas para definir la estrategia de pruebas de tus funcionalidades durante la planificación del sprint. Asegurar que tus implementaciones sean testeables y que los criterios de aceptación se cumplan antes de la entrega.
- Identificar y reducir la deuda técnica en las áreas en las que trabajas. Refactorizar código heredado cuando surjan oportunidades durante la entrega de funcionalidades. Defender mejoras técnicas durante la planificación del sprint.
- Verificar el código generado por IA con tanto rigor como el código escrito a mano; asegurar que las pruebas unitarias cubran de forma significativa las implementaciones producidas por IA, donde suelen esconderse errores lógicos sutiles y APIs alucinadas.
DevOps y despliegue
- Usar Git (GitHub) para el control de versiones: creación de ramas, commits, pull requests y resolución de conflictos de fusión. Seguir la estrategia de ramas y los flujos de PR del equipo.
- Desplegar código y metadatos usando el pipeline de CI/CD del equipo (AutoRabit, DevOps Center, Salesforce CLI). Solucionar fallos de despliegue y resolver conflictos de metadatos.
- Gestionar los sandboxes de desarrollo y pruebas. Mantener la higiene de los entornos y coordinarse con los TAE en cuanto a datos de prueba y necesidades de entorno.
- Dar soporte a las actividades de lanzamiento: validación previa al despliegue, pruebas de humo y verificación posterior al despliegue. Participar en la planificación de releases identificando dependencias y riesgos.
Colaboración y entrega
- Participar activamente en las ceremonias de Agile Scrum: planificación de sprints, dailies, refinamiento del backlog, revisiones de sprint y retrospectivas.
- Colaborar con los Arquitectos de Solución para comprender los diseños de solución y hacer preguntas aclaratorias antes de comenzar la implementación. Plantear con antelación las preocupaciones sobre viabilidad, complejidad o enfoques alternativos.
- Trabajar bajo la dirección técnica del Arquitecto Técnico: siguiendo los patrones establecidos, participando en discusiones de diseño y buscando orientación en decisiones complejas de implementación.
- Colaborar con los Ingenieros de Automatización de Pruebas a lo largo de todo el sprint, no solo en la entrega. Compartir compilaciones tempranas, discutir escenarios de