Sélectionner une page

Comment apprendre la programmation ?

Salut c’est Val, bienvenue dans ce nouvel article, Aujourd’hui j’aimerais aborder un sujet important avec vous, les débuts dans la programmation.

Je suis passé à mes débuts par l’apprentissage de la programmation, je trouve le codage comme un complément essentiel à la cybersécurité. C’est comme apprendre à rouler à vélo sans savoir comment il fonctionne, à court terme cela ne vous dérange pas en revanche à long terme si vous avez un problème technique, il devient plus compliqué de le résoudre.

Aujourd’hui, je vais répondre à la plupart des interrogations que vous pouvez vous poser avant de vous lancer dans la programmation informatique ou tout simplement en connaître sur le domaine.

Qu’est-ce la programmation informatique ?

J’aimerais éclaircir le principe que l’on a de la programmation informatique avant de commencer dans le dur du sujet. Il faut savoir que la programmation appelée aussi codage est comme j’aime bien le représenter, la fondation d’un programme informatique.

Mais qu’est ce qu’un programme informatique ? Très simple, il s’agit d’instructions qui une fois compilées entre elles forment ce que l’on appelle une partie d’un logiciel, car oui il peut y avoir plusieurs programmes pour un logiciel mais ce n’est pas important pour l’instant. Nous reviendrons dessus plus tard.

Donc maintenant que vous connaissez l’objectif attendu de la programmation nous allons voir ensemble comment l’atteindre. De la même manière que si vous souhaitez démonter une voiture il faut connaître les outils qui le permettent.

Le codage est une partie du développement de logiciels qui va permettre de communiquer avec la machine via un langage adapté. C’est bien connu que les ordinateurs ne parlent pas français, du moins ils communiquent les informations entre les composants d’une langue que l’on appelle, le langage machine.

Et c’est là où je veux attirer votre attention car ici ce n’est pas une révolution mais une évolution, vous allez apprendre un nouveau langage comme vous auriez appris l’allemand, l’anglais etc.. Rien de plus simple alors car vous savez déjà le faire il va juste falloir s’adapter comme depuis de nombreuses décennies.

Pourquoi apprendre la programmation informatique ?

Bon d’accord, c’est cool d’apprendre un nouveau langage mais si c’est juste pour le rajouter à ma liste et ne pas l’utiliser, cela ne sert à rien.

Je prends beaucoup de plaisir à vous le dire à chaque fois mais là encore vous allez passer du côté acteur et non spectateur. Là où aujourd’hui vous regardez des sites de ventes en ligne, de vitrine, d’échanges. Ici vous allez pouvoir l’inventer, le créer et ça c’est un outil très précieux un peu comme un compositeur qui forme une musique avec de simples notes.

Pour vous c’est la même chose, vous allez acquérir une aisance avec la technologie qui sera fortement appréciée par les entreprises ou les sites de freelance. Là encore je vous laisse faire votre choix c’est important.

Savoir programmer c’est comprendre au quotidien : le fonctionnement d’un système, d’un site ou d’une technologie, savoir s’accoutumer rapidement avec. Et tout ça par la compréhension de mécanismes et de méthodes que l’on utilise tous les jours.

Quels sont les emplois possibles ?

Maintenant, je vais passer à la partie la plus intéressante selon moi, est-il possible de vivre du développement informatique ? Oui, c’est possible et aujourd’hui je vais vous présenter quelques jobs qui ont de l’avenir pour encore de nombreuses années.

  • Analyste en Cloud Computing

Alors l’analyste cloud computing, intervient dans la conception et la supervision de l’environnement de cloud computing dans une organisation. Cela comprend la migration, l’infrastructure, le matériel, les logiciels et les applications.

Je trouve que c’est un job très intéressant surtout pour celui qui aime déployer de la virtualisation et se penche vers les technologies futures comme le cloud gaming. Personnellement, moi qui aime travailler sous Linux et monter des serveurs sur des hyperviseurs, là encore je vous invite à vous renseigner sur l’hyperviseur, le travail est très intéressant et apporte énormément de compétences.

Comme il s’agit d’un domaine relativement nouveau, de nombreux employeurs ont du mal à trouver des candidats de qualité possédant les compétences souhaitées. La pénurie de l’offre et de la demande croissante fait du poste d’analyste cloud l’un des meilleurs postes pour les programmeurs.

  • Développeur d’application mobile

