Career Profile

I have been working as a developer for more than 20 years. I started as a C developer and did that for more than 10 years. I then realised my future as a C developer was limited to legacy code. So I decided to move into Web Development and got a CoHE in Web Design Technologies, just to make sure I got the basics right.

During my almost 9 years as a Web Developer I learned a lot, about coding standards, Design Patterns, DRY and SOLID, agile and scrum, DB optimisation, UI and UX, TDD and BDD, and much more.

I'm passionate about writing clean, clear, documented, testable (and tested) code. I particularly enjoy refactoring legacy code. It's quite satisfactory to see the transformation of a set of unstructured and tangled code into a beautifully clean and well-organised collection of code.

I also like mentoring developers. I have had the opportunity to be able to advice and guide developers, and I found myself naturally becoming a point of reference for them. I found it very gratifying to help someone becoming a better developer.

I am now at a point in my career where I would like to take a more driving seat. I would like to progress into a more managerial role, but where I can still also have an impact on the technical direction of the company. I think I would be well suited to support the wider management team and implement best practices, to help identify the right expertise needed, and to work to support team morale and help team members to achieve their goals.

Experiences

Applications Developer

October 2018 - present
Shopworks, London

My main job still remains a development job, but I took an interest in the processes more than the code and I was able to pursue it.

I have helped the Scrum Master setting up meetings, making sure we stay focused on the agenda and have actionable items at the end. This sparked my interest in Scrum Mastery.

In the past six months, I have been involved in the reshaping of our Support team and processes, which I enjoyed.

In my capacity as "Product Owner", I was able to

  • rationalise the way tickets were triaged, refined and worked on
  • plan and manage the weekly Sprint and set goals for it
  • make better use of our client's UAT, by making sure one ticket at a time was being tested
  • be involved in high-level overview and planning of clients' projects
  • start a conversation about the sort of ticket to assign to the Support team, rather than other teams
  • contribute to the planning and composition of a new Support team

In my role as PHP developer I

  • instigated a project to brand all emails, for uniformity of style and look&feel
  • was involved in enforcing code-design standards and improving test coverage
  • built a middleware to import data from a third-party HR system into our core Product, using our own and 3rd party APIs

Lead Backend Developer

April 2017 - August 2018
London Review of Books, London

I was hired to lead a team of developers for a digital transformation project.

Although that prospect did not materialise, I was able to work closely with developers, managers and other stakeholders.

  • checked and documented the current architecture and processes, and then proposed a more modern, reliable and scalable solution based on AWS, and implemented it for development
  • instigated and conducted training sessions with the publishers, authors and other non-technical personnel about the Agile methodology, the benefits of incremental improvements, the advantages of the distributed architecture proposed, and the importance of frequent deployment to improve subscribers' feedback.
  • liaised with the Product Manager and CTO to identify the skills and roles needed for a cross-functional team
  • managed the front-end developers in terms of daily tasks, sprint deliverables and project goals
  • established the direction for FE development
  • worked with the Product Manager to setup a Roadmap for the project
  • setup CI and CD, using GitLab and Envoyer
  • started the rewriting of the website, gathering requirements, writing tests and code, preparing for demos, etc.

Backend Developer

January 2017 - March 2017
Your Favourite Story, London

In my short experience at YFS, I built RESTful API using Lumen 5.2 to upload files to a 3rd-party file server and to support a users kiosk to be put up in some of the client's shops.

Web Developer

January 2016 - December 2016
City A.M., London

I was part of a small but tight web team (three developers and one designer). The web team was mainly responsible for the in-house CMS and the website.

During my time here I:

  • oversaw the upgrading of the site and the CMS from Laravel 4.2 to Laravel 5.2
  • worked alongside the designer to re-brand the site
  • built a new API server in Lumen 5.2 to power some part of the site (we were working to refactor some heavily used pages to SPA)

