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.
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
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.
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.
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.
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.
- 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.
- 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
- 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
- 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)
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