We are looking for a passionate Software Development Engineer to help design, develop and deploy software for our solutions. The successful candidate will be able to build high-quality, innovative and fully performant software in compliance with best practice coding standards and technical design. Help to drive better working practices and become a valued member of the engineering department.
Key accountabilities and measures
Collaboratively solves problems; communicates technical decisions through tech-talks and white-boarding sessions
Learns quickly and makes steady progress without the need for significant feedback from more senior engineers
Shows engagement with the wider engineering community. Hosts Dojo’s lunch and learn sessions and is seen as someone who interacts with the wider engineering community.
Helps other engineers to produce clean, quality code through strong engagement in code reviews and pair programming
Takes full ownership of the tasks in his/her backlog and is also begging to show signs of taking accountability for the entire team’s backlog.
Actively engages with the product teams to make the product better, and to understand ambiguous requirements
Consults business stakeholders on the best approach for delivering a complicated feature, both in how it can be split and sequenced and in terms of potential improvement to the functional requirements
Beginning to show signs of continuously mentoring fewer experience members of the team. Not just giving a hand here and there, but genuinely trying to upskill their peers.
Experience building distributed web applications
Strong experience with CSS/SASS
Experience with build automation tools (Webpack, nodemon)
Strong experience with testing frameworks and libraries such as Mocha, Chai or Webdriver.io
Experience working within an Agile environment such as Scrum or Kanban
Experience with NodeJS
Experienced working within a cloud environment, and is comfortable provisioning IaaS and PaaS services within such an environment
Ability to mentor and provide constructive feedback to members of the team
Proficiency with TDD & BDD
Good understanding of the good software design principles (e.g. OO, DRY, SOLID)
Experience with full-stack development and devops
Experience with distributed version controls systems like Git
Experience working with CI tools (Concourse, Jenkins)
Experience with using templating engines (Handlebars)
Experience with Express