Martin Buckley

Martin Buckley

Software Engineer

Contact Me

About Me

A PHP developer with 5 years experience and a love of APIs. He’s been lucky enough to be able to be full stack on some major projects gaining hands on experience in front-end, back-end and even a little DevOps. He’s mostly been doing PHP (Zend, Silex, Symfony) but plays with other languages too (Java, Scala, Python, Ruby). A regular attendee at conferences and meet ups to keep up to date with the latest trends.

He's currently getting back into running and recently passed the 5k mark. Interests include old movies, motor sports and can occasionally be spotted at the football.

Latest Projects


project name

BBC Programme finder

Uses the BBCs public metadata API to search for programmes.

  • Environment - Vagrant, Puppet, Debian
  • Back-end - PHP, Zend Framework
  • Front-end - Javascript, RequireJS, jQuery
  • Testing - Behat, Selenium, PHPUnit
  • Source - Git, Github, Composer

Find out more

project name

Billing Prototype

An example of using the Specification pattern to bill select customers to be invoiced.

Find out more

Work Experience

Software Engineer - BBC iPlayer Radio (2014 - Present)

Lead Developer on the bbc.co.uk/podcasts project to migrate all BBC podcasts into their standard data model and refresh the website and data feeds to power the native app.

  • Development in PHP (Zend Framework), Javascript.
  • Management and deployment to Amazon Web Services (AWS) using Jenkins.
  • Environment virtualization using Vagrant, VirtualBox and Chef.
  • Cross-browser multi-device automated testing using Ruby Cucumber, Capybara, on BrowserStack.
  • Analysis and profiling using Xhprof, xDebug and Charles proxy.
  • Source control using Git Flow and SVN.
  • The team have utilised both Kanban and Scrum methodologies.

Software Engineer - BBC Digital (2013 - 2014)

iBroadcast is an internal system used by editorial staff at the BBC to create and manage content and associated meta data. Examples include schedules, programmes, images, clips, streaming. Requirements ranged from minor improvements and bug fixes to the creation of large often complex systems.

Projects

  • Rights & Scheduling - A system to manage the availability of media limiting it based on location, device and duration.
  • Radio Scheduling - An interactive broadcast schedule editing system.

Skills

  • RESTful APIs in XML and Json
  • PHP development in Zend Framework
  • Javascript (jQuery, requireJs), CSS (Less & SASS) front-end
  • Testing in PHPUnit, Cucumber
  • Build automation and deployment using Jenkins, Source control in SVN
  • Iterative development managed by SCRUM

Technical Developer - CentralNic (2013 - 2013)

CentralNic uses their in-house developed IT platform to distribute their own portfolio of 24 domain names including .uk.com, .us.com and .cn.com (China) to a global network of "1500 registrars" (retailers such as Network Solutions, LLC), which sell these to end users.

I developed customer and product management solutions using the CodeIgniter PHP framework. Font-end UX was created using Javascript, jQuery and CSS. The development environment was virtualized CentOS and source control was CVS.

Software Engineer - Entanet International Ltd (2012 - 2013)

Entanet International is a Wholesale ISP that provides products and services to resellers nationwide. Offering networking services including ADSL, FTTC, FTTP, Leased lines, Co-location and Voice.

Projects

  • Trade Accounts - A site for partner applications.
  • Bonded Broadband - Allows the management of multiple merged internet connections.
  • Synergi Partner Portal - Partner account management console.
  • NetSuite to Salesforce Migration - Migration of partner and customer data.

Skills

  • PHP (CakePHP)
  • Front-end Javascript (jQuery), HTML, CSS
  • Data migrations and web back-end in SQL
  • Testing using Jenkins and PHPUnit, source control in SVN and Git

Web Developer - Gloversure (2008 - 2009)

Gloversure is a small local web development company providing full stack solutions ranging from static browser sites to full E-commerce solutions. Gloversure specialised in SMS marketing.

Skills

  • Full stack development using PHP, Javascript, HTML & CSS.
  • Developing an interactive SMS based game in Flash utilising XML data feeds.

Recommended Books

Clean Code

Clean Code

A real must for all coders regardless of experience or proficiency. Reading it really makes you realise that code is written for people not machines and that readability is king.

I've re-read this book several times and it keeps on giving. Every time I feel content with my coding style or standards this book makes me realise there is always more that can be done.


Find out more

Agile Testing: A Practical Guide for Testers and Agile Teams

Agile Testing: A Practical Guide for Testers and Agile Teams

In an age where agile is the go-to technique for teams and developers why do we still tolerate brittle and hard to read tests? This book teaches you the value of not treating test code as a second class citizen and investing in it from the start.

The book contains lots of information about how tests can really drive business value and avoid wasted development effort.


Find out more

Growing Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests

Acronyms like TDD and BDD have been floating around for a while now, but unless you're sure exactly what they are and more importantly exactly how they all fit together this book is an enlightening read.

The book explains how to use test first techniques to power iterative development delivering real business value to project stakeholders right from the start. As a large and pretty dense read you may be questioning the effort of sticking with it, but compared to the potential wasted effort of a project that never delivers this book could prove a real time saver!


Find out more

Design Patterns

Design Patterns

The book that started it all. At the time of this book design patterns were already in common usage amongst those in the know, but this book introduced a domain language for them allowing them to be effectively communicated to all.

Certainly the original, but probably not the best source these days. The reliance on UML and C++ to illustrate the patterns is now dated and inaccessible to many.


Find out more

Javascript: The Good Parts

Javascript: The Good Parts

Douglas Crockford is probably the most famous man in Javascript thanks to his contributions and this book contains a distillation of his vast knowledge of Javascript.

Surprisingly thin and easy to read Crockford effectively communicates through examples the core good practises of Javascript.


Find out more

Test Driven Development

Test Driven Development

We all know the acronym but what does TDD actually entail and how do you get started? Learn from the best as Kent Beck takes you the creation of a fairly complex project in small seemingly obvious steps.

Understanding the concept in once thing but Beck makes it clear that regular practise is required to master the skill.


Find out more

Refactoring to Patterns

Refactoring to Patterns

The arguments for design patterns and refactoring are clear, but how exactly do you transform your ailing codebase into that bastion of readable maintainability? This book attempts to show you the way through examples.

Due to the nature af what it attempts large code samples are required and often make for difficult reading on paper. Perhaps a book was not the correct medium for this clearly insightful knowledge.


Find out more

Refactoring:
                    Improving the Design of Existing Code

Refactoring: Improving the Design of Existing Code

Nobody likes working with legacy code, but the squeaky wheel gets the grease and that legacy system is going to need regular maintenance. So why not bite the bullet and make a proper go of improving it? After all you're going to be the first person to feel the benefit.

This book is an excellent library of ideas to delve into when you need inspiration on where to start. The Refactorings are all indexed categorized and named giving you a vocabulary to concisely communicate your intentions.


Find out more

More books

My GitHub

Sadly most of my Git commits are to closed source projects on private repos.