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

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 !