web-dev-qa-db-fra.com

Pourquoi un diplôme en informatique est-il important pour un programmeur professionnel?

J'ai un diplôme en informatique. C'était génial pour ouvrir des portes, trouver un emploi. Pour m'aider dans le domaine professionnel de la programmation C # .NET (la plate-forme et le langage les plus populaires dans le domaine où je travaille, sinon l'ensemble des États-Unis, l'OS le plus populaire au monde) n'est guère utile. Pourquoi pensez-vous que cela vous aide en tant que programmeur dans votre carrière professionnelle (en dehors de la diffusion de l'algorithme prims pour impressionner un intervieweur)?

Dans l'adaptation au monde d'aujourd'hui, un esprit vif, une communication forte, OO et des compétences de conception fondamentales permettent à un développeur d'écrire un logiciel qu'un client acceptera. Ces compétences ne sont survolées que dans le programme cs. mon esprit, la lecture d'un livre C # de 500 pages par Wrox offre une compétence bien plus utilisable que 4 ans de cours de science-fiction comp blaster. Beaucoup ne sont pas d'accord. Alors, pourquoi un diplôme en informatique est-il important?

63
P.Brian.Mackey

Pourquoi un diplôme en informatique?:

  • J'ai travaillé avec un développeur qui a stocké des milliers d'éléments dans un HashTable et ensuite seulement itéré à travers les valeurs. Il n'y a jamais accédé par un hachage. Il ne savait évidemment pas comment fonctionnait une table de hachage ni pourquoi vous en utilisiez une - un diplôme CS pourrait aider à cela.
  • Lorsque vous travaillez avec des expressions régulières, il semble plus facile pour les personnes exposées à la théorie de base des automates et aux langages formels de raisonner sur ce qui se passe et de dépanner leurs expressions - un diplôme CS pourrait aider à cela.
  • Un développeur fraîchement sorti de l'école peut être en mesure de décomposer les problèmes dans différents états d'esprit de paradigme (OO, fonctionnel, logique) immédiatement, tandis qu'un nouveau développeur non diplômé a besoin d'expérience avant de pouvoir faire de même.
  • Les écoles enseignent la complexité informatique. Les développeurs non diplômés peuvent ressentir ce qui est le mieux, mais une compréhension formelle est parfois agréable, surtout lors de l'explication des résultats à un collègue.
  • Un diplôme offre une introduction à de nombreux modèles de la machine - matériel, système d'exploitation, structures de données communes, mise en réseau, machines virtuelles. Avec ces modèles à l'esprit, il est plus facile de développer une intuition où un problème survient lorsque quelque chose ne va pas. Encore une fois, les développeurs non diplômés construisent les mêmes modèles mais cela prend du temps.
  • Des conseils d'experts dans n'importe quelle discipline peuvent aider l'apprenant à éviter les impasses et les sujets manqués. La lecture, c'est bien, mais ce n'est pas un substitut pour un grand professeur.

Cela ne veut pas dire qu'un diplôme CS est nécessaire pour être un grand développeur. À peine. Certains des meilleurs développeurs avec lesquels j'ai travaillé n'ont aucun diplôme. Un diplôme vous donne un bon départ. Au moment de votre diplôme, vous avez (espérons-le) écrit une bonne quantité de code dans divers langages et environnements pour résoudre de nombreux types de problèmes. Cela vous met bien sur la voie de la 10 000 heures requises pour être un expert.

Un deuxième avantage est qu'il montre aux employeurs que vous êtes en mesure de vous engager dans un objectif à long terme et de réussir. Dans de nombreuses entreprises, je pense que c'est plus important que ce que vous avez appris.

133
Corbin March

Dans 40 ans, je m'attends à ce que .NET et C # ne soient rien de plus qu'une lourde pile de code hérité sur des systèmes d'exploitation obsolètes.

Mais les concepts fondamentaux de l'informatique seront tout aussi vivants qu'ils l'étaient lorsque Shannon, von Neumann, Knuth, Dijkstra, Hoare et les autres les ont sortis de la logique formelle et des mathématiques ... il y a plus de 40 ans.

87
Paul Nathan

J'utilise presque tous les CS que j'ai étudiés à l'école (*) tous les jours à mon travail. Si vous voulez travailler dans la conception de langages de programmation, l'optimisation des moteurs de recherche, l'analyse quantique ou tout autre domaine similaire, je suppose que vous pourriez le faire sans diplôme pertinent, mais cela semble être beaucoup de choses à doivent apprendre sur le tas. Je ne suis pas particulièrement instruit compte tenu de mon métier; beaucoup de mes collègues ont un doctorat en informatique et plusieurs d'entre eux ont été professeurs de CS.

Obtenir mon diplôme en valait vraiment la peine pour moi; elle s'est payée de nombreuses fois, tant en dollars qu'en satisfaction.

Cela dit, je comprends parfaitement votre point. La plupart des personnes qui programment des ordinateurs ont des emplois qui ne nécessitent pas de diplôme CS; ils nécessitent, par exemple, une solide formation de niveau collégial communautaire en programmation pratique ainsi que de suivre les tendances actuelles de l'industrie. Et ça va. Vous n'avez pas besoin d'un diplôme en biologie marine pour gérer un magasin d'aquariums réussi, et je pense que les magasins d'aquariums sont géniaux. Mais il est extrêmement difficile d'obtenir un emploi à Woods Hole si tous vous savez comment faire est d'élever des poissons rouges.


(*) J'ai un baccalauréat en mathématiques appliquées et en informatique de Waterloo.

37
Eric Lippert

C'est important parce que la technologie ne reste pas statique. L'informatique est la base de toute technologie numérique. La plupart des programmeurs autodidactes durent exactement un cycle technologique car ils n'ont pas les bases pour survivre à un changement de paradigme majeur. Bien sûr, il existe des exceptions à la règle, mais une base solide en informatique augmente considérablement les chances de survivre à un changement de paradigme majeur.

22
bit-twiddler

Cela dépend de ce que vous voulez faire. Si votre objectif est principalement de programmer des logiciels d'entreprise à grande échelle, où le problème commercial et les problèmes pratiques de gestion de la complexité sont la partie difficile, alors oui, un diplôme CS ne va pas aider beaucoup. Si, cependant, votre objectif est de programmer des choses où la principale difficulté est d'ordre technique, un diplôme CS est plus utile. (Bien que je n'aie pas de diplôme CS, je me sens donc comme un gros hypocrite pour avoir dit cela, alors n'hésitez pas à ajouter "ou l'auto-apprentissage dans les matières CS".)

Je suis sûr qu'il y a beaucoup de programmeurs là-bas qui sont excellents pour gérer la complexité, programmer dans le grand et résoudre les problèmes commerciaux courants, mais seraient absolument perdus si vous leur demandiez d'écrire un allocateur de mémoire, ou une bibliothèque de parallélisme, ou un bibliothèque de collections, ou un système d'exploitation, ou un compilateur, etc. Je suis sûr que l'inverse existe également dans une certaine mesure. Les deux ont leur place et méritent le respect, mais un diplôme CS aide beaucoup plus sur le plan technique.

14
dsimcha

Je ne pense pas qu'un diplôme CS soit un indicateur absolu qu'une personne est un bon développeur de logiciels. En fait, j'ai commencé ma carrière en tant que programmeur avec un diplôme en mathématiques, mais avec un fort biais CS (les mathématiques et les CS ont été intégrées dans mon programme d'études). Je pense qu'il y a deux raisons pour lesquelles cela compte, dans l'ensemble.

