Quel est le rôle d’un développeur de logiciels MIS, et diffère-t-il d’un développeur de logiciels général ?


Je me suis spécialisé en MIS à l'université, mais j'ai fait du développement de logiciels depuis que j'ai obtenu mon diplôme.

Dans un scénario de place dans le monde réel, je suis aussi bon que mes collègues major en CS environ 98% du temps. De temps en temps, je me heurte à un problème épineux qui, s'avère être un algorithme écrit dans les années 70, ou fait partie des mathématiques discrètes, ou est un peu de conception fondamentale de l'OS que j'ai rencontré par hasard pour des raisons. Mais pour la plupart des travaux réels, je tiens le coup. (Les entretiens sont plus difficiles pour moi - je n'ai jamais eu les fondamentaux de la CS sur lesquels ils grillent. Heureusement pour moi, tout le monde pose les trois mêmes questions de base : Comment fonctionnent les hashmaps, la notation Big-O pour le quicksort, l'algorithme de la tortue et du lièvre.).


Dans le lieu théorique de la classe, on nous a toujours rabâché que nous serions les interfaces : d'une partie de l'entreprise à une partie de la technologie / IT dans laquelle nous pourrions nous trouver. Dans le cadre de ma formation MIS, j'ai suivi un cours sur les bases de données, un cours sur le développement web (que nous appellerions aujourd'hui "fullstack"), un cours sur le COBOL (vraiment), deux cours sur VisualBasic - j'ai échangé l'un d'entre eux contre un cours sur Java en parlant gentiment), un cours sur les réseaux, un cours sur la conception de systèmes, un cours sur les télécommunications (semaine 4 : " c'est comme ça que les radios fonctionnent littéralement... "), 2 cours de comptabilité, 2 cours de financement d'entreprise, 1 cours de calcul pour les majors du commerce, 1 cours de conception de systèmes, 2 cours de marketing, 1 cours sur les opérations commerciales, 3 cours sur la gestion de la qualité totale, et peut-être un cours de gestion... plus des arts libéraux et 2 cours de sciences.


(L'idée ici étant que je pouvais parler (pauvrement) à n'importe quelle partie de l'entreprise parce que je connaissais leurs termes de base : bilan, analyse SWOT, Future Value Of Money, et revenir aux développeurs et comprendre quand ils ont besoin de construire 3 clases dans un modèle de conception polymorphe et la machine qui exécute ce service a besoin d'au moins un NIC 1gb.)

Alors qu'un major CS aurait - attention c'est une liste partielle à moitié mémorisée pour un major que je n'ai pas pris) : 3 cours de Java, 1-2 cours de C++, 3 cours de calcul, 2 cours de mathématiques discrètes, 1-2 cours sur la construction de systèmes d'exploitation, 1 cours "écrire un compilateur", 1-2 cours de génie logiciel, un cours de type "apprendre 4 langages en un trimestre"... plus des arts libéraux et quelques cours de sciences.

Donc les majors CS se concentraient sur la construction.

J'ai réalisé 3 ans et demi après avoir obtenu mon diplôme MIS que j'obtenais une majeure pour être le patron aux cheveux pointus de Dilbert (un peu plus éduqué, certes, mais il s'avère que les bases de données n'ont pas de couleurs (bande dessinée Dilbert le 1995-11-17)

Je ne regrette pas ma majeure, en fait elle a été super utile lorsque j'ai obtenu mon diplôme et que j'ai ouvert ma propre société de conseil en développement logiciel. Mais parfois, j'ai la démangeaison de construire mon propre lisp ou quelque chose et je réalise que je devrais m'enseigner ce cours de compilateur....

En revanche, lorsque le caoutchouc frappe la route pendant la journée de travail, ma formation généraliste initiale importe rarement après environ l'année 5 d'être un dev logiciel professionnel à temps plein. Sauf dans de rares cas comme les entretiens, ou peut-être le développement de jeux ( mais même lorsque j'ai travaillé sur l'un d'entre eux, je suis arrivé à la vitesse sur le seul manuel CS mais pas couramment vu dans le truc sauvage que nous avons utilisé, et c'était tout).

D'autres collèges peuvent avoir d'autres significations pour ces mots : un autre collège où je ne suis pas allé, mais je connais assez de diplômés de - "MIS" semblait signifier, "connaît VisualBasic et les bases de données ", et "CS" signifie, "connaît des trucs MIS plus PHP". (J'admets que c'est légèrement réducteur, mais vous voyez ce que je veux dire).