Career Profile

I have been working as a developer for more than 25 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 10 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 am a huge fan of the Laravel framework, which I have been using, professionally and personally, since version 4.2. I think it's one of the best out there, well the best in my opinion, as it's very easy to use, and to customised if you need to, easy to learn, offers an extensive library of packages and it's a joy to work with.

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.

At this point in my career I would like to take more of a 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

Backend Team Lead / Senior Laravel Developer

October 2021 - present
CareLineLive, London

I joined CareLineLive as a Senior Laravel Developer, but after a few months I was offered the opportunity to line manage a small team of two backend developers, along my other responsibilities as developer. I accepted because that was, and still is, the role I see myself into at this time in my career.

In my role as a developer I was heavily involved high-level analysis, technical design, and of course implementation. But I would also manage the Jira tickets, creating them, making sure they were groomed and ready for development, helping clearing blockers, etc.

Another aspect of my role as developer which I really enjoyed was mentoring. I was able to use my experience to guide the other developer, learn from my mistake, and grow as professionals.

But for the last year and a half I was also a line manager. This was new to me, but something I was looking forward to try doing. My responsibilities were probably the usual ones expected from a line manager: conducting quarter reviews, setting up objectives, making sure absence were recorded, etc. I also took an active part in recruiting our latest developer by reviewing the applications, and setting up and be part of the interviewing process.

PHP Developer

October 2020 - October 2021
Bumble, London

My experience at Bumble has been quite different from what I have been doing before. This is mainly due to the tech-stack, code practices and cultural shift at Bumble.

I am part of the Integrity team, looking after the Antispam, Data Integrity, Photo Moderation and other components, and in this role I

  • worked on a project to implement legislative requirements for a foreign market
  • improved interfaces used by Moderators for a quicker and more reliable moderation process
  • gathered and analysed data about bots prevention and auto-moderation

I have also been able to introduce Retrospective meetings as part of the journey to Agile

Applications Developer

October 2018 - October 2020
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 last six months at Shopworks, I was 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, I'm afraid, in a very bad shape at the moment.
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).
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 Subversion Git PHP GitHub MySQL PostgreSQL CI/CD Envoyer Forge Dusk Cypress Laravel Agile Scrum Scripting Linux Docker Jira

Skills & Proficiency

PHP

Laravel

MySql

PostgreSQL

Last update: 1 March 2024