1 - Parce que les ingénieurs ne sont pas le front end du recrutement

Les gens des ressources humaines le sont. Et pendant que j'imagine beaucoup de gens qui roulent des yeux, je dis "Dieu merci!" Quoi de plus important - que vous laissiez les ingénieurs faire des trucs (ou casser des trucs), ou que vous les fassiez trier des milliers de CV et faire des milliers d'entrevues?

Donc, nous avons des RH et des RH qui sélectionnent les candidats jusqu'à ce que nous arrivions à un groupe clé qui peut être sélectionné par les ingénieurs. Les RH ont appris au fil du temps qu'avoir un diplôme CS est un indicateur assez fort que le candidat sait quelque chose sur le développement de logiciels. J'espère qu'ils savent également que l'écriture de logiciels pendant 20 ans est un bon indicateur que le candidat peut écrire des logiciels.

2 - Parce qu'avoir une sorte de système d'apprentissage de la CS est mieux que rien

CS est un immense domaine avec beaucoup de choses à savoir. Et ça change tout le temps. Ces jours-ci, je peux affirmer que les 75% des cours de mon premier cycle sont devenus sans rapport avec ma carrière. Et que les cours de mon maître d'il y a 5 ans se déprécient rapidement. Mais quand j'ai commencé, j'étais heureux d'avoir payé une grande institution pour m'apprendre quelque chose sur l'organisation informatique, les réseaux, le bon processus d'ingénierie logicielle, la conception orientée objet, les compilateurs et la syntaxe/sémantique d'un langage de programmation majeur qui était actuellement commercialisable.

