Career Profile
I have been working as a developer for more than 25 years, starting with COBOL, moving to C for many years, and eventually settling on PHP for web development. I have use different RDBMS like Informix, MySQL, and PostgreSQL, and different OS, although usually *nix based.
I write clean and clear code, following coding standards, design patterns, and DRY and SOLID principles. I consider testing a first-class aspect of development, rather than an after-thought. Which is why I appreciate TDD and BDD and I regularly write unit and integration tests, as well as end-to-end tests.
Although my framework of choice is Laravel, which I have been using personally and professionally since version 4.2, I believe myself to be a framework-agnostic developer, and able to work with Symfony or any other modern framework.
I have been part of many cross-functional teams, and worked along, and together, with frontend developers, designers, UI and UX experts, and QA engineers. I am verse in Agile and acknowledge its advantages and flaws.
I 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 find helping someone becoming a better developer very gratifying.
Work history
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.
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 developers, 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.
My experience at Bumble has been quite different. Due to their tech-stack and code practices, and the cultural shift at Bumble, I didn't really learn much from a technical point of view.
They were however on a journey to Agile, and I was able to introduce retrospective meetings which were very much welcomed.
As a developer I was introduced to DDD, which I found intriguing and thought provoking, GitLab pipelines for CI, and Continuous Deployment. We were deploying every day (no Fridays of course), which resulted in faster bug fixing and increased customer satisfaction.
Other achievements I am proud of include being able to work on coding standard, and how to enforce them (with local tools and CI pipelines), and creating an integration with a 3rd-party HR system.
I was also able to expand on my knowledge of Agile, and Scrum in particular, by shadowing the Scrum master. I get the aversion many people have around the Scrum ceremonies, but I do believe the Agile methodology is one of the best that came out in a long time.
In my last six months, I was involved with our Support Team, which was responsible for some of our biggest clients. I was tasked with helping smoothing the relationship between them and the development team. It was challenging, but by taking small steps and clearly explaining the reasoning behind each of them and how they could help, I was able to decrease the ticket resolution time by 10%. The clients were also better informed on the activity of their tickets which resulted in a reduction of 20% of duplicate tickets raised.
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
- instigated and conducted training sessions with the publishers, authors and other non-technical personnel about the Agile methodology, the benefits of incremental improvements, 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 and to setup a roadmap for the project
- managed the team's workload in terms of sprint deliverables and project goals
The web team was mainly responsible for the in-house CMS and the website. During my time we migrated from Laravel 4.2 to 5.2, but thanks to very comprehensive test suites, it went smoothly. I will never underestimate the importance of tests.
I also wrote many RESTful APIs, in Lumen, for a SPA. This was the first time I used a Design First approach, with Swagger.
My work at Mediatel involved using the Zend Framework (version 1), with MySQL and Subversion, for general bug fixes and new features.
My main achievement was delivering a new website for their events side of the business. This meant gathering requirements, liaising with stakeholders, carrying out demos, etc. As part of this project I developed both backend and frontend, with vanilla JavaScript and jQuery. I also worked with PayPal APIs to integrate a payment facility.
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.
As a C developer I was involved in the development of one of their flagship product, a real time back office investment management, administration, portfolio valuation and investment reporting solution.
I also delivered a project to migrate our versioning system from OpenVMS to Subversion. As part of that project I wrote a framework, in Perl, to help developer using the new system.
My last years, as a Technical Consultant, focused on 2nd line support.