L’un des meilleurs postes pour les programmeurs, les développeurs d’applications mobiles sont parmi les professionnels les mieux payés au monde aujourd’hui. Le rôle principal d’un développeur d’applications mobiles est chargé de tester, de déboguer, de documenter et de surveiller les applications mobiles.

Là encore, le téléphone est presque indispensable aujourd’hui dans ce monde, on retrouve de plus en plus les permis de conduire, les cartes de santé etc.. sur nos smartphones et cela tant à se développer sur encore pleins d’autres rayons.

  • Spécialiste de l’apprentissage automatique

Si vous ne connaissez pas encore les technologies comme le machine-learning, le deep-learning je vous conseille de vous pencher dessus maintenant. De nombreuses startups, comme Uber, et de grandes entreprises technologiques comme Google et Microsoft, recherchent un spécialiste de l’apprentissage automatique pour prendre en charge les dernières innovations, par exemple une voiture autonome.

Pour être honnête, c’est un domaine parfait à la fois de recherche et de programmation combinés et je vais y passer beaucoup de temps. L’apprentissage automatique est l’approche des ordinateurs vers l’apprentissage à partir de données. Là encore la définition exacte se trouve sur Wikipédia si vous êtes intéressé.

Travailler en tant qu’indépendant / être libre

Parmi tous les emplois possibles dans ce secteur, il y a la possibilité de travailler à son compte également et être programmeur nécessite en général que peu de ressources dans la majorité des cas. Je ne vous recommande pas d’acheter des pc trop chère à vos débuts ni un abonnement internet trop important si vous débuter, choisissez plutôt du matériel polyvalent qui vous permettra de travailler n’importe où dans le monde et à n’importe quel moment : dans le train, chez soi, à un hôtel, dans un restaurant etc.

C’est donc faisable et accessible à tous, je vous recommande quand même de vous renseigner sur le statut qu’il faut adopter, le plus souvent étant le micro-entrepreneur, là encore je vous laisse vous renseigner sur le sujet si c’est votre but. Beaucoup d’organisations et de particuliers ont besoin de faire appel à des programmeurs informatiques, il en fait donc un métier relativement souple et promet un très gros développement financier et personnel chez la personne qui souhaite se lancer dans cette aventure !

Par où et quoi commencer ?

Maintenant nous allons attaquer le cœur du sujet, comment apprendre la programmation informatique depuis le début ? En soi, pour ma part cela ne m’a pas paru compliqué, étant curieux de base, l’apprentissage c’est fait assez facilement. Cependant cela m’a coûté du temps que je voudrais bien vous épargner. Je vous précise aussi qu’il est nécessaire d’avoir de la motivation car cela n’arrive pas tout seul…

Pour commencer, je vous invite à lire mon article Que devez vous apprendre avant la cybersécurité ? Il répertorie un grand nombre d’étapes afin de comprendre le fonctionnement d’un ordinateur et d’un système en général qui vous permettra par la suite de mieux appréhender votre apprentissage.

Ensuite, je vous conseille fortement d’apprendre les bases de la programmation et de passer à la pratique. Vous pouvez vous lancer des objectifs comme j’ai pu déjà vous présenter en vous aidant d’un guide (un blog, un site de formation comme OpenClassrooms pour des formations gratuites et Udemy pour les formations payantes, un e-book ou une vidéo) qui vous sert de support. En théorie, en lisant ces lignes, vous avez ce qu’il vous faut !

Je vous recommande par la suite de voler par vos propres ailes et d’apprendre ce que l’on appelle l’API qui représente l’interface de programmation d’application dans un système d’exploitation. En l’apprenant vous allez comprendre comment un logiciel fonctionne dans sa globalité. Je vous invite à lire l’explication plus globale et plus développée sur Wikipédia.

Savoir résoudre les problèmes de développement

Il faut savoir quelque chose, vous allez rencontrer beaucoup d’erreurs pendant et à la fin de vos premiers programmes et même quand vous serez expérimenté. Et alors là pour ceux qui aiment la résolution des problèmes vous allez être ravis !

Outre le faite de voir les erreurs il faut aussi savoir les comprendre et à ce moment précis votre maîtrise de la langue anglaise va être mise à rude épreuve. Il existe fort heureusement des sites qui permettent de mettre en relation des communautés de programmeur qui s’entraident dans la résolution de différents problèmes.