Et j'étais content que ce soit dans un environnement où quelqu'un était payé pour m'expliquer les choses quand le projet de livre/site web/tour n'était pas naturellement évident.

Et j'étais heureux d'avoir eu accès à un laboratoire où la santé informatique et le SDE n'étaient pas mon problème - je pouvais plus ou moins me verrouiller et me concentrer sur une petite partie du problème plutôt que d'avoir à réparer tous les outils nécessaires pour résoudre le problème.

Et bien que les cours n'enseignent pas explicitement une bonne communication, je pense que la seule façon d'apprendre vraiment est de travailler en équipe - qui IS une grande partie de nombreuses grandes institutions offrant des diplômes CS.

Et un calendrier avec des commentaires fréquents (c.-à-d. Des notes et des examens) qui m'a permis de savoir si j'avais vraiment compris ce qu'on m'avait enseigné.

Ces choses se combinent dans mon esprit pour avoir plus de valeur que n'importe quel livre sur le sujet, mais ce n'est certainement pas le tout, en fin de compte. Il y a certainement des choses qui ne me dérangeraient pas de voir les établissements d'enseignement supérieur s'améliorer, et je pense qu'environ 10 ans après avoir obtenu leur diplôme, le diplôme que vous avez reçu à l'origine est moins important que le travail que vous avez accompli depuis.

12
bethlakshmi

Pour moi, la raison est que je sais qu'ils ont suivi des cours difficiles et n'ont pas abandonné. Certains des cours comme les compilateurs, la structure de données, les mathématiques discrètes (et d'autres) avaient tendance à éliminer beaucoup de gens des programmes CS. Avoir un diplôme CS signifie que vous avez travaillé dur et payé un prix (longues nuits pour que les programmes fonctionnent), plutôt que de sortir pour le plaisir.

12
Chris L

Pour moi, c'est une question de état d'esprit .

Votre état d'esprit définit la façon dont vous aborderez un problème donné et vous permet d'envisager un éventail plus large d'opportunités que celles qui ne sont pas formées dans les concepts.

Un exemple typique est le "problème du voyageur de commerce" où vous savez qu'il 1) est NP-complet pour la version générale, vous devez donc essayer toutes les possibilités mais 2) que si vous en savez plus sur le problème, vous pouvez soit vous approcher dans une certaine limite, soit dire que vous savez que AC est toujours plus long qu'AB + BC (ce qui est vrai pour les distances mais pas pour les prix) vous permettant de le résoudre en moins de temps.

Un autre exemple est l'analyse numérique, où vous devez savoir que pour minimiser l'inexactitude numérique, vous devez aborder vos calculs différemment de la méthode mathématique simple. Cela nécessite des connaissances théoriques et ne sera probablement pas repris en cours de route, sauf si vous en avez été explicitement mordu.

10
user1249

Vraiment? Sensationnel.

Vous me dites donc que les compétences C # et OOP sont suffisantes et que vous pouvez concevoir votre propre algorithme pour le tri aléatoire et déchiffrer les nuances les plus fines sur la façon de gérer NP = problèmes complets dans la vraie vie?

C # et OOP sont très bien, mais si vous essayez de faire quoi que ce soit qui soit une conception logique non triviale, alors vous avez besoin des bases de l'informatique en place.

Mec, vous ne saurez même pas quel conteneur C # utiliser si vos structures de données ou vos compétences en algorithmes ne sont pas à la hauteur.

Permet de grandir, maintenant.

9
Fanatic23

Je suppose que vous ne vous êtes vraiment pas trop impliqué dans le diplôme, vous avez juste pris ce dont vous aviez besoin et vous êtes sorti, ou vous êtes allé dans une école qui considérait les majors CS comme des "codeurs" et non des "programmeurs". En outre, certaines de mes meilleures/préférées classes "CS" sont celles qui - au moins dans mon université - relèvent du département de génie électrique. Mon exposition à diverses architectures et styles a toujours été si importante et mon diplôme a facilité cela dans un environnement "contrôlé".

Des classes qui ne sont pas que des algorithmes et des peluches mignonnes:

  • Compilateurs
  • Systèmes d'exploitation
  • VHDL/systèmes embarqués
  • Assemblage et microcontrôleurs
  • Génie logiciel

Et enfin une classe qui m'a battu la merde qui n'était que des algorithmes et des structures de données - l'intelligence artificielle. Il y a des choses qui passent par le système universitaire accéléreront considérablement le processus d'apprentissage, et je considérerais ce qui a été appris comme inestimable lors de la recherche d'emploi plus tard.

6
Jeff Langemeier

pour moi et pour beaucoup de mes collègues, ce n'est pas le cas (aucun de nous n'a eu de diplôme CS)

