Affichage des articles dont le libellé est université. Afficher tous les articles
Affichage des articles dont le libellé est université. Afficher tous les articles

dimanche 10 mai 2009

Première semaine de stage

Les paragraphes qui suivent vont résumer les premières impressions que j'ai eues lors de ma première semaine de travail.

Entreprise
Premièrement, je fais mon stage dans une petite entreprise (~15 employés) nommée Aurora MSC. Aurora oeuvre dans le domaine médical en fournissant aux médecins un portal web leur permettant de transférer des cas vers des spécialistes ou faire du "peer review". Aussi, Aurora développe une application permettant de transférer et de visualiser des images d'échantillons numérisés à l'aide d'un microscope numérique. Puisque ces images peuvent atteindre plusieurs gigaoctets de taille, il faut utiliser une méthode efficace pour les transférer en chargeant seulement les morceaux de l'image qui sont utiles. De plus, Aurora offre un portal éducation permettant aux étudiants en médecine d'avoir des exemples de cas, porter un diagnostic et de répondre à des quiz. Aurora est situé sur le boulevard René-Lévesque Ouest à Montréal, à la hauteur du métro Lucien-L'allier, donc près du centre-ville et très près de la rue Crescent.

Environnement de travail
L'environnement de travail est beaucoup plus décontracté que de ce j'ai été habitué à voir lors de mes stages précédents. En effet, pas besoin d'avoir un badge avec photo en permanence sur soi ou d'avoir une autorisation de sécurité pour entrer dans l'aire de travail. Aussi, je n'avais pas besoin de remplir une foule de documents d'une utilité douteuse. De plus, on est libre de choisir notre horaire pourvu qu'on soit là de 11h à 15h. Aussi, on est maître de notre ordinateur : on choisit le système d'exploitation sur lequel on veut travailler, l'environnement de développement (IntelliJ IDEA est fortement recommandé) et les autres logiciels que l'on veut installer. Cela fait une grande différence avec les postes de travail "standardisés" du gouvernement où il n'est pas permis d'installer des logiciels autres que ceux certifiés par la direction générale de l'informatique. En résumé, mon système est un Core 2 Duo @ 2.67Ghz avec 4G de RAM qui roule sur une ubuntu 9.04 sur lequel j'ai installé l'environnement KDE et configuré un bureau étendu sur mes deux écrans de 19 et 20 pouces.

Les bureaux de travail sont disposés dans une aire ouverte où il est facile de communiquer avec nos collègues. Il y a une cuisinette sur place ainsi qu'une table de baby-foot afin de se détendre de temps en temps. Il y a une grande diversité dans les employés. Environ la moitié parle en anglais et nous avons un Allemand et deux Arabes. La cohésion du groupe est vraiment grande et certaines personnes ajoutent beaucoup de dynamisme grâce à leur grand sens de l'humour. Deux fois par semaine, il y a un stand-up meeting où chaque employé se lève dans le bureau et à tour de rôle explique ce sur quoi il travaille et les problèmes rencontrés. Ceci permet de savoir les tâches effectuées par les autres employés et permet d'apporter notre avis/aide. Finalement, une fois par semaine il y a un "code review" où chaque employé présente ce qu'il a fait pendant la semaine et reçoit les commentaires des autres employés.

Travail à faire
Aurora utilise l'approche de programmation extrême (Extreme programming) qui consiste à découper une tâche de développement en plusieurs itérations durant habituellement deux semaines. À la fin de l'effort de développement, il y a une phase de stabilisation où le développement de nouvelles fonctionnalités est interrompu afin de corriger les bogues restant avant la sortie du produit final. Mon stage a débuté durant cette période de stabilisation, donc j'ai eu surtout des bogues à corriger durant la première semaine. Ceci m'a permis de comprendre comment fonctionne le système tout en faisant de quoi utile pour l'entreprise. Un peu plus tard, je vais participer au développement de nouvelles fonctionnalités dans les portails web pour ensuite, vers la moitié du stage, axer les efforts sur le visualisateur d'image.

Durant ma première semaine seulement, j'ai travaillé avec les technologies suivantes : Hibernate, WebWork, JSP, JBoss, MySQL, YUI, Java, EJB, JIRA, Confluence et d'autres qui ne me reviennent pas en tête.

Conclusion
Si j'avais à qualifier ma première semaine de stage par un seul mot, j'utiliserais le mot "Liberté" grâce à ce que j'ai expliqué précédemment et aussi par le fait que mon superviseur de stage est très ouvert aux suggestions qui pourraient influencer les tâches que j'aurais à accomplir. Finalement, je crois que c'est vraiment bien de travailler dans une petite entreprise, puisqu'on peut influencer le groupe et on se sent moins une unité de production qui n'a pas de nom, mais un numéro d'employé.

samedi 2 mai 2009

Fin de session et début de stage

