Comment devenir programmeur ?

Les métiers de l’informatique ont le vent en poupe, en effet, chaque objet du quotidien tendant à être informatisé et connecté, le besoin de programmeurs informatiques est plus grand que jamais, pourtant il est très difficile de trouver des programmeurs, le nombre de postes disponibles étant largement plus important que le nombre de candidats potentiels, et ce même en incluant les étudiants en cours de formation !

Il faut bien comprendre qu’il existe plusieurs types de programmeurs ( et de programmeuses, ce métier n’étant pas réservé à la gente masculine ! ). Il est important de trouver sa voie dans les différents secteurs de la programmation, on peut être programmeur de logiciel ( jeux, applications pour ordinateurs, ou applications mobiles ), programmeur de site internet, mais aussi programmeur de librairies, programmeur de site internet, mais aussi il existe des programmeurs spécialisés dans les bases de données, dans le traitement du signal, ou encore la vidéo, les sous domaines et les spécialisations semble infinies !

  • Le programmeur de logiciels

Dans les années 80 qui ont vues le début de l’informatique grand public, les langages de programmation étaient peu nombreux, il fallait programmer en Basic ou alors tout de suite passer à l’assembleur, ce qui était un niveau assez élevé. Avec le temps et l’évolution des technologies, il est dorénavant possible de créer des logiciels avec tout un tas de langages, on peut donc être polyvalent ou expert dans un langage spécifique.

L’objective C est le langage de prédilection pour programmer des applications pour Mac OS X et iPhone, ce langage d’une puissance phénoménale est hélas principalement utilisé par les plateformes Apple. L’objective C est une évolution du langage C et C++, il vous faudra bien maitriser les environnements de développement spécifiques, tels que XCode et Interface Builder afin de pouvoir développer sur ces plateformes.

Il existe des outils tels que Real Basic, ou Unity qui permettent aussi de réaliser des applications, mais dans le cas d’Unity cela est principalement orienté pour la création de jeux vidéos en 3D.

Microsoft Windows quant à lui, dispose de part son ancienneté d’une multitude de langages qui permettent de déployer des applications ( executables , ou .exe dans le jargon ). Parmis les incontournable, il y a bien entendu Visual C++ dorénavant appelé Visual studio, puisqu’il permet de programmer aussi en C# ( C Sharp ou C Diése selon le pays ).

Borland C++ Builder ainsi que Delphi ( Pascal ), permettent de créer des applications autonomes avec une interface visuelle ( GUI ) qui se place en glisser déposer, ce qui est idéal pour les logiciels de bureautiques ne nécessitant que peu de graphismes, ce type de logiciels de programmation permettant alors un déployement rapide de toute solution logicielle, de plus ils permettent de créer des bases de données, c’est pour cela qu’ils sont tant apprécier des sociétés de gestion, comptabilité, et tout autre activité nécéssitant de la manipulation de données structurées.

Il existe bien entendu d’autres langages de programmation, comme Java et même Action Script ( Flash ), MonkeyCoder ou encore Real Basic qui permettent aussi de réaliser des logiciels autonomes.

  • Le programmeur de jeux vidéos

Un jeu vidéo est un logiciel, mais programmeur de jeu vidéo est un monde à part, en effet, cela demande une créativité hors du commun et la capacité à résoudre des problèmes ultra complexe dans des délais très serrés car les deadlines sont souvent très courtes, ce qui fait de ce métier un des plus stressant qu’il soit, il n’est pas rare que les journées d’un programmeur de jeu vidéo fassent 24h…

Si vous envisagez une carrière de programmeur de jeu en 3D, il vous faudra disposer d’un niveau en mathématique et physique relativement élevé, en effet le niveau des jeux actuels demande de véritables connaissances scientifiques, car animer de l’eau en 3D, ou réaliser des collisions qui semblent réalistes est réalisé avec des calculs mathématiques très complexes, même si de nombreuses librariries préprogrammées viennent soulager le cerveau du programmeur ! Il faut savoir comment les utiliser, et comprendre plus ou moins ce qui se cache sous le capot de ces librairies afin d’en tirer le meilleur.

Les 2 principales librairies 3D sur le marché étant openGL ( principalement utilisée sur Android et Apple ) et Direct 3D ( utilisé sur XBOX, Windows Phone et ordinateurs PC ) , il vous faudra obligatoirement au minimum connaitre l’une d’entre elles pour pouvoir espérer décrocher un job, la plupart des sociétés de production de jeux préférant bien entendu des programmeurs connaissant les 2 !