4
Shawn

À mon avis, à moins que vous ne postuliez à des postes de "compétence informatique", tout diplôme impliquant une concentration sur les compétences en informatique est à peu près équivalent.

En fait, beaucoup de programmeurs que je connais ont obtenu un diplôme dans une discipline complètement différente. Les meilleurs programmeurs que je connaisse ont des diplômes en génie civil, linguistique, économie et finance.

En fin de compte, une fois que vous avez une certaine expérience, votre diplôme devient un test de réussite/échec pour un recruteur. Autrement dit, à moins que vous ne l'ayez obtenu dans une école impressionnante ou un diplôme d'études supérieures, peu importe votre diplôme.

4
JohnFx

OK alors qu'en est-il

Si vous avez traversé les sujets suivants:

a.Architecture informatique et organisation

b. Ingénierie logicielle

c.DBMS

d. Électronique de base

e. Circuit électronique numérique de base

f.Microprocesseur

g. Conception du compilateur

Pensez-vous que tout ce qui précède est juste pour la formalité. N'oubliez pas que les points ci-dessus font de "bon programmeur" un "excellent programmeur".

Parcourez ceci pour lire l'importance des sujets électriques et électroniques

3
Radheshyam Nayak

J'ai un diplôme en informatique. C'était génial pour ouvrir des portes, trouver un emploi. Pour ce qui est de m'aider dans le domaine professionnel de la programmation C # .NET (la plate-forme et le langage les plus populaires dans la région où je travaille sinon tous les États-Unis de loin le OS le plus populaire) dans le monde) ce n'est guère utile.

70% + du code est écrit en C (car il y a plus d'appareils embarqués que d'applications de haut niveau). Selon les recherches d'emploi populaires comme les dés ou l'index TIOBE, Java est le langage de programmation le plus populaire pour l'entreprise (car il y a plus de serveurs principaux Unix/Linux que de serveurs Windows.) Il existe plus de smartphones et de tablettes (la plate-forme informatique du futur) exécutant une variante de Linux ou Mac OS que Windows, programmée sur tout sauf C # ou .NET.

Regardez votre routeur à la maison, regardez votre téléphone portable, regardez l'ordinateur à l'intérieur de votre voiture, regardez le micro-ondes flippant à la maison, les contrôleurs à l'intérieur de votre système de climatisation domestique, à l'intérieur de votre téléphone et de votre télécopieur et imprimante de travail/scanner. Regardez le nombre d'appareils informatisés (qui sont plus nombreux que les systèmes Windows.)

