Full Stack Software Engineer
Location : Greece
You will join one of our Scrum teams working on development of mission critical, line of-business applications using full stack frameworks.
You will be a key member of the team working alongside highly skilled people and coaching more junior team members. The majority of the top 10 busiest airports rely on our software platforms and this role provides a fantastic opportunity to work on projects around the world and to experience many different cultures.
Our learning culture will allow you to continue to develop your own skills and keep current with changes in technology trend.
The ideal candidate will be enthusiastic, have deep technical skills and be prepared to learn and work hard with us to develop great software used at hundreds of airports across the globe.
DUTIES AND RESPOSIBILITIES
Involvement in full Scrum lifecycle from Planning Poker to Sprint Retrospective
Designing, coding and unit testing applications using full stack technologies
Coaching and mentoring junior team members
Undertaking tech spikes to identify risks and enable estimation
Technology advocate who keeps up to date with latest technologies and ensures technical obsolescence is understood and addressed
Experience of working in an Agile / Scrum development team who lives by the Agile manifesto and SOLID principles
Experience of using Node.js and a range of npm frameworks in 24x7 production environments
API design and development of RESTful microservices
Writing unit, integration and performance tests using frameworks like karma, nightwatch, cypress and artillery
Knowledge of build tools, for example webpack, eslint, prettier and Istanbul
Proficient understanding of code versioning tools, such as Git
Familiarity with continuous integration, pipelines, delivery and deployment techniques using Jenkins and Ansible
Experience of building, deploying and maintaining software in a cloud environment (e.g. AWS)
Knowledge of databases, ideally with experience of Oracle and PL / SQL, MongoDB
Understanding fundamental design principles behind a scalable application and use of tools such as redis, haproxy and nginx
Understanding differences between multiple delivery platforms, such as mobile vs. desktop and optimizing output to match the specific platform
Container technologies such as Docker
User authentication and authorization between multiple systems, servers, and environments
Implementation of node packaging for standalone deployments
Essential Attributes :
Ability to work within a team and collaborate with other business functions
Committed to our learning culture and continuous improvement
Willingness for occasional travel to customer sites around the world
Ability to pass security / DBS checks for an airport airside pass