Chez Stonesoft
Par philippe le vendredi 29 avril 2011, 11:59 - artisan du logiciel - Lien permanent
Voilà plus de dix années que je
travaille pour Stonesoft et je n'ai jamais posté de billet en relation avec mon
travail. La culture du secret au sein d'une société de sécurité en est peut
être la raison principale, à moins que ce ne soit ma façon de bien séparer la
partie professionnelle où je suis payé pour effectuer une tâche et la partie
personnelle ou j'aime à croire que je suis libre d'explorer les voies qui me
chantent.
Je travaille depuis plus de deux ans sur le projet ssl vpn qui est un
portail d'accès web sécurisé https/tls à des resources réseaux. Ce projet est
l'intégration d'un produit tiers dans notre solution. Ce produit comporte lui
même quatre composants et notre produit comporte au moins trois composants,
l'intégration couvre de nombreuses plateformes ( Linux, Windows, MacOS, divers
mobiles : Android, iPhone/iPod/iPad, applets java ), de nombreuses
technologies ( tomcat, webapp, tapestry, hibernate, openssl, webmin, ipfilters,
xml parsers ) et protocoles ( telnet, ftp, ssh, rdp, ssl, saml, oath, ...) et
de nombreux langages ( java, C ( userland & kernel), C++, python, perl,
bash, javascript, html ) .
Relativement autonome dans mon équipe, j'attends aussi que mes deux
collaborateurs fassent preuve d'initiatives et d'autonomie. Nous appliquons
autant que faire se peut la méthode scrum dont je suis le garant en ma qualité
de scrum master. Ma position de chef d'équipe ne m'empêche aucunement de
continuer mon activité de développement au même titre que mes collègues, ainsi
je fais aussi office de référent technique sur les parties que je maîtrise. Mes
collaborateurs ont eux-même leur domaine d'expertise afin de couvrir toutes les
fonctionalités du produit.
Ma machine de développement est un Dell avec 8GiO de mémoire sous Fedora 12
64bits, sous laquelle j'utilise VMWare Player pour mon système Windows Vista 32
bits et pour émuler nos appliances (Linux / intel based). Ma machine dispose de
deux écrans larges ce qui me permet de laisser windows à gauche ou bien eclipse
et mon bureau à droite avec le wiki et mes notes. J'utilise un Wiki pour
maintenir mes commentaires et la documentation technique en faisant
systématiquement des liens sur les entrées de Bugzilla qui est notre outils de
suivi des bugs et des améliorations. Le wiki est un instrument de travail
collaboratif important même s'il ne s'adapte pas à tous les usages. Lors de
scéances de débogage ou de recherche j'utilise Tomboy pour prendre des notes (
classiquement je copie-colle des logs ou des traces dans tomboy ), je n'utilise
pratiquement plus de cahier, ce que je faisais beaucoup auparavant. La
compilation à proprement parler a lieu sur des serveurs Ubuntu 64bits à
l'intérieur d'un environement chrooté 32bit qui contient les libraires de
développement relatives à nos appliances. L'environement de build est un mix
entre le packaging debian et des outils développés en interne.
Ils ne se passe jamais une semaine sans que j'ai à changer de sujet, passer d'un problème kernel à un problème de génération de documentation, du bash au C et du java à perl... Du fait de la nature même de notre projet il requiert une attention particulière dés qu'un changement des parties tierce à lieu, entre le changement du code du produit tiers ( que nous recompilons intégralement ), le changement du contenu de la plateforme de notre appliance, le changement dans le code de notre solution de controle centralisée, et le retour des clients pour l'extension ou la correction de problèmes, nous ne sommes jamais en sous-activité. Ajoutez à cela une certification russe et l'intégration de protocole de cryptographique russe (GOST) et l'extension du support de nos composants sur de nouvelles plateformes, nous ne chômons pas.