Pensez-vous qu'ils sont programmés en C #?

Si vous croyez vraiment que .NET ou C # sont les plateformes les plus populaires au monde, vous voudrez peut-être retourner dans votre école CS et demander un remboursement.

Pourquoi pensez-vous que cela vous aide en tant que programmeur dans votre carrière professionnelle (en dehors de la diffusion de l'algorithme prims pour impressionner un intervieweur)?

Peut-être parce qu'il y a beaucoup plus de choses sur la programmation que sur le développement de base de pages Web dynamiques et d'applications d'entreprise? Pour cela, vous n'avez même pas besoin d'un diplôme BS, un AA suffit - je sais parce que j'ai commencé ma carrière de programmeur avec un diplôme AA et j'ai lentement mais sûrement travaillé vers un CS, puis j'ai poursuivi des études supérieures tout en travaillant à plein temps- temps en tant que développeur.

Il y a le développement intégré, il y a le développement de pilotes de périphériques, il y a le développement de systèmes d'exploitation, il y a le développement d'algorithmes, les signaux, les communications, les protocoles réseau, le développement de moteurs de base de données, le développement de systèmes de fichiers, l'informatique distribuée, les compilateurs. Pas de recherche, mais du travail réel dans des organisations à but lucratif. À l'exception des personnes naturellement douées, on ne peut généralement pas le pirater dans aucun de ces domaines industriels sans diplôme CS (parfois même pas avec un diplôme BS).

Une personne qui obtient un diplôme CS et y prête attention le sait. Pourquoi tu ne le fais pas?

Dans l'adaptation au monde d'aujourd'hui, un esprit vif, une communication solide, OO et des compétences de conception fondamentales permettent à un développeur d'écrire un logiciel qu'un client acceptera.

OO a vu le jour grâce à CS. Et la plupart des gens qui pensent le faire OO ne peuvent même pas faire du bon travail. Il suffit de regarder à l'extérieur et de regarder l'état merdique des logiciels (en particulier dans Java et .NET, sans parler de PHP.) Une solide expérience CS (ou un diplôme d'études supérieures en ingénierie) ne garantit pas une bonne compréhension à 100% de OO et des compétences analytiques, mais cela aide généralement OTH, ne pas avoir de formation de base en CS est généralement un drapeau rouge en ce qui concerne OO et les compétences analytiques. Nous avons suffisamment de preuves empiriques dans l'industrie pour étayer cette affirmation.

Ces compétences ne sont écrémées que dans le programme cs.

Selon le programme CS et selon l'étudiant. Au moins pour moi, j'ai vu beaucoup de bons cours sur la conception, OO analyse, outils et pratiques commerciales, nous avons co-édité des cours avec des entreprises locales et des stages, des projets financés par des entreprises et de la recherche, rédaction technique, vous l'appelez. Désolé, je ne peux pas comprendre ou comprendre cette déclaration.

Dans mon esprit, la lecture d'un livre C # de 500 pages par Wrox offre un ensemble de compétences beaucoup plus utilisable que 4 ans de cours de science-fiction comp blaster.

Encore une fois, selon le travail que vous faites. Même en entreprise, j'ai utilisé mon CS pour réparer ou améliorer des choses. Tout cela impliquant la modélisation, l'architecture, l'informatique distribuée, la sécurité et la haute performance, la haute disponibilité et la tolérance aux pannes. J'ai appris tout ça dans CS.

Il n'y a rien de mal à utiliser un livre Wrox pour obtenir un ensemble de compétences spécifique au contexte, spécifique à la technologie. Je le fais moi-même. Mais mon expérience CS me donne le contexte sur lequel travailler. Sans mon expérience en CS, tout ce que je serais capable de faire serait de programmer, de coder (c'est tout ce que je pouvais faire quand je n'avais qu'un diplôme AA au début de ma carrière.)

Beaucoup sont en désaccord.

Étonnant, non.

Alors, pourquoi un diplôme en informatique est-il important?

Selon vous, qui propose des moteurs de base de données Google, Hadoop, Cassandra ou hautes performances? À votre avis, qui écrit le noyau du système d'exploitation Windows? À votre avis, qui programme les outils préférés que vous utilisez pour faire votre développement C #.

Une chose dont je suis sûr, c'est que les outils que vous utilisez pour faire du développement C #, il y a un gars CS derrière.

Que vous ayez besoin d'un diplôme CS ou non dépend du type de travail que vous faites, du type de travail que vous voulez faire, du type de travail que vous êtes capable de faire.

Il y a beaucoup de travail dans le développement d'entreprise et web qui ne nécessite pas de diplôme CS. Je vous l'accorde. Je sais également que le monde de la programmation est beaucoup plus large que ces deux domaines, avec de nombreux domaines (la plupart en fait) nécessitant un diplôme CS ou plus.

Vous avez un diplôme CS, comment vous ne savez pas que c'est un mystère.

3
luis.espinal

Je suis d'accord avec Thorbjørn Ravn Andersen sur l'état d'esprit. C'est la principale chose que vous développez avec un bon programme CS.

Cela revient essentiellement à comprendre des choses comme les structures de données et les algorithmes. Non pas que vous ne puissiez pas l'apprendre par vous-même, mais un bon programme CS offrira une meilleure exposition.

1
George Marian

Écriture

Dans le développement de logiciels d'entreprise, il est essentiel de pouvoir écrire du code et écrire. J'entends par là: rédiger des e-mails, des rapports de bogues, des documents techniques, etc. L'écriture et le codage nécessitent la clarté de la pensée et une économie d'expression appropriée.

Entre 2 développeurs de logiciels, je parie que celui qui a un diplôme CS d'une solide université (programme CS solide, et cours au choix en sciences humaines) a les deux compétences. (Certes, ce n'est pas une garantie: les gens des sciences humaines peuvent être de grands codeurs et des écrivains de premier plan; de nombreux diplômés CS sont des machines à coder qui ne peuvent pas écrire, etc.)

