Senior Developer - JavaScript

07 Nov 2017
15 Nov 2017
Contract Type
Full Time
Senior Developer – JavaScript 81105 Experience XP/Agile methods, Agile planning and estimation; Test-Driven Development, pair programming; Specification By Example; Strong grasp of OO design and patterns; Continuous Integration and effective use of DVCS systems such as Git; Role responsibilities also include: Coaching and mentoring less experienced developers, sharing knowledge through constructive code reviews and pair programming; Evolve the design of the solution as the requirements and technical landscape changes; Adapt development approach as projects evolve, continuously improving processes and practices; Actively look for emerging technologies and development approaches that can help our software development effort; Build a technical specialism in one or more development platforms, while at the same time keeping a broad view of our technologies and languages; Specific skills & experience required: Development of RESTful web services; A strong grasp of OO design, patterns and principles; Experience with test-driven development (TDD), and solid background in multiple developer test idioms; Experience with Specification By Example / behaviour-driven development, and a highly collaborative approach; A commitment to code craftsmanship - clean, low-complexity, self-describing code; Strong understanding of ES2015 (aka ES6); Component development using libraries such as React , AngularJS or Ember ; Experience of cross-functional, self-managed teams; Server-side JavaScript development using Node.js, ideally with experience of enterprise deployment; Experience in the following tooling: - React (with Flux/Redux); Mocha / Chai / Enzyme or similar; Modern Java server containers - Tomcat, JBoss - or frameworks for containerless deployment; Major Java frameworks - Spring Framework especially; Experience of MVC web frameworks, JSP and other template languages; Experience of DevOps automation and IaaS - ideally using Amazon EC2; Containerisation (i.e. Docker); Specification by Example using Cucumber or similar; Continuous Integration/Continuous Delivery and Git;