Antidot Engineering practices

Software quality and robustness largely depend on the development methods in place. We can proudly say that Antidot applies state-of-the-art practices, with a constant effort to sharpen our methodology.

Software engineering

We apply state of the art techniques and good practices when coding. Our software is built using the continuous delivery paradigm.

  • Code is versioned in an internal Git source control system: all changes are logged and monitored
  • Our products are built using the latest versions of C++ , Java and Python (currently C++14, Java 8 and Python 3.5). We apply security patches and bug fixes to the third libraries that we use. Software is built using the continuous delivery paradigm
  • For every feature or bug fix, a topic branch is created. Jira epic/stories/tasks are created to track the development and our SCM tools (Gitlab CI and Jenkins) are linked to Jira.
  • A bug fix commit is not accepted without a test proving the issue is really fixed.
  • Code is written in pair mode and/or a merge request is created for review.
  • Code includes unit tests, functional tests and large tests involving all components.
  • These tests are run for every commit (several thousand tests).
  • Branches can be merged into a release branch only after review and if CI status is still ok.
  • Every commit on a release branch that leaves CI green (including large tests) creates an installation candidate. It usually takes about an hour for a valid commit to produce an installation candidate.
  • Each night additional tests that recreate a full day of production are run on the latest installation candidate, including stress and recovery tests.
  • Every week (or more often if required) we cherry pick the « best » candidate of the week (usually the latest) and deliver it to our customers (release note + updated package repository).

Code analysis

  • Code coverage and static analysis tools are frequently run (Sonar,CppCheck, SafeHTML …).
  • Penetration tools are frequently run.

DevOps

  • DevOps feedback loop provides quick feedback to developers about installation, upgrade or production issues.
  • Our Ops team can (and will) refuse to install a version if they are not confident with its quality.
  • Our Ops team uses state of the art monitoring and automated deployment tools (Puppet, Ansible, FAI …).  Our servers are regularly cleaned and reinstalled automatically.
  • Container technologies (LXD, Docker) are heavily used to isolate environments and to ensure that our software can be built, installed and run from a bare OS installation.
  • When preparing rollout of major update, DevOps transversal teams perform non-regression, performance and stress tests of the new binaries (“you build it, you run it”).
  • A/B techniques are used to progressively roll out new versions in our Cloud. Changes and user behavior are monitored in real time and can remove a new version from production if required without having the need to rollback software or databases.
  • Feature toggles enable progressive rollout of new features to selected customers.
  • HipChat rooms are used internally for efficient communication between Dev, Ops, internal Professional Services users, …

Agility

  • Teams work in Agile mode, using Scrum, Kanban or in-house mix of various Agile methods.
  • All teams use the same rhythm: iterations of 3 weeks, at the end of which retrospectives and review ceremonies are held.
  • Our managers and developers frequently attend Agile Tour meetings to challenge and update their skills.

Culture

  • Our developers are passionate, they attend several conferences per year (DockerCon, Fosdem, Devoxx …) and go to local meetups and JUGs.
  • Every week a developer talks in front of his peers of a specific technological topic (30 minutes).
  • Hackathons are held to foster innovation.
  • Frequent meetings are held between stakeholders (Product owner, Support and Professional Services managers, Pre-sales staff, Top management ….) to ensure that everybody is focused on providing value to our Customers.
  • Professional Services teams lead a review meeting after completion of customer’s projects. This review provides feedback to developers and ops, allow fine tuning of the backlogs. This also allow Support staff members to gain project knowledge.

Le Magentolive est de retour en France pour notre plus grand plaisir.

Le Bargento et le Magentolive ont fusionné, nous serons encore plus nombreux à participer à ce grand rassemblement de l’écosystème Magento, les 06 et 07 Février à Paris.

Le programme a été dévoilé et de nombreuses animations en plus des conférences et tables rondes sont proposées. On espère donc vous retrouver lors des nombreux moments dédiés au networking et bien sûr sur notre stand 😃.

Magentolive : l’événement incontournable pour échanger sur les bonnes pratiques et trouver de nouveaux partenaires.

