Design, develop and maintain software components making technical decisions about technologies, data structures, algorithms, programmatic solutions, etc.
Write clean, scalable and fast performing code according to guidelines and quality standards (SOLID principles, code readability, pattern use, coupling, cyclomatic complexity etc.), including development and maintenance of automated unit tests.
Participate as part of development team in sprint planning and review meetings according to Agile principles, analyzing features specifications (user stories) translating them into development tasks and estimating those tasks to build sprint backlog.
Review other developers’ code according to code review mechanisms followed at Telefónica Digital
Pursue the generation of common components and best practices, fostering the reuse of technology and knowledge across Telefónica Digital software products, specifically the ones in the technological area where he/she is assigned
Research and recommend new technologies as well as software libraries (including open source), models and tools
Aptitudes y conocimientos deseados
Fluency in the following languages and frameworks
Deep knowledge of HTML5, CSS3 and Javascript (ES5 and ES6)
Experience with responsive and mobile web design
Experience with client MVC frameworks such as Angular.js, Backbone.js, Ember.js, or React - a significant advantage
Experience with rich Internet applications and websites and a familiarity with common design patterns
Sound knowledge of
Advanced HTML & CSS (including SASS/Less) skills
Experience with TDD. Javascript TDD/BDD frameworks (e.g. Jasmine, protactor)
Testing strategies and types (acceptance tests, component tests, unit tests)
HTTP protocol and web browser runtime
Experience with build automation and package management tools such as Grunt/Gulp and Bower
Significant knowledge in the following technologies will be a plus
Javascript TDD/BDD frameworks (e.g. Jasmine)
Security issues and software vulnerabilities
SIP protocol
git
Competences/Soft skills
Passionate about code and engineering
Being able to work in a multicultural team
Proactive and committed
Have CAN DO attitude
Collaborative
Communication and listening skills