dimanche 17 mai 2009

[EVENEMENT] Microsoft Student Festival'09 à l'ESI !


Un petit billet rapide pour vous informer que le Club .NET de l'ESI (ESI .NET, de l'Ecole Supérieure d'Informatique d'Alger ex INI) organise ce mercredi 20 mai 2009 la première édition du Microsoft Student Festival. Le principe ? Un certain nombre d'experts de l'industrie IT présenteront un certain nombre de conférences portant sur des domaines allant du génie logiciel jusqu'aux systèmes d'information. 

Alors ne manquez pas cet événement qui démarre à 8h30 à l'ESI. Pour plus d'informations (programme détaillé du MSF) rendez vous ICI.

jeudi 14 mai 2009

Résultat imagine cup 2009 Algérie: Evotech de l'USTHB vainqueur !


Hier à Boumerdés, s'est déroulée la finale de la 5ème édition d'imagine cup Algérie. Après l'USTHB (nom d'équipe?) en 2005, IniForUs de l'INI en 2006, HBM2 de l'INI en 2007 et Polygeek de l'ENP en 2008 c'est au tour de Evotech de l'USTHB de se qualifier à la finale mondiale de l'imagine cup.

Evotech s'est illustrée brillamment avec son projet: Education provider, qui vise à permettre un meilleur accès au savoir aux enfants privés d'éducation primaire. Je reviendrai en détail sur ce projet lors de mes futurs posts. L'équipe Evotech est composée de : El-Kindi Rezig et Dahimene Ryadh tous deux étudiants en M1 Informatique à l'USTHB. La deuxième équipe est l'équipe Microserfs avec son projet LocustGIS, équipe que j'ai coaché par ailleurs. Et enfin la troisième équipe n'est autre que Technology Geeks une équipe qui s'était classée en seconde position lors de l'édition précédente.

A noter l'absence de l'équipe WEINNOVATE (le lycée de boumerdés) qui a certainement eu un empêchement relatifs à ses examens de fin d'année, c'est dommage j'aurais vraiment aimé voir ce candidat en action d'autant plus que son projet avait l'air intéressant. Imagini Team avec son projet GAIA ne s'est pas qualifiée parmi le trio de tête à leurs très grande surprise (fallait voir la tête de Raouf l'un des membres de l'équipe lors de l'annonce des équipes non classées..). Rappelez vous lors d'un de mes précedents posts j'avais bien dit que tout était possible dans une finale, en effet sur le papier Imagini Team était favorite s'étant classée première lors des qualifications (basés sur la fiche technique du projet).

Je terminerai par quelques feedbacks personnels :

Les points positifs :

  • L'apparition des modèles économiques des projets au cours de certaines présentations, dû très certainement au temps alloué (15 mins) supérieur au temps alloué pour la présentation dans les éditions précédentes (qui était de 8mins).

  • Un saut qualitatif important comparativement aux éditions précédentes (même s'il y a toujours du très bon, du bon, du moyen et du mauvais à chaque fois).

  • Un projet qui consiste à localiser en temps réel des personnes susceptibles d'aider d'autres personnes en danger (accident, malaise cardiaque, etc.). La localisation est basée sur la proximité d'une personne répondant au profil nécessaire à la nature de l'intervention. Petit clin d'oeil, étant donné que l'année dernière nous avions également un projet de géo localisation mais appliqué au covoiturage. Néanmoins, ce projet n'a pas attiré l'attention du jury étant donné la difficulté de sa mise en pratique. Une personne en plein malaise cardiaque a d'autres chats à fouetter, que d'envoyer un SMSd'urgence. Le projet se nomme: Helpy et a été développé par la Team Forza de l'USTHB.

  • L'organisation était également au top (au même titre que l'année précédente).

  • L'équipe lauréate sera coachée par des professionnels de l'IT, c'est un + certain qui permettra certainement à l'Algérie de se qualifier en moins aux demi-finales de la finale mondiale.

Les points moins positifs :

  • Pas mal d'équipes n'ont pas respecté la durée impartie à la présentation. Le jury a été assez indulgent par ailleurs, lors des éditions précédentes les équipes avaient droits à 8 mins tout court. (quitte à être coupé en pleine phrase voir mot..). Lors de la finale mondiale, la durée sera de 20mins et pas une seconde de plus.

  • On est restés sur notre faim au niveau des démonstrations, la compétition devrait s'appeler à force: Software design officially, interface design in fact.. Bref, on sait très bien qu'il ne s'agit que de prototypes reflétant uniquement l'aspect du projet mais de plus en plus de démos se limitent à quelques interfaces mortes seulement. (pas de développement métier réel).

  • J'aurais aimé écouter plus de questions de la part des membres du jury sur certains projets.

Un feedback neutre : J'espère que l'ensemble des équipes vont réellement penser à développer un produit utilisable partant de leurs concept, et que leurs engagement à lancer une start up basé sur leurs projet n'était pas seulement une belle phrase visant à attirer l'attention et la sympathie du jury. Parce que gagner imagine cup, c'est bien mais c'est rien. Le plus important, c'est de produire concrètement le produit et de lancer son entreprise, à quoi bon s'embêter sinon :).