Lecture

Un de mes mentors a affirmé qu'il pouvait juger les développeurs par ce qu'ils lisaient. Le message original mentionne les livres WROX. À mon avis, une personne titulaire d'un diplôme CS est plus susceptible de rechercher de tels livres informatiques professionnels et d'être en mesure de les utiliser efficacement. Si l'on peut gérer CLR , alors on peut gérer "Professional C #".

Mathématiques

Les mathématiques développent la logique, la preuve, la rigueur, etc., et l'effet secondaire est qu'elles aident à l'écriture. Bien que la plupart des TI d'entreprise ne nécessitent pas d'intenses compétences en mathématiques, la personne titulaire d'un diplôme CS l'aura si nécessaire. C'est une bien meilleure façon de vivre que de vivre sans et de se demander ce que vous avez manqué à l'école.

1
Michael Easter

Je suppose que cela dépend vraiment de la qualité du programme CS que vous avez suivi. Je sais ce que vous voulez dire, la plupart du code que j'écris quotidiennement n'est que du VB.Net standard, récupérez les données de SQL Server, mettez-les sur le formulaire, enregistrez-les dans la base de données, faites des rapports. Laver, rincer, répéter. (Très ennuyeux parfois) Le programme CS que j'ai suivi, en plus de couvrir la théorie et les connaissances fondamentales, a enseigné beaucoup de choses pratiques. Nous avons couvert des domaines tels que la conception de logiciels, la conception de bases de données et la gestion de projets. L'apprentissage des langages de programmation a été la partie facile, la conception et la méthodologie de création de systèmes logiciels ont été ce que j'ai retiré de mon expérience universitaire. On nous a donné des projets basés sur des problèmes du monde réel, parfois même en concevant des systèmes logiciels pour d'autres départements du campus.

En tant que programmeurs, nous avons évidemment la capacité d'apprendre par nous-mêmes, c'est une nécessité dans notre domaine. Je dois dire que je suis très heureux d'avoir suivi le programme CS. Mes professeurs étaient incroyables et m'ont beaucoup appris. Mes camarades de classe étaient des gens très amusants et nous avons passé beaucoup de nuits amusantes dans le laboratoire informatique. Pour dire la vérité, ces jours me manquent un peu ......

