Connaître - Savoir - Comprendre - Pratiquer - Maîtriser [Il y a une grosse différence]
Bonjour,
Je fait le même constat que vous.
Ayant régulièrement des stagiaires qui veulent devenir développeur professionnel.
En tant que tel, j'estime qu'il doivent avoir un minimum de bagages pour commencer à comprendre le fonctionnement d'un développement logiciel ou système.
Effectivement un développement, ne se résume pas au simple "codage". C'est d'abord une structuration de l'esprit, et un automatisme à avoir. dans cet usage Malheureusement et très souvent, ils n'ont pas acquéri ce dernier qui est la clé pour ouvrir la porte du futur professionnel.
En conséquence, ils connaissent les bases, mais ne savent pas les utiliser. De plus trop attacher au code, ils ne cherchent pas à comprendre ce qu'ils font et pour quoi ils le font.
Effectivement, connaître un langage/méthodes/outils de développement, savoir les utiliser, les comprendre c'est bien et ça demande beaucoup de temps. Mais pas suffisant pour devenir un professionnel. Je recommande souvent de pratiquer, et d'optimiser en permanence, partant de petit projet allant vers de plus en plus gros. (Un échec, n'en est jamais un en développement). Et après une longue pratique nous finissons par maîtriser et être professionnel.
Pour moi, le vrai professionnel de l'informatique doit être capable de changer de langage ou de paradigme de programmation passant de l'embarqué au Web en passant par des applications serveurs. Évidement, selon le contexte les besoins. Il est capable de passer du PHP au JS tout en passant par du Pascal / C / C ++ / LISP / Haskell / Cobol .... Sans bien sûr connaître la sémantique de ces langages par cœur, il faut connaitre leurs structures et philosophies. Et ça demande des années de pratiques. Ajoutons à cela tous les supports système tel que les VMs / Docker et autres jouets. :P
Et je vois beaucoup de dev. qui se revendique professionnel au lieu de dire spécialiste dans ... Effectivement, en quelques semaines d'apprentissage, nous pouvons dire je suis spécialiste du langage PHP ou MySQL. Voyez la grosse différence, professionnel du dev. et spécialiste dans un langage de développement.
Par contre, les études universitaire ne sont pas nécessaire en soit, mais c'est l'ensemble des outils contenue dans les cours universitaires qu'il le sont. Donc, le mieux c'est d'aller sur le banc des écoles.
En tant qu’autodidacte, j'ai acheté des livres de cours (universitaire), lu des thèses, et suivit des cours universitaires. J'ai donc passer des heures (années) de travailles personnels pour devenir un professionnel de l'informatique.
Loin de tout connaître, je maîtrise énormément d'outils et de technologies car je pratique tous les jours et tout le temps.
cordialement.
Iwoks.