Si toutefois vous n’avez pas les capacités pour assimiler ces technologies, sachez que votre carrière n’est pas jouée ! En effet il existe des logiciels dédiés très puissants qui sont utilisés par de gros producteurs dans l’industrie du jeu, c’est le cas du logiciel UNITY qui est devenu quasi incontournable dans la création de jeux vidéos en 3D, puisqu’il permet de produire à partir du même programme, une version iPhone, iPad, Android, PC, Mac et Linux de votre logiciel, ce moteur de jeu, ou plutôt ce logiciel, permet d’intégrer visuellement tous les éléments nécessaires à l’élaboration d’un jeu vidéo, ensuite vous aurez même le luxe de choisir le langage de script qui vous plait le plus, Lua, Javascript, C# et j’en passe ! Les programmeurs Unity sont actuellement très recherchés aux Etats Unis car ils sont rares…

  • Le programmeur réseau

Un métier bien spécifique, puisque ce type de programmeur est spécifiquement formé pour traiter les messages et les couches réseau, comme le TCP, l’UDP etc. Il peut aussi être expert en technologies de streaming, en serveur mails etc.. Les langages utilisés sont une fois de plus très variés, car les technologies réseaux utilisées peuvent êtres utilisées à différentes fins, comme par exemple gérer les joueurs d’un jeu multiplayer depuis des ordinateurs, animer un chat de type skype ou msn messenger, gérer des services de téléphonie sur IP, échanger des données entre des serveurs etc.

  • Le programmeur pour SmartPhone

Qu’il s’agisse d’iPhone, de WindowsPhone d’Android ou autre, la programmation sur de tels équipements est souvent équivalente au développement sur un ordinateur de bureau, à l’exception des résolutions d’écrans qui posent parfois des défis techniques à s’arracher les cheveux sur la tête.

  • Le programmeur web

Internet est un média incontournable, pourtant pour le faire tourner, il faut de nombreux programmeurs, et parfois la ou on ne sait même pas qu’il y a de la programmation !

Derrière un site internet, il y a une multitude de technologies et de langages, comme par exemple HTML, Javascript, Java, PHP, Ruby, Python Etc… Bien entendu les puristes de la programmation vous diront que ce sont des Scripts et pas des langages dignes de ce nom.. mais passons…

Les programmeurs PHP ont actuellement le vent en poupe, en effet, face au nombre grandissant de sites web, la nécéssité d’avoir des intervenant capable de modifier des scripts existant se fait ressentir plus que jamais. Les nombreux sites E-commerces sont la plupart du temps programmés en PHP, ils sont aussi souvent capable de recevoir des modules d’extensions qui sont eux aussi programmés en PHP, et les besoins en modules personnalisés sont eux aussi grandissants, là aussi des besoins en programmeurs web sont nécéssaire, il y a même pénurie !

Les métiers d’internet c’est aussi de l’intégration de contenu, et même si cela n’est pas toujours directement de la programmation, il est nécéssaire d’avoir de solide bases techniques afin de pouvoir afficher le résultat escompté.

Programmeur Front End ou Back End ?

Le web est devenu tellement gourmand en ressources, que les équipes de programmeurs se sont orientés vers des tâches bien précises.

Le programmeur Front-End est celui qui est en charge d’afficher l’interface homme machine, en simplifiant, tout ce que vous voyez sur votre écran, c’est lui qui s’en est occupé.

Le programmeur Back-End est celui qui va programmer les bases de données, les taches cron, les scripts automatiques qui « moulinent » ( parfois aussi appelés services web ). Le programmeur Front End vient alors piocher dans les données préparées par le programmeur Back End, afin de récupérer les éléments nécessaires à l’affichage du site internet en question.

Mais alors, comment devient on programmeur ?

Il existe plusieurs voies pour devenir programmeur, bon nombres d’entre eux sont autodidactes, ils ont appris par eux mêmes avec des livres, des tutoriels, et de nombreux essais chez eux, ce profil est très recherché par de nombreuses sociétés car ce sont des souvent des profils débrouillards pleins de ressources et d’idées inexploitées qui apportent une énorme valeur ajoutée à l’entreprise. Ce type de profils se retrouvent souvent dans des start ups ou des petites structures qui ont besoin de flexibilité et de réactivité.

Les écoles d’informatiques forment généralement plus des ingénieurs capables de réaliser de solides fondations, leur rigueur est appréciée par SSII ( Sociétés de Services et d’Ingénierie en Informatique ), car ils disposent d’un solide bagage technique qui leur permet d’être de véritables programmeurs tous terrains, capables de s’adapter rapidement et d’étudier des problèmes complexes.

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *