David - Consultant informatique

Un conseil que tu aimerais donner à un jeune qui veut faire le métier de consultant informatique ?

« Avoir confiance en ses capacités, mais rester humble. Beaucoup de jeunes ont tendance à être un peu prétentieux lorsqu'ils sortent de l'école, car ils connaissent des nouvelles technologies que les "anciens" n'ont pas encore eu le temps d'appréhender.

Cependant, l'expérience joue un rôle primordial dans la façon de faire face à un problème. Bien souvent, ils n'ont pas encore le recul nécessaire et foncent tête baissée.

Pour finir, il faut être curieux, ouvert d'esprit, et  surtout faire régulièrement de la veille technologique pour se tenir à jour.»

Quel est ton langage de programmation préféré, pourquoi ?

« Mon langage préféré est le Java pour plusieurs raisons. Tout d'abord, c'est un langage orienté objet, ce qui permet de bien structurer le code.

Ensuite, il n'y a pas de gestion de la mémoire comme par exemple en C, puisque le « garbage collector » s'occupe de ça tout seul. Le Java est également un langage que l'on retrouve partout : dans des applications, sur les téléphones, dans des applets...

Pour finir, Java dispose d'une grande communauté, ce qui est pratique lorsque l'on bloque sur un problème particulier.»

Qu'est-ce qui fait que tu aimes ton métier ?

« J'ai toujours aimé passer du temps à créer des choses et à les voir prendre forme. Étant petit, je faisais cela avec des jeux Lego et Meccano. Aujourd'hui, c'est avec des applications informatiques. 

Créer une application ou un programme qui répond à un besoin est très gratifiant, et c'est pourquoi j'ai choisi de m'orienter vers ce métier. On développe fonctionnalité par fonctionnalité, bloc par bloc, et on voit le tout prendre forme au fur et à mesure.

Je suis également amené à intervenir sur différentes étapes d'un projet : analyse des besoins du client, rédaction de spécifications, développement, tests, livraison, support... Cela me permet d'avoir une vision globale et de ne pas rester enfermé uniquement dans la programmation. D'ailleurs, je trouve que l'image de l'informaticien qui reste dans son coin et qui passe son temps à programmer n'est plus vraiment d'actualité aujourd'hui.»

« Étant petit, je faisais cela avec des jeux Lego et Meccano. Aujourd'hui, c'est avec des applications informatiques. »

Florian - Responsable de projets informatiques

Quel est ton langage de programmation préféré, pourquoi ?

Professionnellement parlant, C# est un bon langage pour le développement Web. Il permet d’obtenir facilement un code clair et maintenable.
D'autres langages sont également très intéressants, notamment dans le domaine Web comme Ruby, avec Ruby on Rails.

Personnellement, je m’intéresse beaucoup à Haskell afin d'apprendre un langage réellement différent.

Mon langage préféré est, soit Python pour sa simplicité d'écriture, soit C++ car il s’agit de mon premier langage « orienté objet ».  Le typage est statique et il offre une transparence dans son fonctionnement.

Quelle est la dernière information technologique qui t’a soufflée ?

L'entreprise SpaceX a réussi l'envoi de sa fusée autoguidée et équipée d'une capsule capable d'accueillir des passagers. La capsule a pu s'amarrer parfaitement à la station spatiale internationale et retourner ensuite sur Terre.

De plus, les lanceurs ont pu retourner sur Terre indemnes. Ces lanceurs pourront donc être réutilisés pour envoyer d’autres astronautes et ainsi réduire les coûts de lancement.

Sur le long terme, cela permettra de faciliter le transport spatial grâce au mode automatique.

Comment distingues-tu un bon logiciel d'un mauvais ?

Un bon logiciel est un logiciel avec très peu de bugs, simple et agréable à utiliser.

L’implémentation de nouvelles fonctionnalités doit être facile et le code clair et simple à maintenir.

Décris-nous une de tes astuces de test logiciel ?

La mise en place de tests automatisés dans le code avec l'aide de "mock" est un bon moyen pour valider la sûreté du code.

Cela consiste à prendre une méthode à tester, et à l'appeler avec des paramètres aux valeurs très différentes. Le code responsable du test compare la valeur retournée par la méthode à tester avec la valeur attendue, et valide ou non la méthode.

Les tests automatisés impliquent aussi de séparer les couches applicatives pour utiliser les "mocks", ce qui est une bonne chose.