Fraîchement diplômé, vous entrez dans le monde du travail avec votre diplôme encore imprégné d'une odeur d'encre, pour être immédiatement submergé par des règles non écrites et une foule de tâches quotidiennes fastidieuses. Ces histoires sont monnaie courante, et le travail de programmation ne fait pas exception.
Peu d'étudiants sont préparés à 100% pour leur premier vrai emploi. Si vous ne voulez pas être l'un d'eux, apprenez les 10 compétences de base suivantes que vous pouvez maîtriser sans accompagnement pratique :
1. Système de gestion de versions (VCS)
VCS est peut-être la plus grande omission des cours d'informatique. Ces cours pensent seulement à enseigner comment écrire du code, mais oublient souvent d'enseigner aux étudiants comment gérer le code. Chaque programmeur devrait savoir utiliser Git ou Subversion pour créer efficacement des dépôts, modifier et valider du code, créer des branches et fusionner, et comprendre les flux de travail de projet.
2. Apprendre à écrire
En tant que programmeur, vous n'écrivez pas seulement du code. Vous écrivez aussi des notes de version de projet, des messages de commit pour le contrôle de version et des rapports de bogues dans le système. Ces endroits, et bien d'autres, exigent une communication écrite claire et efficace—pourtant cette compétence est rarement mise en avant en informatique.
3. Expressions régulières
Les expressions régulières sont un langage en elles-mêmes, et tout programmeur moderne devrait les maîtriser. Tout langage moderne prend en charge les expressions régulières ou dispose d'une bibliothèque standard associée. Si le code doit vérifier qu'une chaîne contient 5 caractères, 1 tiret et 1 chiffre, vous devriez pouvoir écrire immédiatement /^[A-Z]{5}-\d$/.
4. Utilisation des bibliothèques
Nous sommes déjà en 2014, donc personne n'a besoin d'utiliser des expressions régulières pour extraire le nom d'hôte d'une URL. Tout langage de programmation moderne dispose d'une bibliothèque standard pour exécuter des fonctions courantes.
Les programmeurs doivent comprendre que le code qui a été développé, testé et débogué est généralement meilleur que le code que l'on réécrit soi-même. Plus important encore, le code qui n'a pas besoin d'être écrit est implémenté beaucoup plus rapidement.
5、SQL
Beaucoup de gens apprennent SQL sur le tas. Comment les bases de données pourraient-elles être un cours optionnel ? Y a-t-il quelqu'un qui n'utilise pas de bases de données ?
L'ère du stockage des données dans des fichiers plats est révolue. Tout entre et sort d'une base de données, et SQL est le langage pour stocker et récupérer des données. C'est un langage déclaratif, pas procédural, donc résoudre des problèmes avec lui demande une nouvelle façon de penser. Chaque programmeur devrait comprendre les bases de la normalisation des bases de données et être capable d'exécuter SELECT (avec INNER et OUTER JOIN), INSERT, UPDATE et DELETE.
6. Savoir utiliser les IDE, les éditeurs et les outils CLI
Un charpentier qui ne sait utiliser qu'une scie ne pourra jamais devenir un maître, il est donc étonnant que des diplômés en informatique ne connaissent que Notepad ou pico. Les outils de programmation aident à manipuler le code et d'autres données, ce qui facilite la vie d'un programmeur. Par conséquent, chaque programmeur devrait savoir utiliser la ligne de commande, les scripts shell, find, grep et sed.
7. Débogage
Chaque programmeur devrait savoir comment déboguer des programmes à l'aide d'un débogueur interactif ou en parsemant le code d'instructions de sortie. La capacité à traquer les problèmes par raffinement successif est extrêmement importante.
8. Programmation défensive
Les erreurs sont toujours inévitables, même pour les programmeurs vedettes. Que les choses échappent à tout contrôle est la norme dans le monde, donc les erreurs ne sont pas surprenantes. La programmation défensive consiste précisément à comprendre ce fait. Si les choses n'allaient jamais mal, nous ne vérifierions pas si les fichiers s'ouvrent correctement, nous ne vérifierions pas si les identifiants client sont des nombres valides, et nous ne testerions pas si le code s'exécute correctement.
Les programmeurs doivent savoir que les avertissements du compilateur sont des outils utiles qui rendent notre vie plus confortable, et non des nuisances à éviter. Chaque programmeur devrait savoir pourquoi chaque programme PHP devrait commencer comme ceci :
set_error_reporting(E_ALL)
Chaque programme Perl devrait inclure ces instructions :
use strict; use warnings;
9. Collaboration en équipe
Peu d'emplois de programmation vous permettent de travailler seul. Si vous le faites souvent, votre intellect en souffrira et vos performances faibliront. Votre code doit interagir avec celui des autres ou s'y mélanger. Peu importe le talent d'un programmeur, s'il ne peut pas collaborer avec les autres, il aura un impact négatif sur le projet et deviendra rapidement un fardeau pour l'organisation.
10. Tirer parti du code existant
À l'école, chaque devoir est un nouveau projet. Mais le monde réel n'est pas comme ça. Pour une personne qui débute dans le métier, la première tâche reçue consiste souvent à corriger un bug. Ensuite, vous ajoutez une petite fonctionnalité à un système existant en vous appuyant sur la base de code existante. Concevoir du nouveau code, c'est pour plusieurs mois plus tard, si vous avez de la chance.
[Cet article a été compilé à partir de : blog.newrelic.com]