Pour vraiment apprécier les programmeurs de bases de données, vous devez vraiment essayer vous-même - laissez-moi essayer de l'expliquer d'une autre manière.
Pour les personnes mal informées, il peut sembler que dans le monde idéal, les programmeurs d'applications ne font pas vraiment grand-chose - ils prennent les exigences et les processus tels qu'écrits par les analystes commerciaux et les traduisent en code qui fait les offres des programmeurs.
Bien sûr, toute personne ayant une expérience de la programmation saura que cela ne fonctionne pas comme cela - ignorant pour le moment que les exigences ne spécifient jamais le comportement de l'application dans les moindres détails, il y a un certain nombre de complications
- Les programmeurs doivent décider de la façon dont l'application doit être structurée
- Traduire les exigences en quelque chose qu'un ordinateur comprend est souvent loin d'être anodin.
- Les programmeurs doivent être conscients des implications de
- À mesure que les programmeurs acquièrent de l'expérience en utilisant la plate-forme de leur choix, ils deviennent plus compétents, fournissant un code de meilleure qualité à un rythme plus rapide.
(Bien sûr, c'est une liste considérablement réduite, j'essaie simplement de relever des points qui ont des parallèles dans le développement de la base de données)
Le développement de bases de données est à peu près le même - pour les personnes mal informées, cela semble assez simple, mais une fois que vous vous impliquez davantage, vous vous rendez compte des complications spécifiques du développement de bases de données:
- Ils décident de la structure de la base de données
- Souvent, les requêtes plus complexes peuvent être loin d'être triviales à traduire par rapport aux exigences
- Les développeurs de bases de données doivent se préoccuper des performances de la base de données
- Ils doivent également être soucieux de maintenir l'intégrité et la disponibilité des données
- Et tout comme les développeurs, les programmeurs de bases de données deviennent plus compétents dans tout ce qu'ils font à mesure qu'ils deviennent plus expérimentés.
Tout comme le développement d'applications est rempli d'embûches cachées (problèmes de threading, etc.), le développement de bases de données l'est aussi, et souvent les conséquences de tomber en panne de ces problèmes sont très graves (par exemple, perte de données ou potentiellement temps d'arrêt pour toutes les applications utilisant la base de données). .
Je pense que ce qui fait penser aux programmeurs qu'il n'y a rien ("Un programmeur ne peut pas faire ça?"), C'est qu'il y a beaucoup de chevauchements entre les rôles, et ils nécessitent des compétences similaires - j'ai il ne fait aucun doute que quiconque a la capacité d'être un bon développeur a également la capacité d'être un bon programmeur de base de données compte tenu du temps et de l'expérience, mais personne ne devrait sous-estimer la valeur d'un expert en base de données expérimenté.