Meetic
I joined Meetic as a developer and contributed to the product evolutions within a SCRUM team.
Then, I joined the CORE team to participate in the redesign of the site’s architecture and in particular to promote modern development practices and industrialization tools. The goal was to create new APIs, to promote and implement TDD, and CI/CD tools.
I also actively participated in the training of the teams.
Product Developer
First, I joined Meetic as a developer in a SCRUM team. I participated in the development of new features and the improvement of others.
- PHP4 with PHP4 interpreter :-)
- SCRUM Methodology
- Team working (Tester, Integrator, Scrum Master and Developers)
CORE developer
Then, I quickly integrated the CORE. SCRUM was done for me at this time because projects are not the sames. They are with multiple teams, and does not require work on regular basis. I actively participate in the creation of new development process related to the new architecture in preparation.
The new architecture is based on the SOA principle. SOA stand for “Service Oriented Application”. THe main goal is to make the entire platform easy to update, upgrade and modify. The starting point is a php4 monolithic application that need to be cut and re-worked.
I participate in creation of Proof of concept that allowed us to know which of the following framework was best suited : Symfony2, Silex, Zend Framework 2. Symfony2 was selected.
I had to teach, to french developers at meetic, Object oriented programing in order to make them ready to work on Symfony2. During the formation I had to teach some design patterns and the general usefulness of them. I had to explain the new Continuous integration process and all meaning of metrics we were using. And to finish, TDD (Test Drive Development) was a challenge too.
- Design > * UML Diagrams with * Astah*
- REST contract definitions
- Test Driven Development methodology (TDD)
- Usual Design patterns commonly used in Symfony2
- Pedagogy
In parallel, I also setup all the Continuous integration chain. First with Bamboo, for deployment and JIRA integration, then with jenkins for the dev continuous integration. Jenkins made possible things tha were not with Bamboo.
Developeur qualité & industrialisation
After few month, I integrated the “Quality & industrialisation” service newly created in Meetic. I was full time on Industrialisation matters and promotions of quality in early stage of development. I setup all theses tools & methodology :
- Gitlab
- Jenkins
- Bamboo
- Home made tools for dev deployment
- TDD, BDD wiht Phpunit, Behat & Protractor
- Phpmd, phpcs, phpmetrics, …
- Docker for automated testing purposes.
Lead Developer
At the end of my Meetic experience, I was promoted as Lead Developer. I had the charge of a development team. This team was between a product and technical development team such as the CORE (now dissolved).
We continued projects of fund and refactoring, but also started new projects.
Summary
Here a sumary of what I will remember from Meetic :
- Extraordinary peoples
- Php > * Phing
- Phpunit
- phpcs, phpmd, phpcpd, phpmetrics, …
- Symfony2
- REST web services
- Dispensing training and helping others
- UML (Mostly Class & sequence diagrams)
- Continuous integration & continuous delivery (Setup & usage)
- Bamboo, Jenkins
- Git & Gitlab
- Capistrano