Pour ma part, j’ai faits beaucoup d’erreurs de code à mes débuts, j’ai passé énormément de temps à les résoudre car en général ils n’arrivent pas tout seuls… Et je dois vous avouer que cela m’a permis de développer et d’améliorer mes connaissances dans différents langages de programmation que j’ai pu travailler et la récompense finale est que votre logiciel fonctionne, et ça c’est vachement cool.

Et donc à mon sens, pour le moment n’essayez pas de créer des programmes trop ambitieux car comme j’ai pu vous le dire, les erreurs n’arrivent pas seules et donc vous risquez de vous démotiver à essayer de résoudre l’entièreté des problèmes.

À mes débuts j’ai commencé par des programmes simples comme une génération de mots aléatoires pour des pseudonymes sous différents thèmes et ensuite une fois que votre programme fonctionne essayé de lui rajouter des fonctionnalités plus intéressantes pour son utilisation. Perfectionner votre création et pour moi un très bon début.

Optimiser son temps

Le but de la programmation c’est de vous faciliter la vie, en vous créant par exemple des petits programmes qui vont vous permettre dans votre travail ou dans votre objectif personnel de gagner du temps.

Le principal problème que vous allez rencontrer c’est les nuits blanches ou les heures interminables à passer devant l’écran à essayer de résoudre le problème en question. C’est pour cela que je vous recommande de vous renseigner si le programme existe déjà sur internet et si c’est le cas, de l’améliorer.

Encore une fois, là n’est pas l’idée de recopier et d’ailleurs je vous le déconseille fortement car vous n’allez rien apprendre et copier coller du texte bêtement tout le monde peut le faire alors qu’ici nous cherchons à développer des compétences rares et recherchées.

Donc si après vos recherches le programme existe, trouvez maintenant s’il répond à vos attentes. Vous verrez que dans la plupart des cas il ne va pas forcément vous convenir à cent pour cent. Et donc à ce moment précis vous venez de trouver le ou les points à améliorer ou à changer complètement.

En ce qui me concerne, j’ai travaillé la plupart de mon temps sous le système d’exploitation Linux et quand je faisais mes recherches pour me lancer des défis, je faisais en sorte de tomber sur des programmes qui n’étaient jamais adaptés à mon système pour pouvoir les transformer pour mon utilisation.

Pour une explication plus concrète, je cherche un programme créé sous le système d’exploitation Windows qui permet de créer une interface avec différents choix pour trier des résultats sportifs par exemple. Eh bien la programmation d’une interface est bien différente sous Windows et Linux. Donc là encore vous utilisez votre capacité à vous adapter et à créer ou faire l’évolution d’un programme.

Passer à l’action et ne pas abandonner

Maintenant voilà, je vais être honnête avec vous, je suis pas quelqu’un de très fleur bleue, donc je vais être assez direct, les idées encore une fois c’est bien mais il faut savoir se lancer dans le bain. Donc ce que je vous recommande, c’est de réellement, dès que vous avez un plan en tête de passer à l’action. 

Ça ne sert à rien de réfléchir pendant 3 semaines ou 1 an, à réfléchir à ce que vous allez pouvoir inventer comme programme, comme je l’ai déjà dit ne cherchez pas encore une fois l’idée du siècle, personne ne l’a, elle n’existe pas, même Facebook ce n’est pas l’idée du siècle, c’était une bonne idée qui a été inventé au bon moment et simplement c’est une idée qui est évolutive.

Les temps changent et les personnes qui seront s’adapter verront leurs projets et leurs objectifs réussis puisqu’ils seront assez malins pour proposer non pas une nouveauté révolutionnaire mais quelque chose qui s’adaptera par rapport à la nouvelle demande du marché.

On arrive déjà à la fin de cet article, si vous souhaitez savoir comment démarrer votre apprentissage dans la cybersécurité, vous avez un lien qui apparaît à la fin de l’article, c’est une newsletter qui est 100% gratuite, vous mettez votre e-mail, vous recevez votre premier contenu, donc un par jour pendant cinq jours, qui vont vous expliquer comment j’ai débuté mon apprentissage et les résultats que je peux avoir aujourd’hui. Prenez soin de vous et à la prochaine !