My daily work involved using GIT for branching and merging and Jira for tickets and general development cycle.

PHP Developer

January 2011 - October 2015
Mediatel, London

At Mediatel I was involved in designing and implementing a data loading process from different providers. The loader used an XML configuration file to define what, and sometime how, to import.

I was also responsible for the development of their new Events website. This involved building both the back-end, using Zend Framework 1, PHP and MySQL, and the front-end, using JavaScript and jQuery. I also implemented a payment facility, using PayPal APIs. As the principal member of the team involved in this project, I:

  • gathered business requirements and turned them into technical requirements
  • organised meetings with the stakeholders to keep them informed
  • provided support and training on how to use the new admin side of the site.

I was also involved in the development of a mapping feature in our core product using PostGIS, TinyOWS, Mapnik and React.

Finally, during my last couple of years at Mediatel, I mentored a Junior Developer on Mediatel products, our coding standards, Zend Framework and general OOPHP.

Technical Consultant

August 2006 - December 2010
Linedata Services (UK) Ltd, London

  • Developed a framework of Perl scripts and classes to help Subversion administrators and users
  • Provided internal and external technical support
  • Managed the migration from CMS on OpenVMS to Subversion on Linux

Analyst Programmer

March 2001 - August 2006
Linedata Services (UK) Ltd, London

  • Added new functionality and scripts to help developers and tester in using subversion
  • Co-managed, designed and developed the Subversion system, a Control Management System, for few of our products
  • Improved the development process on Unix platforms with scripts (written in ksh and using awk and sed) for developers
  • Developed a new connector to retrieve market data from specific vendors
  • Designed a new functionality to import financial data from an external source via XML. The XML document was written against a XML Schema
  • Developed for a real time back office investment management, administration, portfolio valuation and investment reporting solution. The product is platform-independent, with only a small kernel developed for a specific environment

Analyst Programmer

June 1998 - November 2000
S.T. – Sistemi Telematici, Palmanova (Italy)

  • Coordinated a group of 5 programmers in a redesigning project. The code was written in C and COBOL, with embedded SQL. All the procedures ran on a Unix machine with Informix
  • Developed, upgraded and managed applications to administrate vehicular traffic for a motorway company. The procedures were written in C with embedded SQL, and ran on a AIX machine with IBM Universal Database
  • Developed software for a business firm. All coded in COBOL with Embedded SQL. All procedures ran on a Unix-like machine in a Task Manager environment (CICS)

Projects

Most of my work has been done when working and is therefore copyrighted. Here are the few examples of projects I am working on or have contributed to

London Volleyball Association - This project started as an attempt to write a more modern site for the LVA League Admins in Laravel. It is now a sort of showroom project for my Laravel and soon VueJs skills.
iCal - A fork of the original markuspoerschke/iCal repo, to which I contributed.
Laravel Framework - This is a fork of the original laravel/framework repo. I used it to work on a couple of PRs I submitted (and were accepted).
Docker image - This repository contains the Dockerfile I used to create an image I want to use in my projects (currently only on the London Volleyball Association one). The idea of the project is to give me a consistent and reliable development environment without the need to download any tools, apart from Docker.
GitLab Deployments Status - On one of my jobs I had the need to quickly find out which branch was deployed last to one of our client. And since I wanted to get some experience with VueJS and Vuetify, this seemed a good opportunity to do just that. It's a SPA which allows the user first select the GitLab project they are interested in, then a searchable table of all the environments for that project is displayed. Finally the user can see the details of the last deployment in any of the environments.

Tools

GitLab CircleCI Subversion Git PHP JavaScript VueJS TravisCI GitHub MySQL PostgreSQL CI/CD Envoyer Forge Dusk Laravel AWS Agile Scrum Perl Scripting Linux Docker Jira Trello Redis

Skills & Proficiency

PHP

Laravel

MySql

Javascript & jQuery

Docker

VueJS

Last update: 02 April 2020