Voilà, bien entendu ces feedbacks n'engagent que moi. Vous pouvez bien entendu exprimer vos réactions en commentaire à ce post. Je reviendrai plus tard avec une vidéo (celle de l'annonce des 3 premiers que j'ai filmé à l'aide de mon téléphone) ainsi que quelques photos de l'événement, afin de vous donner un aperçu sur la bonne ambiance qui a régné à la finale nationale d'imagine cup 2009.

Pour terminer je félicite encore à l'équipe Evotech, qui a bien mérité sa victoire et qui je le suis sûr va représenter de son mieux l'Algérie lors de la finale de l'imagine cup en Egypte qui se déroulera début juillet prochain. Go go Evotech :).


mercredi 6 mai 2009

La vie pourrie du développeur algérien...



Avant de commencer cet article, je voudrais vous informer qu'il y'aura un petit changement de cap au niveau de ce blog, vous étiez habitués à y lire principalement du contenu dédié au .NET, à imagine cup ainsi qu'à d'autres technologies MS... ben disons qu'il y'aura toujours un petit peu de ça mais le blog viendra s'enrichir d'un contenu plus général : développement logiciel dans le sens général du terme, Open source, plus d'articles techniques sur différents langages que j'utilise quotidiennement (C++, C#, Javascript/php..), réfléxions diverses sur la discipline etc.. Enfin disons que le but est d'élargir l'impact du blog, et surtout d'exprimer toutes sortes de pensées qui trainent un peu partout au niveau de mon cortex cérébral ^^.

Revenons maintenant au sujet du jour :). Le titre est un peu provocateur, mais a le mérite de soulever quelques aléas de la vie d'un développeur vivant Algérie. Je vous vois venir avec vos: Le développement est universel, t'as juste besoin d'un PC (rien que ça), d'un éditeur/compilateur et le tour est joué. Bien que cela soit vrai, il faut admettre que là où je vis actuellement (Alger), je n'ai pas accès à certaines commodités très importantes, je me lance :

  • La pauvreté des ressources bibliographiques : Allez faire un tour à la librairie du tiers monde à Alger (c'est pratiquement la seule à ma connaissance qui vende des livres techniques plus ou moins intéressants..), sur votre gauche montez les éscaliers qui vous mèneront aux bouquins d'informatique (c'est tout au fond). Première constatation, ya 4 étages de livres avec pas mal de duplicata (le livre d'intelligence artificielles de Peter Norving et Stuart Russel y est présent en 5 exemplaires, occupant 80% de la rangée). Le reste disons qu'il ya un livre sur chaque sujet : un livre de C++, un livre sur le javascript, un livre sur les bases de données (SQL Server 2000, c'est dire comme c'est ancien), un livre sur la conception orientée objet puis c'est tout quoi.. C'est vous dire à quel point le choix est pauvre. L'été dernier j'étais à Paris, et l'une de mes activités favorites là bas était d'aller faire un tour dans des librairies comme: Eyrolles, Fnac, Gilbert jeune etc. et croyez moi j'étais franchement émerveillé ! Vous avez tout quoi.. Chez Eyrolles, vous avez un étage complet dédié rien qu'à l'informatique ! J'ai d'ailleurs acheté au cours de mon séjour les bouquins suivants: Php 5 mysql 5, MCTS 70-536 Self paced exam, Google story, et enfin l'excellent: Marketing Management. Dommage que mon dernier jour à Paris était un 15 aout, week-end de la pentecote Eyrolles était fermée ce jour là :'(, j'aurais fais une plus grosse rasia sinon :). Enfin tout ça pour dire, que le livre est avant tout à la base du savoir. Et il est bien connu, que si l'on veut vraiment maitriser un langage ou une technologie donnée rien ne remplace un bon livre sur le sujet! Etant donné que les cours gratuits que l'on peut trouver sur le net sont souvent écrits par des amateurs, et de ce fait et malgré tout leurs bonnes volontés sont quelques fois remplis d'erreurs ou coquilles :). Puis en plus, un livre c'est un livre ! Vous l'achetez, vous le planquez dans votre bibliothèque après en avoir lu l'essentiel et il vous servira durant toute votre vie de développeur ! C'est ce qui m'arrive avec le livre : C++ How to program, que j'ai acheté il ya de cela 6/7 ans. A l'époque je m'étais enfermé @ la maison tout un été pour travailler sur ce livre, j'ai travaillé sur les 10 premiers chapitres sérieusement, en essayant tous les exemples, en codant tous les exercices et en développant des petits projets en // (essentiellement des jeux 2D). Et bien maintenant, je m'en sers toujours de ce livre, je le connais sur le bout des doigts, je sais quel chapitre correspond à tel notion et donc si j'ai besoin par exemple d'avoir une précision concernant un algorithm de la STL, ben direct je file au chapitre 20 je pioche mon info et je ferme le bouquin :). Mon rêve est d'avoir un jour une bibliothèque comme celle ci :



