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.