La fin de session est maintenant arrivée. Après le sprint final des travaux, j'ai eu quatre examens qui suivaient un horaire assez correct. Les examens se sont bien passés malgré le manque de motivation que j'avais lors de leur préparation.

La fin de session rime avec la fin des études pour certains. En effet, la plupart de mes collègues du baccalauréat ont terminé leurs études cette session-ci et un party a été organisé afin de souligner cet événement. C'est un sentiment vraiment bizarre que dire au revoir à un si grand nombre de personnes en même temps. Aussi, aux résidences certaines personnes ont terminé leurs études ou leur séjour au Canada. Après avoir passé de bons moments en leur compagnie au cours des derniers mois, les adieux ont été assez émouvants.

Mon déménagement s'est bien passé, j'ai mis la plupart de mes effets personnels à l'entrepôt des résidences et une amie m'a fait un lift pour Montréal (merci Sophie!). La première impression que j'ai eue de mes colocs français est vraiment bonne, ils m'ont même fait des crêpes à mon arrivée! Ils sont en stage en mécanique à la Polytechnique jusqu'à la fin du mois de juillet.

lundi 23 mars 2009

[Truc C++] Faire un bon singleton

Dans le cadre d'un projet à l'université, il a fallu que j'implémente le patron de conception (design pattern) singleton. Puisque je n'ai jamais fait cela en C++, j'ai parcouru la Toile afin de trouver un exemple qui semblait correct. J'ai implémenté un des exemples semblables que j'ai trouvés. Cependant, le professeur m'a dit que cela n'était pas correct parce qu'il pouvait faire fuir des ressources. Il m'a donné le lien vers son site où il expliquait une implémentation correcte. J'ai décidé de le partager puisque la plupart des exemples sur internet ne sont pas corrects.

samedi 14 mars 2009

Entrevues

Enfin, les semaines d'entrevues sont terminées. Je me compte chanceux d'avoir eu beaucoup d'entrevues ces derniers jours. En effet, certains de mes voisins aux résidences ainsi que certains collègues du bacc ont eu un nombre limité d'entrevues et même j'ai une voisine qui n'a même pas eu une seule entrevue.

Je trouve toujours les semaines d'entrevues éprouvantes puisque je suis tellement stressé à l'idée d'avoir des entrevues que j'en ai de la misère à dormir. Après avoir passé deux semaines à dormir entre deux et cinq heures je me sens relativement fatigué.

Au cours des six entrevues que j'ai eues, voici les questions qui m'ont été le plus souvent posées :

Questions générales :
  • Quel est ton plus grand défaut?
  • Quelle est ta plus grande qualité?
  • S'il y a quelqu'un qui ne travaille pas (ou travaille mal) dans ton équipe, qu'est-ce que tu fais?
  • Si tu rencontres des problèmes que tu n'arrives pas à résoudre, qu'est-ce que tu fais?
Questions informatiques :
  • Qu'est-ce que le polymorphisme?
  • Qu'est-ce que l'héritage?
  • Qu'est-ce qu'une méthode virtuelle (en C++)?
  • Quels sont les avantages de la programmation orientée objet?
  • Quels sont les avantages des approches itératives?
  • Parle-moi du projet dont tu es le plus fier d'avoir fait.
  • Quelles sont tes connaissances en Java/C++/SQL/UML?
J'attends avec impatience la remise des cotes de la part des employeurs afin de savoir où je vais aller en stage à l'été.

samedi 28 février 2009

La mi-session

Enfin, la mi-session universitaire débute. Il est donc le temps de faire un bilan du début de la session.

Travaux
Après un début de session malheureusement beaucoup trop calme, les travaux ont déboulé en rafale. Le premier point que j'ai à discuter à propos de mes travaux est le fait de ne pas avoir avancé le travail de techniques d'apprentissage plus tôt. Le travail en équipe pendant la fin de semaine de la Saint-Valentin n'est pas très efficace. Aussi, je n'ai pas assez mis de temps sur mon projet, j'ai fait seulement la moitié des heures que j'aurais dû faire en suivant le nombre recommandé d'heures à travailler par semaine (9h).

Étude / examens
Du point de vue de l'étude et des examens, j'ai un peu trop négligé l'étude du cours de techniques d'apprentissage et je n'ai pas toutes faites mes lectures pour le cours de conception de systèmes temps réel. Toutefois, j'ai été à jour dans le cours d'intelligence artificielle et le cours d'infographie. Ce qui est ironique c'est que j'ai eu plus de difficultés dans ces examens intra qu'à celui du cours de techniques d'apprentissage.

Ce qui s'en vient
La seconde moitié de la session ne va pas être tranquille. En effet, j'ai quatre projets et quatre travaux pratiques sur lesquels travailler. En plus de cela, je dois rattraper le retard accumulé sur le projet et dans mes lectures du cours de systèmes temps réel tout en ne négligeant pas le travail à faire dans les autres cours.