Job Title: Software Engineer
Location: Middlesbrough / Hybrid
Salary: Competitive
Hours of Work: 08:30 – 17:00 (flexible)
Charles Clinkard is a footwear and accessories retailer, operating across 28 retail locations, 17 concessions, 3 online domains as well as several channels and marketplaces.
The business was founded in 1924 in Middlesbrough, England and returned to its roots in 2016 when it built a multi-million-pound, purpose-built head office and warehousing facility.
More recently, the business has made a significant investment in technology, creating a standalone Technology Department, which operates three divisions: IT Operations, Data Science and Software Engineering.
The business has made a strategic decision to develop its key operating systems in-house and is therefore looking to grow its Software Engineering division to support these plans.
About the Role:
Reporting to the Head of Software Engineering, you will be responsible for developing and maintaining our PHP-based backends and APIs, as well as our VueJS-based single page application frontend.
You’ll work as part of a small team developing the applications which run our business, where the team’s mission is to improve the organisation’s ways of working through an innovation and software development approach.
This is a relatively new team with exciting greenfield projects on the roadmap, so you’ll be a critical team member contributing to how our architecture and approach evolves.
This is a fantastic opportunity for engineers who like to work as part of a team while being given the time and freedom to learn and develop their skills.
Responsibilities:
- Designing and implement clean, maintainable, and efficient code for web applications
- Researching and documenting the technical approach for given requirements
- Debugging, troubleshooting and resolving bugs and performance issues
- Writing automated tests to ensure code quality and reliability
- Supporting team members and working collaboratively towards a joint team goal
- Performing peer code reviews and providing constructive feedback
- Working from and tracking progress in our agile project management software
- Contribute to the continuous improvement of the team’s processes and approaches
About you:
Required Skills
- Strong knowledge with PHP and its modern ecosystem, including PHP 8.0+, composer, frameworks such as Symfony/Zend/Laminas/Laravel, commonplace libraries such as PHPUnit, and standard approaches such as PSR standards
- Experienced writing object-oriented code following the SOLID principles, with an understanding of common design patterns and how to implement them
- Confident with automated testing in PHP including unit tests and integrating tests
- Experience developing systems with a SQL-based database (MySQL, Postgres, etc), including knowledge of query optimisation
- Experience with component-based UI frameworks such as React or Vue
- Good understanding of web security (e.g. OWASP Top 10) and how to prevent common vulnerabilities when developing PHP applications
- Comfortable with Linux and working from the command line
- Confident using HTML and CSS
Desirable Skills
- Familiarity with agile (scrum) methodologies
- Familiarity with caching strategies across web applications
- Experience of with Doctrine or other data mapper based ORMs
- Understanding of modern web software architectures including microservices and serverless
- Knowledge including web accessibility best practices
- Solid grasp of API design paradigms, including the difference between REST and RPC APis
- Experience with cloud IaaS providers such as AWS, GCP or Azure
Benefits:
- 25 days holiday + 1 Xmas shopping day + bank holidays
- Private pension
- Private health care
- Profit share scheme
- Choice of equipment i.e. Linux or Mac
Please click on the APPLY button to send your CV and Cover Letter for this role.
Candidates with experience of: Software Developer, Software Engineer, Systems Developer, Application Developer, HTML, CSS, Bootstrap, PHP Development, WordPress, IT Database Developer and Software Integration, IT Developer, Coder, Modeller, System Coder, Python, Rust, C/C++, Developer, Programmer, Technical Developer, Systems Developer, System Coder, Python, Senior Developer, will all be considered.