Senior Developer
Role details
Job location
Tech stack
Job description
The Senior Developer provides high-level software development and architectural leadership to the IT team. You will drive technical excellence through modern practices like TDD/BDD, SOLID principles, and Clean Code. Working within our Agile/Scrum framework, you will deliver scalable solutions across a diverse stack including PHP (Laminas/Symfony), JavaScript (TypeScript, Dojo), AWS. A key component of this role is mentoring junior staff and supporting the trainee program to ensure continuous team growth., · Engineering & Architecture: Lead the development of complex features and ensure code architecture conforms to best practices while remaining mindful of performance.
· Agile Processes: Work within a Sprint based environment using Jira, Fisheye, and Crucible; participate in sprint planning and take a lead role in the absence of the Team Leader.
· Requirements Gathering: Determining user requirements by direct communication with stakeholder(s). Create and update Jira Issue's with appropriate detail using stories, acceptance criteria and detailed scenarios where required.
· Quality Assurance: Conduct rigorous code reviews and implement automated testing (PHPUnit, Symfony Panther, and JavaScript Unit Testing) to maintain high system reliability.
· Infrastructure & DevOps: Utilize Terraform and Ansible to manage environments; leverage AWS services (Lambda, SQS, SageMaker) for cloud-native solutions.
· Mentoring: Aid Team Leaders in the training and encouragement of junior members and the maintenance of the trainee programme.
· Data & Security: Treat all live system and user data with the highest confidentiality and follow all security processes, including system lockdown and access approval protocols.
· Documentation: Producing and maintaining clear technical documentation.
· Continuous Improvement: Monitor industry developments and recommend improvements to Team Leaders regarding tech stack or workflow changes.
· Support: Be conscious of and pro-actively seek to clear development blockages. Responsible for addressing assigned support issues requiring developer input in line with the team SLA
· Any other tasks or duties commensurate with the objectives of the post.
Person Specification: Technical Stack
- PHP (Laminas/Symfony/Zend), OOP, SOLID, RESTful APIs
- Node.js, PM2, SocketIO, OAuth
Front-End
- JavaScript/TypeScript, Dojo, HTML/CSS, Sass
- UX/UI Design, NPM
Data & Search
- MariaDB/MySQL (Complex CRUD & Joins)
- Apache Solr , MongoDB, Query Optimization (EXPLAIN), Sabre CalDAV
Infrastructure
- Ubuntu/Linux, Git
- AWS (SQS/Lambda/SageMaker), Terraform, Ansible, Docker
Testing
- TDD / Integration Testing, PHPUnit, XDebug
- BDD, Sinon, Symfony Panther
Requirements
Do you have experience in Unit testing?, · Industry Tenure: 4+ years of experience in a similar senior or mid-level development role or equivalence with proven experience leading the architecture of complex, multi-layered systems.
· Development Lifecycle: Full involvement in the software development life cycle, from requirement gathering to deployment.
· Technical Proficiency: Proven experience with full stack development, automated testing and working on shared code versioning systems.
Qualifications
· Education: A reasonable level of basic education including A-C grade GCSEs (or equivalent) in Mathematics and English.
· Degree: A Computer Science related degree or equivalent professional experience.
· Certifications (Desirable): AWS Certification and/or MySQL Certification.
Core Soft Skills
· Critical Thinking: Ability to solve complex problems and clear development blockages proactively.
· Communication: Excellent verbal and written communication skills for documenting standards and determining user requirements.
· Collaboration: A strong team player who excels in a collaborative, sprint-based environment.