"El ingeniero de software senior está encargado de producir código y pruebas de un proyecto, asistir al Team Lead y al Design Lead en la toma de decisiones arquitecturales de bajo nivel.
Objetivos
· Producir código de ejecución y de pruebas.
· Colaborar, cuándo sea solicitado, en el diseño de las aplicaciones.
· Aportar conocimiento técnico al equipo para guiar a los junior engineer en sus responsabilidades técnicas.
Responsabilidades
1. Producir código fuente para proyectos internos o de clientes.
2. Producir unit tests o integration tests para las partes de trabajo asignadas.
3. Producir arquitecturas de bajo nivel a partir de la documentación de la arquitectura.
Requisitos
· Egresado de grado universitario en ingeniería de sistemas y computación o carrera relacionada.
· Debe poder construir soluciones haciendo uso de estructuras de datos complejas. Por ejemplo: graphs y trees.
· Conocimiento y capacidad de aplicación de object oriented design; esta persona debe, dado un problema, poder estructurar su solución en clases, métodos y propiedades.
· Dominio de estrategias de testing top down y bottom up así como su implementación a través de unit testing y/o integration testing.
· Debe tener experiencia utilizando herramientas de control de versiones (GIT) y conocimiento del flujo de trabajo de la compañía.
· Escribir y leer inglés; esta persona debe poder leer libros, papeles técnicos o posts de blog y comprenderlos. Adicionalmente, debe poder generar un resumen de dicha lectura.
· 3 años de experiencia en diseño y desarrollo de proyectos web.
· Conocimiento y capacidad de aplicar los principios SOLID y patrones de diseño.
· Capacidad de cumplir requerimientos dados por los atributos de calidad a través de decisiones de diseño.
· Dominio de las siguientes tecnologías y/o servicios:
o PHP
o Laravel
o HTML
o CSS
o Git
o Javascript
o JQuery
o Wordpress
o Mysql
o Postgres
o Cloud Experience: Heroku, AWS, Google Cloud, Azure"
Ciudad: distrito nacional