B&A
Domino's
Ingeniero/a de Software Senior - Desarrollo Android
Descripción de la Empresa
Domino’s Pizza, que comenzó en 1960 como una única tienda en Ypsilanti, MI, ha tenido mucho que celebrar últimamente: somos una marca reestructurada, revitalizada, de honestidad, transparencia y responsabilidad, ¡sin mencionar la excelente comida! En nuestro camino para convertirnos en un verdadero líder tecnológico, la marca se encuentra consistentemente entre las cinco principales empresas en transacciones en línea y un 65% de nuestras ventas en EE. UU. se realizan a través de canales digitales. La marca continúa 'cumpliendo el sueño' de los dueños de negocios locales, un 90% de los cuales comenzó como repartidores y pizzeros en nuestras tiendas. ¡Eso es solo la punta del iceberg... o como diríamos, una 'rebanada' del pastel! Si esta es una marca de la que te gustaría formar parte, ¡considera unirte a nuestro equipo!
Descripción del Puesto
Salario- base de 120-130k
Toda su información se mantendrá confidencial de acuerdo con las directrices de EEO.
Org. de Categoría de Puesto: Tecnología de Domino’s
Nombre de Ubicación - Código de Ubicación: Domino's Pizza LLC-WHQ
Un Ingeniero de Software III demuestra competencia en la tecnología en cuestión. Desarrolla con un enfoque más externo, abarcando otros equipos y cómo el software interactúa con otras partes de la organización. Son competentes en el lenguaje de programación y la biblioteca principal, incluidas sus partes más complejas, numerosas bibliotecas de terceros y las herramientas de desarrollo, compilación, depuración, prueba y despliegue de aplicaciones. Comprenden, a un nivel moderado, todos los componentes que conforman el sistema y sus interrelaciones y patrones de comunicación. Pueden utilizar este conocimiento para desarrollar subsistemas complejos utilizando los principios que han aprendido y con la vista puesta en un enfoque con los modismos y patrones ya presentes en el código y el equipo. Tienen una profunda comprensión del subconjunto de componentes en los que están trabajando y pueden asesorar a desarrolladores con menos experiencia en el diseño de su código y el ecosistema de desarrollo más amplio utilizado dentro del proyecto. Se espera que un Ingeniero de Software III escriba consistentemente código de alta calidad, de complejidad media a alta, de manera oportuna. Esto incluye tener en cuenta aspectos como el rendimiento, la mantenibilidad y la seguridad. Además, se espera que sean competentes en todos los estándares, prácticas, directrices y modismos del equipo y los apliquen mientras codifican.
Desarrollo - 80%
- Proporciona aportaciones a la definición de los estándares de codificación de la organización
- Produce estimaciones para sus tareas asignadas y participa en la estimación de iniciativas más grandes, incluida la planificación inicial del proyecto
- Produce código de alto rendimiento con un énfasis especial en la estabilidad y la compatibilidad a largo plazo
- Promueve la reutilización del código con la vista puesta en oportunidades de reutilización entre equipos/sistemas
- Produce código que está adecuadamente probado unitariamente y cumple con los requisitos para pruebas de sistema/integración
- Responsable de la documentación de su código y de la documentación externa de un sistema o proyecto
- Participa en el diseño de componentes completos y la interacción entre componentes
- Apoya al equipo de gestión de proyectos en la descomposición de los requisitos de negocio en tareas individuales
- Profundo conocimiento de bibliotecas y componentes comunes (frameworks)
- Un revisor clave de PRs para su equipo de proyecto
- Participa en la implementación inicial de nuevos patrones
- Soporte de desarrollador de primera línea para sistemas de producción - resolución de problemas/triaje
- Puede participar en entrevistas
Mentoría - 20%
- Apoya a los desarrolladores respondiendo a preguntas conceptuales y técnicas de los miembros del equipo
- Ayuda a los desarrolladores a mejorar la mantenibilidad, el rendimiento y la seguridad de su código a través de revisiones de código
- Proporciona mentoría dedicada a miembros nuevos o inexpertos del equipo (por ejemplo, candidatos rotacionales, nuevos empleados o nuevos miembros de un equipo)
Cualificaciones
Cualificaciones de Aplicaciones Nativas
- + de 7 años de experiencia general en desarrollo utilizando un lenguaje orientado a objetos
- Experto en Kotlin y/o Swift
- Experiencia demostrable con XCode y/o Android Studio
- Experiencia demostrable con Java y/o Objective-C.
- Experiencia demostrable consumiendo servicios web RESTful JSON
- Experiencia demostrable con desarrollo Agile y pruebas unitarias.
- Experiencia demostrable con notificaciones push, servicios de localización.
- Experiencia demostrable con herramientas de compilación como Gradle y Fastlane
- Experiencia demostrable con frameworks de análisis como Firebase, Adobe o similares
- Experiencia con varios patrones de arquitectura como MVC, MVVM, VIPER o similares
- Experiencia con herramientas de gestión de dependencias como Cocoapods, Gestor de Paquetes Swift, Gradle
- Experiencia con frameworks de accesibilidad
- Experiencia con herramientas de perfilado y depuración de código
- Experiencia con el envío y publicación de aplicaciones a través de tiendas de aplicaciones.
Cualificaciones Generales
- Competente en métodos/patrones de diseño (por ejemplo, DRY, SOLID, ReST) y su aplicación práctica
- Excelente jugador de equipo con buenas habilidades de comunicación tanto con compañeros no técnicos como técnicos
- Altamente motivado y impulsado por el deseo de resolver problemas difíciles y aprender nueva tecnología
- Experto en la escritura de pruebas unitarias de calidad
- Experto en herramientas de compilación y depuración
- Competente en herramientas de perfilado
- Experiencia con sistemas de integración continua como Jenkins/GitHub
- Experiencia con desarrollo de software internacional (multilingüe, multidivisa, conciencia geográfica y de localización)
- Competente en MacOS, Unix y Linux
- Experiencia con conceptos de bases de datos (consultas, modelos de datos)
- Comprensión del desarrollo en un sistema distribuido
- Comprensión de los conceptos básicos de redes como el protocolo http y su uso
- Se prefiere experiencia con Docker, o tecnología de contenedores equivalente.
- Se prefieren experiencias con prácticas y herramientas ágiles (Jira o similar)
Información Adicional
- Beneficios: • Días festivos y vacaciones pagadas
- Beneficios médicos, dentales y de visión que comienzan el primer día de empleo
- Soporte de salud mental gratuito para el empleado y sus dependientes
- Descuentos en matrícula para guarderías
- Programas gratuitos de ejercicio, nutrición y bienestar
- Beneficios de fertilidad
- Asistencia para la adopción
- Contribuciones de contrapartida de 401k
- 15% de descuento en la compra de acciones
- Bonificación de la empresa