1
Kratz

Tout dépend de la capacité de vivre par procuration.

Si vous sautez le diplôme, vous devrez probablement apprendre les leçons de manière très personnelle (aka à la dure). Le manque de diplôme ne signifie pas que vous emprunterez la voie la plus difficile de l'apprentissage par essais et erreurs; cependant, le diplôme vous garantit une exposition à un coffre au trésor de connaissances acquises précédemment que d'autres devaient gagner tard dans la nuit, des séances de programmation frustrées et généralement "à la dure".

La personne vraiment excellente ne rejettera pas ce que les autres ont trouvé vrai, mais la contestera à la place jusqu'à ce qu'elle connaisse les limites de la connaissance, puis jouera avec le "système" d'idées nouvellement acquises jusqu'à ce qu'elle se l'approprie. Il se tient sur les épaules de ceux qui l'ont précédé et vit les solutions des années passées sans avoir à les redécouvrir.

Bien sûr, une personne titulaire d'un diplôme en informatique n'est pas toujours le meilleur candidat. Il y a ces individus uniques qui ont été conduits au ruisseau mais (pour une raison étrange) refusent d'en boire.

1
Edwin Buck

Il y a des bases que je me souviens avoir vues dans mes cours CS qui ont été très utiles parfois. Le processus Waterfall et ses étapes ont été quelque chose que j'ai utilisé à plusieurs reprises dans ma carrière avec quelques variations pour Agile où il n'est pas aussi rigide dans les étapes mais les mêmes étapes sont là.

Des compétences en résolution de problèmes et diverses heuristiques algorithmiques peuvent également être utiles à certains moments. Il y a quelque chose à dire sur les avantages indirects d'un diplôme CS. Par exemple, apprendre à justifier une réponse pour montrer pourquoi quelque chose est correct n'est qu'une des quelques compétences que j'ai affinées à l'université, mais je ne sais pas à quel point il serait évident que c'est un avantage à la fin du programme.

1
JB King

C'est important parce que les recruteurs ont un indicateur que vous n'êtes pas complètement ignorants de ce que vous êtes censé faire, mais cela n'implique pas nécessairement que vous savez vraiment ce que vous faites ou que vous le faites d'une manière techniquement pratique.

Il y a des gens brillants avec des diplômes qui aiment ce qu'ils font et sont vraiment de bons programmeurs et il y a aussi des idiots avec des diplômes qui sont vraiment de mauvais programmeurs et ne connaissent même pas certains fondamentaux. Il y a des gens brillants sans diplômes qui peuvent tout développer (logiciels d'entreprise/compilateurs/un système d'exploitation) et il y a des idiots sans diplômes qui ne savent pas utiliser correctement une table de hachage.

0
Falcon

Cela n'aide probablement pas beaucoup, mais maintenant que j'ai appris l'assemblage et toutes les connaissances nécessaires, je me sens un programmeur plus complet et je suis sûr que cela se reproduira lorsque j'irai à l'université. Je veux dire, j'utilise principalement C ou VB, je n'ai pas besoin de savoir ce qu'est un état d'attente pour faire mes programmes, mais simplement savoir ce qui se passe derrière mon code est génial! Et les connaissances vous aident à écrire du code meilleur, plus rapide et plus facile à gérer. Un diplôme en informatique donne exactement les connaissances nécessaires pour écrire super code à mon avis.

0
BlackBear

le génie logiciel est aujourd'hui une science expérimentale et non des mathématiques appliquées.

Les diplômes en informatique mettent l'accent sur les algorithmes, combien de vos tâches quotidiennes impliquent la mise en œuvre ou même l'utilisation de nouveaux algorithmes et structures de données?

Combien implique de traiter des couches de frameworks et des abstractions qui fuient? Combien essaie de déterminer ce que certaines API font réellement - plutôt que ce que les documents impliquent? Combien coûte le test et décider comment le tester?

