PHP Developer - Hammersmith
Closing date for application: 30/6/17
Civica Digital requires a requires an experienced PHP Developer to work on one of our existing applications. The JARD application is currently undergoing a modernisation programme with the aim of improving data quality through a better user interface and applying business logic in line with current processes. Working as part of a small team who are based at the Civica Digital Hammersmith office and are a cross-functional team working in accordance of Agile Scrum principles. The team is composed of Developers, Testers, a Business Consultant, a User Experience Consultant (ad hoc) and a Project Manager
Project lifecycle responsibilities:
- Adhere to the technical strategy dictated by the lead consultant/architect for any given solution.
- Design of scalable and maintainable components of technical solutions to meet customer functional and non-functional requirements.
- Creation of deliverable artefacts, for example; executable code, models, design specifications, unit tests and supporting documentation.
- Support peers in continuing to keep a productive culture within the development team.
- Provide input into proposals, white papers, project plans, and process documentation.
- Keep abreast of industry trends and use this to contribute to the development of the team and the company capability as a whole.
- Excellent knowledge of advanced Object Orientated Programming in PHP
- Understanding of MVC frameworks (Laravel 4.x preferred)
- Experience and understanding of MySQL including optimising existing queries.
- Demonstrable ability to investigate, understand and support legacy code
- Good knowledge of CSS3/HTML5
- Excellent source control experience (Git 1.7+)
- Experience designing, developing and consuming RESTful APIs
- Excellent written and verbal communication skills, including explaining complex system components in a client friendly manner
- Experience of working in an Agile development team
- Test Driven Development understanding (TDD) using PHPUnit
- Dependency management knowledge (Composer, bower, gulp, grunt, etc.)
- Virtualisation (Vagrant, Puppet, etc.)
- Understanding of programming patterns and practice
- PSR code compliance
- Knowledge of version control software (Git, Mercurial, etc.).
- Knowledge of Java-based web application servers.
- Knowledge of relational databases.
- Knowledge of NoSQL databases.
- General networking knowledge.
- Strong analytical and problem solving skills
- Experience with the ELK (Elasticsearch, Logstash, Kibana) stack.
- Experience with ServerSpec or Chef InSpec.
- Experience with monitoring tools such as Zabbix or Sensu
- Experience of continuous integration with TeamCity, Jenkins, or other software.
- Experience of High Availability Design, and associated tools
- Experience of software development practices (Continuous Integration/Delivery)
- Good knowledge of Apache HTTPD and NGINX
- Knowledge of web services (RESTful and SOAP).
- Degree in Computer Science or Software Engineering