Job Description
Key Accountabilities
- Deliver high quality, robust, and secure software.
- Write clean, reusable, and fully documented code, following established software development practices and design patterns.
- Follow the technical design principles and coding standards set by the Head of Software Development and the CTO.
- Continuously evaluate our systems, recommending solutions and architectural designs that will improve our software and its architecture.
- Write unit tests and participate in buddy reviews.
- Collaborate effectively with Product Owners, Developers, Testers, Designers, DevOps Engineers, and the wider business.
- Collaborate effectively with suppliers and other third parties.
- Contribute to a technical knowledge base of technical graphs, architectural diagrams, and other relevant material.
- Participate in code releases to production.
- Assist more junior members of the Software Development team.
- Keep up to date with the latest technologies and software development practices & principles.
This list is not exhaustive and the duties are liable to change from time to time in line with the needs of the department.
Skills & Competencies
- Practical experience with JIRA & Confluence.
- In depth experience with Object Oriented programming.
- In depth experience with PHP, MySQL, and JavaScript/Typescript – ideally Vue.js.
- In depth experience with at least one PHP framework, preferably Laravel/Lumen. Knowledge of Zend Framework would be an advantage (legacy systems use ZF) but it is not required.
- In depth experience designing & building cloud based, SaaS applications.
- Experience with microservices architecture.
- Experience with unit testing and design patterns.
- Experience working in collaborative Agile (Scrum / Kanban) environment.
- Experience with distributed source control management tools – Git or Mercurial.
- Experience with SASS, LESS or similar.
Knowledge & Qualifications
- Robust knowledge around cyber security, software vulnerabilities and mitigations for these.
- At least 7yrs of experience, preferably with some experience in a Lead Developer role.
Personal Attributes
- Excellent communication skills.
- Analytical, problem solver.
- Self-motivated, proactive, independent thinker, with a “can do” mentality.
- Team player.
Company Values - CREDIT
C
Customer - Customers are our primary focus
R
Results - Results matter, create value every day
E
Energy is contagious, Share it!
D
Developing our people makes us different
I
Invent the solution - be proactive
T
Teamwork - Together we can build the business