Pour autant, un diplôme en physique ou en chimie est une bien meilleure formation que d'avoir mémorisé Knuth

0
Martin Beckett

J'ai 21 ans et je viens de terminer un premier cycle CS. Je pense que même si vous êtes formidable en programmation, si vous êtes diplômé CS, vous serez déjà exposé à divers domaines. Donc, si vous voulez apprendre de nouvelles choses, vous n'ayez pas peur d'explorer même si c'est hors du sujet. Si vous êtes un expert en technologie ou en langage de programmation, tant mieux. Mais je ne pense pas que vous serez aventureux et désireux d'étudier d'autres technologies. C'est comme ça que tu te salis (et vite aussi). Vous n'imaginez pas que ce que vous explorez ne sera pas pertinent car cela ne vous aidera pas à gagner de l'argent. (Vous avez déjà étudié beaucoup de choses non pertinentes dans votre CS UG;)).
C'est la passion en CS que vous avez après avoir obtenu votre diplôme qui fait de vous un professionnel du logiciel.
Quelqu'un est d'accord?

0
Ranjanmano

Absolument correct, le diplôme en informatique n'a pas beaucoup d'importance; c'est pourquoi votre seul choix devrait être d'obtenir un diplôme d'ingénieur à la place.

Lors des entretiens avec des candidats d'horizons divers, le trait qui se démarque des candidats sans diplôme est le suivant: manque de compétences en communication technique et manque de discipline. Ce sont des traits fondamentaux appris lors de l'obtention d'un diplôme en sciences (je dirais même plus avec un diplôme d'ingénieur).

La plupart des choses étant égales par ailleurs (et une seule série d'entrevues aboutit souvent à des candidats "à peu près égaux"), j'embaucherais d'abord la personne titulaire d'un diplôme d'ingénieur, la deuxième en informatique et la troisième sans diplôme. Cependant, il existe des moyens de rendre les choses très inégales dans la comparaison, de sorte que n'importe qui puisse battre même ceux qui ont un diplôme généalogique - mais c'est une question distincte, n'est-ce pas?

0
Jonathan Cline IEEE

Pour obtenir un emploi en utilisant un langage open source, cela ne signifie pas squat. La plupart des entreprises recrutent en fonction de leurs capacités plutôt que de leurs qualifications et de langages tels que PHP ont une réputation d'amateur en pensant que les gens peuvent avoir du talent sans avoir jamais étudié le CS. Le seul moment où cela aide si vous obtenez un emploi en utilisant les langages .Net car la plupart des amateurs ne voudront pas débourser des milliers pour une licence uniquement pour jouer avec le week-end, donc quelqu'un qui cherche un premier emploi en C # n'aura probablement que 2-3 ans d'expérience.

Bien sûr, l'expérience commerciale est vraiment précieuse car elle démontre votre capacité à fournir un code de qualité dans les délais.

En conclusion, il vous obtient des entretiens pour travailler avec des langues non open source.

0
Adam Pointer

Un diplôme collégial ou universitaire signifie que vous avez étudié et avez une certaine connaissance de C.S., des choses de base qui sont nécessaires pour un travail dans le monde réel, même si vous devez apprendre d'autres choses par vous-même.

D'ailleurs, lorsqu'un I.T. le recruteur doit trouver un logiciel. Dev., Et 500 candidats envoient leur CV, et doivent interroger moins de 50 d'entre eux, avoir un diplôme sur votre CV, aide à la fois le recruteur et vos chances d'être embauché.

(d'un développeur de logiciels qui a étudié certains H.H.R.R.)

0
umlcat

Eh bien, quand je suis entré dans CS, je pensais que wow, je suis vraiment bon comme je suis et je ne vais rien apprendre ici ... Après 5 ans, j'ai seulement appris à travailler en équipe, et certaines choses de l'ingénierie qui me sépare de quelqu'un qui ne peut écrire que du code et de quelqu'un qui peut penser à ce qu'il fait avant de coder, bref, cela m'a appris à penser avant même de taper une seule lettre dans mon éditeur de texte ou mon idée.

0
Coyote21