Descripción del puesto
- Implementación de aplicaciones avanzadas. Esto implica involucrarse en todas las fases del ciclo de vida de los proyectos: definición de interacción de usuario, diseño de interfaces visuales, construcción, testing, QA, corrección de bugs y despliegue.
- Evaluar diseños complejos y heterogéneos, trabajando conjuntamente con el equipo técnico diseñando la estrategia de implementación de las aplicaciones.
- Desarrollo de aplicaciones orientado a test para conseguir robustez y calidad, incluyendo casos extremos, usabilidad y fiabilidad en general.
- Colaborar en la redacción de documentación técnica.
- Resolver bugs y mejorar el rendimiento de las aplicaciones.
- Investigar, evaluar y aplicar nuevas tecnologías y tendencias de mercado para proponer nuevas funcionalidades y maximizar la eficiencia en los desarrollos.
Perfil
Imprescindible:
-Experiencia laboral en diseño y desarrollo de aplicaciones J2EE
-Frameworks: Spring, Spring Boot, Spring MVC, Hibernate/JPA
-Integración: APIs REST, Servicios web SOAP
-Herramientas gestión configuración: Maven
-Servidor de aplicaciones: Openshift, WebSphere, Tomcat, Jetty
-Experiencia en SQL: DB2, SQLServer
-Experiencia usando sistemas de control de código como Subversion o Git
-Desarrollo orientado a pruebas: jUnit, Selenium
-Comprensión sólida del ciclo de vida del desarrollo
Valorable:
-Familiarizado con procesos ágiles de desarrollo software y Scrum
-Comprensión general de los principios de diseño de interfaces y experiencia de usuario
-Conocimiento de patrones de diseño, arquitectura J2EE, threading y gestión de memoria
-Conocimiento de protocolo HTTP y nociones de seguridad de la información (SSL, certificados, encriptación, …).
-Conocimiento en desarrollo de Frontend y sobre los estándares W3C, HTML5, CSS3, JavaScript, Web Components
Se requieren las siguientes habilidades:
- Eficiente en el trabajo, pero con atención a los detalles.
- Actitud positiva, proactivo, colaborativo.
- Que disfrute desarrollando.
- Capacidad de comunicación tanto oral como escrita con los miembros del equipo para compartir conocimiento, discutir nuevos conceptos y defender su punto de vista.
- Habilidades para el análisis y resolución de problemas.
- Preocupado por el aprendizaje continuo.