Le programme varié de Magentolive cette année permettra au plus grand nombre de trouver son bonheur :

  • Participer à des créneaux horaires dédiés au networking pour faire de nouvelles rencontres entre professionnels.
  • Assister à des conférences pour mieux appréhender les nouvelles tendances.
  • Découvrir les nouveautés de Magento 2, les prouesses techniques de cette nouvelle version.
  • S’informer sur les nouvelles solutions techniques qui permettront à tous de proposer des sites e-commerce plus efficients.
  • Faire le tour des stands pour rencontrer de nouveaux partenaires, fournisseurs, clients …

Découvrez sans tarder l’intégralité du programme et préparez votre venue !

 

La culture de l’innovation chez Antidot : les conférences

Un éditeur de logiciels innovants se doit d’entretenir une culture de l’innovation au sein de ses équipes. Chez Antidot, nous utilisons plusieurs outils pour cela : les Brown Bags, les Ship It, le développement de prototypes, la publication de logiciels en Open Source

Il est important de compléter cette palette en ajoutant de l’entropie – être ouvert à d’autres idées, à des méthodes de travail alternatives – et en veillant à rester informé des dernières évolutions des techniques, langages et frameworks que nous utilisons. Pour cela nos développeurs participent à des évènements, grands ou petits, locaux ou internationaux, tout au long de l’année.

L’objectif de ce billet est de vous présenter les nombreux évènements auxquels nous avons participé en 2015. Chacune de ces manifestations est illustrée par le témoignage d’un développeur qui y a participé :

FOSDEM – 31 janvier et 1er février 2015, Bruxelles

Aurélien : « J’ai eu l’occasion d’assister au FOSDEM à Bruxelles en 2012/2013/2014/2015.Un moment formidable pour rencontrer et échanger avec la communauté open source et les représentants de ses projets les plus populaires : Linux, Firefox, Gnome, KDE, Python, … Tout ça autour d’une bonne bière belge et d’environ 5000 amis barbus. Vivement le FOSDEM 2016 et son 5ème t-shirt pour tenir toute la semaine. »

Devoxx France – 8-10 avril 2015, Paris

Hervé : « Devoxx France, c’est l’occasion de découvrir de nouveaux outils, de nouvelles bibliothèques mais aussi d’avoir des retours d’expériences. »

Mix-It (16-17 avril 2015, Lyon

Mathias : « Outre le fait que Mix-It permet de prendre du recul sur son travail quotidien, les diverses conférences et ateliers sont des lieux pour rencontrer des gens passionnés et passionnants. Alors n’hésitez pas à participer à ce type d’événement ! »

Riviera Dev – 11-12 juin 2015, Sophia-Antipolis

Jonathan : « 2015, l’année du reboot de Riviera Dev. Après une dernière édition annulée faute de participants, la conférence du soleil renaît, poussée par un crowdfunding auquel nous autres sudistes nous devions de contribuer.

Si petite en renommée elle est encore, grande en qualité Riviera Dev est déjà ! Durant deux jours, les tracks sur Java et le Web s’enchainent. Et parmi les intervenants, on retrouve des pointures de Java (Rémi Forax, Emmanuel Bernard…) et de son écosystème (Tugdual Grall…), mais on découvre aussi de très prometteurs speakers (Hubert Sablonnière…). Et pour varier les plaisirs, il était aussi possible de s’attaquer aux ateliers sushis et DJaying !

Et puis parce que dans le Sud on sait recevoir, on retiendra aussi l’excellent buffet et la socca à volonté, le tout sous un soleil brûlant ! Riviera Dev, à suivre et à soutenir ! »

DockerCon – 16-17 novembre 2015, Barcelone

Charles : « Faire le déplacement à Barcelone pour la DockerCon 2015 m’a permis de sortir de mon cadre de travail habituel pour découvrir d’autres façons de travailler et échanger avec des développeurs du monde entier !

Liste des points positifs : une prise de recul sur son travail et l’environnement qui va avec, de nouvelles idées à mettre en place dans l’entreprise, l’envie de partager avec les collègues, un regain de motivation pour améliorer la qualité de son travail et sa productivité, une synergie accrue avec les développeurs qui ont fait le déplacement ensemble. »

Agile Grenoble – 19 novembre 2015, Grenoble

Benjamin : « Agile Grenoble 2015, une conférence qui permet de découvrir des méthodes utiles au quotidien pour plus d’efficacité et de convivialité dans le développement, et également pour se poser plein de questions sur nos habitudes quotidiennes! »

DevOps Day – 20 novembre 2015, Marseille

Franck : « Il est agréable dans notre région d’avoir désormais un évènement avec des intervenants de qualité, sans trop de langue de bois, et qui amène à une réflexion sur l’évolution de nos métiers et de leurs outils.

Le discours est plutôt orienté technique, avec des retours d’expériences concrets qui donnent une valeur inestimable à ce genre d’évènement. J’espère que la sauce va prendre et que la prochaine édition sera aussi bien que cette première édition. »

NDLR: le terme "bull*t" du texte original a été remplacé par "langue de bois" :-)

