Personal Profile
I am an experienced Lead Developer with excellent problem solving abilities as a result of my analytical and inquisitive nature, and many years of experience in the IT industry. I have a natural affinity for technology, and a keen interest in everything related to computers. I pride myself on my attention to detail, and the care I take in everything I produce. As an articulate and diplomatic communicator with a warm and friendly demeanour, I am comfortable interacting with clients, as well as mentoring and encouraging fellow developers.
Employment History
- Mentor PHP developers across all teams (40+ developers)
- Recruitment of new PHP developers, which includes vetting of CVs, and interviews
- Identify areas in the CMS platform which should be focussed on to improve stability and developer experience
- Assist in devising standards and best practices for PHP developers across all teams
- Oversee new development work across all teams to ensure best practice is followed
- Develop and implement tooling that help improve the developer experience, e.g. project skeletons, automation scripts, etc.
- Introduced the use of Composer to manage dependencies in WordPress
- Developed a skeleton project for new WordPress plugins, which follows OOP standards, and allows for proper unit testing
LEMP, WordPress, GitHub Enterprise, OOP, PHPUnit, Composer, Symfony4, AWS Toolkit, Docker, Jenkins, Vagrant, Virtualbox, Code reviews, Documentation, SOLID principles
- Conduct all Scrum ceremonies, including daily stand-ups, shaping sessions, sprint planning, and retrospectives
- Acting line manager for team of both front- and back-end developers
- Regular one-to-one meetings with developers on the team, to address needs and career aspirations
- Work with product manager to scope projects and break them down into user stories and estimates
- Assist across teams with technical discussions involving PHP requirements
Atlassian Suite (Jira, Confluence), Agile methodologies, Scrum
- Ownership of the Trading team delivery, to ensure timely delivery of projects
- Scope projects and break them down into tasks and estimates
- Initial escalation point for incidents and bugs
- Assist across business projects with technical discussions
- Manage the release process to ensure progress of completed tasks through development, to UAT, and release
- Introduced a number of automations that made the Contact Centre less reliant on IT and more self-sufficient
Atlassian Suite (Jira, Bitbucket, Bamboo, Confluence), Agile methodologies, Scrum
- Ongoing planning and development of Trading platform based on Zend1
- Planning and development of various micro-services based on Zend2 and Zend Expressive
- Perform code reviews as part of development process to ensure coding standards are maintained
- Spearheaded an overhaul of PHPUnit test suite to separate tests out into unit, functional, and integration tests
LAMP, HTML+CSS+JS, AJAX, Linux+Windows, OOP, MVC, Zend1, Zend2, Zend Expressive, PHPUnit, Silex, JQuery, Bootstrap CSS, Redis, REST, Git, Composer
- Perform maintenance development, and fix reported bugs
- Provide out of hours 2nd line support for any website issues
- Mentor new developers to familiarise them with the codebase and company processes
- Generate weekly reports to review support velocity and outstanding tickets
- Reduced overall number of open support tickets by 65% within 6 months. 85% of tickets opened are closed within the same week, and all critical tickets are closed within a few hours at most
- Planning and development of CMS and E-commerce platform supporting 70+ sites
- Hold weekly workshops on various topics to improve knowledge base and coding standards
- Research and introduce new technologies and best practices that may benefit the company
- Perform regular code reviews to ensure coding standards are maintained
- Developed CSV driven data import system to handle bulk creation of new records, and to import, resize, and distribute product images
- Started holding weekly workshops that cover a range of technical topics to improve the developer knowledge base, and raise code quality and coding standards
- Introduced Redis caching and the Beanstalk queuing service to assist with the planning and development of a centralised CMS responsible for distributing data changes of products to all sites
- Implemented Markdown driven centralised documentation system to allow IT and business to document common processes. This was eventually migrated to Evernote
LAMP, HTML+CSS+JS, AJAX, Linux+Windows+OS X, OOP, MVC, Symfony2, JQuery, Bootstrap CSS, Redis, Beanstalkd, REST, Git, SVN, Composer
- Development and maintenance of customer sites
PHP, MySQL, HTML+CSS+JS, Linux+Windows, PhotoShop
- Development and maintenance of help-desk system
- Customer technical support, telephonic and on-site training, network and desktop administration
PHP, MySQL, HTML+CSS, Linux+Windows
- Development and maintenance of company website
- Windows desktop support & network administration
PHP, MySQL, HTML+CSS, Linux+Windows
Technical Skills
LAMP, XML, JSON, Redis, Beanstalkd, Supervisord, Google Analytics, APIs, Containers
PHP, SQL, HTML, CSS, JavaScript
Zend1, Zend2, Zend Expressive, PHPUnit, Laravel, Lumen, Symfony2, Symfony 4, Silex, CodeIgniter, JQuery, Bootstrap CSS, WordPress CMS
MVC, SOA, OOP, PSR-x, HTTP, REST, AJAX, DocBlocks, GitFlow
NetBeans, PHPStorm, Sublime Text, MySQL Workbench, Sequel Pro, SourceTree, VirtualBox, Firebug, Trac, Vagrant, Composer, Atlassian Suite (Jira, Bitbucket, Bamboo, Confluence), AWS Toolkit, GitHub Enterprise, Jenkins
MySQL5, Sqlite, MongoDB
Apache, Nginx
Git, SVN, Mercurial
Ubuntu Linux, Windows, Apple OS X
E-commerce, SEO, Scrum, Agile methodologies, Code reviews, Documentation, SOLID design principles, Unit testing