February’2020 – current – Sabrefish Insurance (Front End Technical Lead)
June’15 – January 2020 – Sabrefish Insurance (Front End Technical Lead)
My initial role at Sabrefish was to take 2 large complex Java web-applications with legacy HTML from 2003 and give them a contemporary front-end design and infrastructure overhaul. This included a full new FE stack of AngularJS, Bootstrap, end-to-end tests using Protractor, Unit Tests within a Karma/Jasmine suite and processes managed by Grunt and NPM at their core. I developed a core render engine to control the MPA flow with a ‘shadow DOM’ based model, with many components designed for maximum reusability. Consequently, hundreds of pages were converted overtime across the two apps, with additional functionality added where required by clients.
Sept’14 – May’15 – Qmetric Insurance – Policy Expert.com (Front End Engineer)
In this role I was helping to deliver 4 new apps whilst maintaining one current live site within an Agile SCRUM environment. Typically, in teams of 6 at a time and rotating depending on overall project milestones, stories were managed using Pivotal Tracker alongside a traditional card based wall. Sprints were two weekly, rolling through familiar stages, e.g, planning, developing, Q.A, UAT (CI/CD via Team City) before production deployment. Predominantly the role focused on front-end work within the apps including 1 AngularJS and 3 Backbone based projects. The Back end stacks were mostly Java/MySQL/MongoDB/ElasticSearch. The front end processes were managed using Grunt. CSS pre-processing used SASS & LESS with lodash templates. The first part of my time there was centered around building new components for Home and Car Insurance, quoting, purchase and management. The second was very much focused on performance within these apps involving a lot of refactoring of the early development work undertaken by my predecessors in anticipation of new features coming up. Testing technologies included end to end tests using Protractor (Selenium Web Driver) and unit tests via Karma, Mocha, Chai and Sinon.
Feb’13 – August’14 – CNN/Turner Broadcasting (Full-Stack Engineer – International Lead)
This role required me to lead code within an International SCRUM setup including 80+ developers spread across the globe and many timezones. I lead the hands-on international development alongside 8 U.S based devs. Once we had developed the core codebase beyond the U.S centric model, I then also evolved the code further for full international roll-out. Subsequent to that, all the other developers would roll out features based upon the guidelines put in place.
The GIT Flow branching model was used via BitBucket and JIRA to cover the typical stages of a ‘story’. Individuals took full-stack responsibility. After tickets were assigned to our queue via the SCRUM Masters, our hands-off Technical Lead would designate the work. Responsibilities included pull requests for code reviews from peers, typically one from my immediate London based team and then one from a architect based in Atlanta. Here improvements and issues could be ironed out before work would be merged into our ‘dev’ environment via Bamboo. Through Q.A team co-ordination we would then promote the code to a Ref environment for further testing using the acceptance criteria created via myself and the person who created the ticket, typically the Product Manager. U.A.T was covered at this stage and if accepted then the code would be promoted to the remaining environments, prod, training etc.
The bigger projects covered in my time at CNN have included:
CNN Expansion (www.cnn.com)
This was the primary reason for me joining CNN. This was a full-stack role. The ‘top line’ technologies used were:
Node
Express
Restify
CouchDB
HTML5
JS
Mocha/Chai
CSS3 via SASS
DUST Templates
Grunt
Bamboo
GIT (BitBucket) mono-repo
CNN Formula One (Data tool and responsive website for 2013 and 2014 seasons)
CNN’s coverage of Formula One Racing. I built the back-end and responsive front-end website; Technologies used were:
Node
Backbone
MongoDB
PHP
HTML
JS
CSS3 via SASS
Grunt
GIT (BitBucket) repository
Other projects included work on the CNN Breaking News Python tool, Brazil World Cup coverage, the Oscar Pistorius trial special, re-skinning of the 2013 website, a reusable twitter module for the CNN CMS, an automated magazine templating tool and many more.
Nov’10 – Feb’13 Plus Two Digital Agency (Head of Development)
As an active coding Head of Development at Plus Two my time was split between leading two teams of developers, liaising with current and prospective business clients and coding on a variety of projects. Projects varied from prototyping to multi-sprint 18 month agile projects. The multi-platform PresentiaFx app was the main focus of my coding time, which was Flex and later iOS native codebases. Clients included Virgin, RBS, BP, ITV, TNT, Blackberry, Del Monte, Radisson Hotels and many more.
Mar’08 – Nov’10 Informa Telecoms & Media (Senior Web Developer for Rich Media)
During my time working for this FTSE250 Publishing Company I worked across two teams; One that dealt predominantly with 50+ Websites for events of various sizes and the other which dealt with their 2 subscription based B.I Research products (both Java based). The majority of my work saw me building and maintaining interactive site elements and company tools built with Flex/AS3, using PHP & XML for server-side services as well as HTML/JavaScript based products where applicable.
The Research products required me to maintain the front-end of the Java projects ,working within a team of 6 within a classic Agile SCRUM environment. Two of the projects were based on the popular ‘Spring‘ framework with the other using ‘Tapestry‘ and version control was SVN and GIT based respectively.
Dec’07 – Mar’08 Freelance Contract Web Developer
(Various appointments via agencies and private work).
Sept’00 – Dec’07 E-Learning Developer – College of North-East London
Developed e-learning tools mostly in Flash and designed, built and maintained the Music Technology Website. Also Lectured Web Multimedia and Music Technology up to degree level.