Et c'est certainement pas dans ces conditions que je vais pouvoir avoir ça un jour :'(.
  • Le problème du pouvoir d'achat: Je vais continuer l'idée décrite plus haut, car non seulement les ressources bibliographiques sont rares ici, mais en plus le niveau de pouvoir d'achat ne permet pas l'achat de livres internationaux. Un livre qui coute 30 € en Europe, ben ça donne : 3200dinars ici. La différence, c'est que 40€ c'est le centième du salaire moyen d'un cadre en France et ici ce n'est que le dixième ! On peut appliquer le même raisonnement pour le matériel informatique (disques durs, cartes graphiques, écrans plats, RAM etc.).

  • L'absence de magazines spécialisés : Quand j'entre dans un kiosque en France, sur la droite généralement je trouve ça :et j'en passe... en Algérie il n'y a AUCUN magazine qui touche de prés ou de loin le domaine de la programmation. Les seuls magazines d'informatique qui se vendent, sont des magazines de bureautique ou de jeux vidéos. Et ça c'est quand même un inconvénient majeur. L'enrichissement personnel que l'on peut acquérir via ce genre de magazines est énorme.

  • L'absence d'événements : En Algérie il n'y a pas de journées ou conférences consacrées au développement logiciel. Pas de techdays, pas de php conf ou rails conf, ou je ne sais quoi d'autres :).

  • Achats en ligne impossible : Pour qu'un développeur soit efficace, il devrait limiter le nombre de sorties au maximum. En Algérie, du fait de l'impossibilité d'effectuer des payements en ligne (notre système bancaire ne nous donne pas accès aux cartes de crédits internationales), on est obligés de sortir pour tout et n'importe quoi.. pas la peine d'espérer commander une pizza ça n'existe pas! (du moins pas à ma connaissance ?).

  • Coder en pleine nature, vous rêvez ? Un fantasme que j'entretiens depuis pas mal de temps, est celui de pouvoir coder en pleine nature. Dans un parc, avec un bon jus de fruit par exemple ! En Algérie, les parcs sont rares, très rares. Et lorsqu'il y'en a ils sont: mal fréquentés (les couples y vont pour..), ils puent, occupés par les clochards, et surtout mal sécurisés. Non, non faut pas trop s'aventurer avec son laptop à la main pour coder dehors ;). D'autant plus que les algériens sont de nature observateurs, ils observent tout. Ils vous dévisagent, si jamais vous tentez quoi que ce soit d'original. Bref, à éviter :). Vous me diriez : qu'est ce qui te prend de vouloir coder dehors ? Ben il ya des avantages certains à cela, tout d'abord le fait de pouvoir respirer de l'air (frais si possible), d'avoir un joli paysage en face, de recevoir sa dose de soleil, de regarder les gens.. tout ça permet d'être beaucoup plus créatif et plus performant que si vous étiez dans un bureau.. C'est connu, les meilleures idées nous viennent lorsqu'on est loin de notre lieu de travail habituel.

  • Le calme ? pas la peine d'y songer Un autre problème que je rencontre personnellement quand je code, c'est l'impossibilité d'avoir accès au calme. Le calme, je ne sais pas ce que c'est pour le moment ou du moins je l'ai experimenté l'été dernier à Paris c'était une expérience formidable. Je pense que mon quartier est l'un des plus bruyants au monde: les gosses, les voitures, les vendeurs à la sauvette, les bagarres à répétition, les chantiers, le voisin qui allume son poste en mettant le volume au maximum.. bref, l'ambiance n'est pas du tout propice au travail et encore moins au code ni à l'imagination! Et ce phénomène de nuisance sonore concerne le pays d'une manière générale à cause du manque de civisme de la population.

  • Problèmes technologiques en tous genres Pas de 3G/3G+ pour surfer sur internet à partir de son PDA/regarder des vidéos techniques dans les transports en commun (euh même avec 3G ça aurait été impossible, dans le bus on slalomme, on avance en arrière.. et puis ya le problème de la sécurité bien sûr). L'ADSL en est encore à ses balbutiements preuve en est les pannes trop fréquentes que je me tappe etc.

  • Problème du transport en commun Le transport en commun, est la source d'une perte de temps énooooorme ici. Quand je dis énorme c'est vraiment énorme, on peut facilement passer 2/3/4h par jour dans les transports à cause des embouteillages notamment. La solution ? Exploiter ce temps là ? Ah oui, tu peux lire un livre dans le bus.. mon oeil !!!! Tu peux rien faire dans le bus ! D'abord on est à 90% du temps debouts, ensuite étant donné que la vitesse d'un bus n'est pas constante (ya des freinages, des accélérations, des queues de poisson etc..) il est pratiquement impossible d'y faire quoi que ce soit. Le problème devrait être réglé avec le métro d'Alger mais celui ci de toutes façons ne me servira pas à grand chose étant donné que les lignes qu'il déservira ne correspondent pas à mon trajet quotidien.

Pour toutes ces raisons, et pour d'autres encore la vie d'un développeur algérien est vraiment vraiment difficile. Pertes de temps, manque de ressources, ambiance non propice au code.. tout est fait pour en décourager plus d'un, mais la passion est plus forte il faut faire avec en espérant que les choses changent un jour petit à petit :).

A vous maintenant de me faire part de vos impressions/observations , rencontrez vous d'autres difficultés dans votre vie de développeur ? Aimeriez vous que certaines choses changent ? Comment vous vous débrouillez malgré les contraintes que nous impose le contexte économique/social du pays ? Connaissez vous des librairies à Alger qui en valent la peine ? Ya t'il des kiosques qui vendent des magazines de programmation ? Comment faire en sorte que ces magazines soient importés?

J'attends vos réponses !