Nous participons également à des réunions « locales » plus courtes, en soirée,

Mars Jug – environ tous les deux mois

Olivier : « J’aime aller au MarsJug car on se fait une ou deux voitures de développeurs et on débat entre nous pendant toute la route Lambesc – Marseille !! Souvent, on trouve un speaker sympa et très accessible car c’est un JUG où nous sommes peu nombreux. Ensuite on refait un roadtrip pour rentrer avec en plus le défi de trouver un Quick ou un MacDo ouvert tard le soir. C’est la belle vie !! »

NDLR : Et les Burger King alors ? :-)

Meetups Docker – 16 avril et 16 juillet 2015, Aix en Provence

Benoit : « Les meetups Docker nous ont permis de rencontrer d’autres industriels de la région qui travaillent sur des problématiques proches des nôtres. Le retour d’expérience a été enrichissant. Ces rencontres nous ont même permis de recruter ! »

Nous avons par ailleurs présenté des sessions dans les conférences suivantes :

Agile Aix/Marseille 2015 – Aix en Provence

« Vos tests on besoin d’amour » par Benoit Sautel, qui tient le blog « Fier de coder« .

Blend Web Mix 2015  – 28-29 octobre 2015, Lyon

« Web sémantique, web de données : et si on passait à la pratique » par Pierre Col et
Julien Homo.

Julien Homo : « Pour moi l’originalité de BlendWebMix repose principalement sur sa capacité  à proposer des conférences à un public très hétérogène avec un contenu au périmètre très large. On peut à la fois écouter par exemple Laure Wagner nous raconter l’impressionnante croissance de sa société Blablacar et inversement assister au touchant témoignage de Simon Dawlat qui raconte la chute de son entreprise AppGratis et la vertigineuse descente aux enfers subie ensuite par son équipe. D’un point de vue plus technique, Stéphane Bortzmeyer nous apprend qu’il est possible de hacker directement des registres de noms de domaines tandis que le graphiste Christophe Tauziet de Facebook nous met en garde sur l’impact qu’engendre la moindre modification d’une interface vue par des milliards d’utilisateurs. Autant de sujets à la fois riches, variés et animés par des présentateurs souvent très dynamiques font pour moi de cette conférence un rendez-vous incontournable des différents acteurs du Web d’aujourd’hui et de demain. »

Enfin notre pôle Recherche a animé deux sessions pédagogiques en la personne de Ludovic Samper :

« En 2015, j’ai eu l’occasion de présenter nos travaux à deux occasions : aux élèves de l’ENS de Lyon et lors de l’école d’été WISS. C’est très plaisant de présenter nos travaux au monde de la recherche. Le travail de préparation permet toujours de mieux cerner son sujet. Et surtout, les chercheurs et les étudiants sont intéressés par les problématiques que l’on rencontre dans un contexte plus industriel que le leur. Cet échange peut être l’occasion de commencer des collaborations ou des stages. »

Conférences auxquelles Antidot a participé en 2015

Si vous êtes tentés par l’aventure, si vous voulez participer avec nous à ces évènements…

Antidot recrute !