Independent Consultant
Information Technology/IT
Worldwide
English
I am an experienced software engineer and full stack web developer, having worked in roles ranging from analyst programmer in enterprise level telecoms CRMs, to server side PHP development on eCommerce and video hosting sites, to fullstack Javascript developer.
Key Skills: Full Stack Developer, Javascript, Node, React, Angular, AWS, CI/CD, BDD/TDD, Agile, Git, Apache, Nginx, Linux
Key Projects:
1.) re-architecting European Youth Portal React application code
2.) real time messaging system between banks and Saudi Telecom for automatic phone reconnection
3.) re-launch of BBC Newsround website using modular React components
4.) lead angular developer on a video hosting and SMS campaign site
5.) API Design and front end developer for software defined WAN devices, using Node and Angular 7 respectively
Responsible for re-architecting and rewriting the React apps used by the European Youth Portal to streamline development and library load sizes - making use of latest features such as React Suspense for lazy loading, React Context & Hooks, and Webpack code splitting.
This led to the ability to mount multiple small React apps (almost a React Widget library) in a Drupal CMS page, using multiple mount points - while targetting and loading only the code required by the current page. As opposed to having a mammoth React repository being loaded on every page where only a small part would be used.
Saudi Telecom has a large turnover of mobile customers, and have a system for disconnecting people who default on payments. What they required was a way of automating the re-connection of users when payments were received - and they wished to do this in real time. i.e. they wanted a customer to go in to a bank and pay their bill, and within seconds see their mobile service restored.
We achieved this by connecting Saudi Telecom AS/400 servers with the banks servers via IBM Websphere MQ messaging system - with an interim Oracle database for auditing and reporting purposes.
This was during my time working as a Programmer/Analyst on AS/400 RPG, SQL, and database analysis.
Working as a senior developer in the team tasked with revamping the BBC Newsround web site and moving it away from the old PHP platform and toward the use of modular and re-usable ReactJS components.
Code was written in ES6 with full unit and integration tests running via Jenkins servers connected to Git.
Code pairing was encouraged, mentoring junior starters to get them up to speed.
1 day a week remote working.
Lead AngularJS developer on a video hosting and SMS campaign site - in charge of releasing Videocloud v2.
Key technology points included integrating tightly with Amazon Web Services as the hosting platform, communication with restful APIs of SMS providers, tracking of the uploading and encoding of client videos, integration and maintenance of a MySQL database
Writing APIs for Software Defined WAN devices and back office GUIs for manual remote configuration.
The tech stack includes Oracle, Loopback, Express, Angular 7, Git, & Jenkins - deploying via Dockerfiles and Rancher.
This was 2 days a week remote working.
Fully Remote
Senior Developer working on AWS EC2, S3, RDS, Route53, Lambdas, Cloudwatch, & QuickSight analytics.
Moving away from EBS storage to S3 storage - also moving video encoding away from server driven FFMPEG to Amazon encoding service.
Moving away from single Apache/CGI server to load balanced Node servers.
Senior Developer brought in to help complete React and Angular projects in the lead up to the World Cup, working on William Hills online bet slip, a critical part of the web site.
Implementing a new API showing customers what concessions they have available to use, e.g. bet boosts & free bets.
Adding support for promotions where customers use online scratchcards that direct them to the bet slip with a bet added and a bet boost already applied.
Working on a warehouse production application aimed at tablet use on production lines - written in React and Redux (redux sagas) and interfacing to multiple Java APIs.
Working in agile sprints and using GIT version control - with one day a week remote working.
Projects included the development of a Universal React application template that could be used to quickly develop diagnostic flows for the help site. The Universal aspect being that the applications took advantage of React"s ability to be rendered on the server, improving SEO and Accessibility, and catering for browsers with Javascript disabled.
Sky provided a great work environment with occaisonal remote working
SignStix sells Android devices for digital displays in shops and businesses with a Cloud management interfacce.
This remote working role involves dealing with a complex mix of technologies from Apache, C++ and a CMS built in React, to AWS services, MySQL and APIs for thousands of IoT devices.
Many signs take advantage of IoT sensors such as cameras and RFID devices for interactive experiences, and bespoke signage solutions require flexible approaches and integration of new technologies like AI processing. We often take advantage of IoT communication protocols like MQTT, and occasionally websockets.
Working on multiple projects for clients such as BBC, European Union (Brussels), Morrisons, William Hill (Gibraltar), Colt, NHS Digital, HMRC.
All of these projects were agile in nature, and took advantage of my skills in full stack development, GIT, CI, AWS, Javascript, React, Angular, SQL, etc.
Javascript Developer working in a fully agile environment on web apps and APIs.
Full stack javascript from NodeJS to React, including ES6, & ES7.
Other key technologies include interfacing with external APIs such as Forecast.io"s weather service, the use of MongoDB"s NoSQL database, and Reddis for key-value caching.
Test driven development using Jest & Enzyme for unit testing, and Nightwatch JS & Selenium for end to end testing
Build tools includes Github, Gulp, Webpack with hot reloading, Babel.
Continuous Integration employed using a combination of Github, Heroku, and CircleCI to ensure all branches are automatically built and pass tests.
Also experience of Ruby development, RoR, Sinatra, and Cucumber, Capybara & RSpec testing.
Development of Videocloud version 2 - a video hosting, and SMS campaign site for companies to send video links for advertising campaigns. Using AngularJS 1.2, and Laravel PHP on the server with a MySQL database. Hosted on AWS EC2 and RDS.
Also, development of an in-house video encoding server for https://www.aerialclips.com/ using PHP Laravel, and FFMPEG; And the set up of company Confluence & Jira servers for the recording & sharing of software documentation, as well as the tracking of issues.
Key development technologies included Angular JS, Laravel PHP Framework, HTML5, CSS3, Git, MySQL, Grunt, LESS, Amazon Web Services (AWS), and FFMPEG video encoding, and testing with Karma for unit tests and Protractor for end to end tests.
PHP & MySQL developer at Ebuyer.com
As well as small site changes and maintenance, projects included an internal web site for the creation and management of email marketing campaigns, tailored to a customer's browsing history while taking in to account current offers and promotions. Including the templating and creation of responsive HTML emails.
HTML5, CSS3, PHP5, MySQL5, Javascript, JQuery, AJAX, Bazaar version control, GIT, Vagrant & Puppet
Variety of paid and voluntary work mainly PHP based including major rebuild and customisation of a PHP ModX CMS site, and re-development of existing website designs to be responsive.
Working my way around the world with various temporary jobs as a long break.
Contracting to IBM (Saudi Business Machines) to work on Saudi Telecoms AS/400 based Customer Management System
IBM AS/400 Analyst Programmer working on IBM Telecommunications software. SQL, RPG/RPGLE, CL, & IBM WebSphere MQ.
Programmer Analyst in charge of billing and discounting for Saudi Telecom responsible for maintenance and development of new features.
One key project was the development of a real time payment interface between the banks and Saudi Telecom to allow for the reconnection of barred mobiles within seconds of a customers bill being paid at the bank. Using IBM's enterpirse message queue solution, and an Oracle database for reporting and auditing.
Progressing to Business Analyst for Chieftain Business Solutions through IBM for Saudi Telecom in Riyadh.
AS/400 Database Analyst & RPG Programmer
Worked on various cable/telephony customer management systems throughout Europe, using SQL, RPG, and CL
SQL Relational Database Analysis
Migration analysis and programming for large Telecommunications companies moving to use IBM's Integrated Customer Management System (ICMS), working on site at customer premises from London & Brighton (Nynex), Gibraltar (GibTelecom), Helsinki (Telia Finland Oy), and Luxembourg
University of Bradford - 1 year MSc in Computing Science
University of Newcastle - 3 year BSc in Microbiology
A Levels in
Maths
Biology
Chemistry
O Levels in
Maths
English
Physics
Chemistry
Biology
Geography
History
French
Religious Studies
Professional Scrum Training taken when I worked for Sky UK in Leeds in 2016