Je suis un programmeur autodidacte et je viens de commencer un diplôme en informatique pour compléter mes connaissances et combler les lacunes.
Cependant, je discute déjà de l'orientation de mon éducation. Je veux un baccalauréat de 4 ans à coup sûr, mais après cela, je ne suis pas sûr: cela vaut-il la peine d'obtenir un M.Sc? Et un doctorat? Quelles opportunités ces diplômes ouvrent-ils?
Actuellement, mon objectif est d'être un développeur de logiciels, mais il existe un certain nombre de domaines fascinants dans l'industrie du logiciel et je suis certainement intéressé à en étudier beaucoup. C'est à cet égard que je pense qu'un diplôme supérieur peut en valoir la peine - même si cela n'aiderait pas nécessairement une carrière de développement logiciel.
Alors ça vaudra le coup? L'école supérieure ouvrira-t-elle ses portes?
L'obtention d'un doctorat vous fait deux choses et cela prend jusqu'à 4 ans ou plus. Vous devrez décider si ces deux choses valent le coup. Tout d'abord, il vous donne quelques initiales après votre nom. Pour le reste du temps, les gens qui verront ces initiales penseront "wow, tu dois être vraiment intelligent!" (et souvent, ils le diront à voix haute.) Sur un curriculum vitae, cela vous aidera généralement, bien que dans certaines circonstances cela puisse vous blesser, avec des gens qui pensent que vous êtes surqualifié ou un tête-à-tête.
Deuxièmement, et plus important à mon avis, ce sont les changements dans votre cerveau et votre attitude qui se produisent au cours du diplôme. Vous finirez par en savoir plus sur une petite partie du monde que toute autre personne. Vous vous tiendrez devant 3 ou 4 personnes qui sont des experts, parfois des experts de renommée mondiale, et leur apprendrez votre travail. Lorsque vous entrez, ces experts seront le superviseur, l'examinateur, les "patrons" d'une sorte et lorsque vous sortez, ils seront vos pairs. Vous en apprendrez beaucoup sur un coin de l'informatique et beaucoup plus sur vous-même et vos capacités. Vous serez confiant d'être "l'expert" en cas de besoin. Et cela change tout.
À moins que vous ne sachiez maintenant que vous voulez être un prof ou rejoindre un laboratoire de recherche particulier, il me semble inhabituel que vous puissiez décider du doctorat avant de faire le travail de premier cycle. Allez faire le premier cycle et faites-vous des amis avec des étudiants diplômés. Ils vous diront tout ce que vous voulez savoir sur la vie d'un étudiant diplômé, la vie d'un bébé prof, les perspectives d'emploi lorsque vous êtes absent, et plus encore.
Je ne regrette pas le temps que j'ai passé sur mon doctorat. Cela m'a ouvert de nombreuses portes. Cela m'a rendu plus mémorable ("non, vous êtes la femme avec le doctorat, n'est-ce pas?") Et a été un atout pour certaines de mes équipes indépendamment de mes capacités ou de mes connaissances ("nous avons un doctorat dans notre équipe ! "). Mais l'industrie que j'ai rejointe à l'époque n'est pas celle que vous rejoignez maintenant. Parlez à des gens qui sont dans le vif du sujet maintenant, puis prenez une décision à la fin du travail de premier cycle.
Quelqu'un peut-il nommer le PDG d'une grande entreprise qui a un doctorat en informatique? Steve Jobs? abandonné l'université, parce qu'il détestait les bits ennuyeux. Bill Gates? a également abandonné car il se sentait entouré de gens pas aussi intelligents que lui (basé sur GPA).
J'ai travaillé pour des entreprises qui ont des programmeurs incroyables qui travaillent sur des systèmes incroyables, dont certains utilisent tous les jours (par exemple Windows) et d'autres qui aident les industries à s'entendre (par exemple XML et SOAP). Beaucoup de ces gars étaient autodidactes et ont étudié des sujets autres que l'informatique, par exemple la physique ou le génie électronique. La raison de la programmation dans leur vie était comme un outil pour faire leur travail, plutôt que d'étudier la programmation pour apprendre à faire de la programmation.
J'ai également travaillé avec le gouvernement et de grandes entreprises qui ont d'étonnants diplômés de Cambridge qui ont eu non seulement un, mais deux doctorats. Ce sont des gars incroyablement intellectuels qui ont créé des solutions sophistiquées et élégantes à des problèmes très spécifiques dans des domaines tels que les communications et le traitement du signal. Ils n'étaient pas riches et n'avaient pas non plus d'emplois de haut niveau dans leur département. C'était comme s'ils avaient été embauchés comme un "cercueil" et laissés seuls pour réfléchir à ces solutions.
D'après mon expérience dans l'industrie, il n'y a aucune corrélation entre la capacité de programmation et le niveau d'éducation formelle dans le domaine de l'informatique. À mes débuts en tant qu'ingénieur logiciel, j'ai vu des gens promus devant moi dont la programmation n'était `` pas aussi bonne que la mienne '' (OMI, bien sûr) - mais ils avaient les compétences en ingénierie sociale pour déterminer quelles étaient les bonnes choses à dire les bonnes personnes et quand. Ils n'ont pas progressé - ils pouvaient faire le travail, c'est juste que d'autres compétences (parler aux clients, respecter les délais, etc.) étaient également importantes, donc ils n'ont pas passé 100% de leur temps à coder comme je l'ai fait .
J'ai appris une leçon importante - si vous avez le feu en vous pour réussir, vous trouverez la solution, la programmation ou autre, au problème commercial en main afin de rendre votre entreprise/département plus prospère et donc plus rentable.
De tous les programmeurs que j'ai embauchés, je me moquais de leurs antécédents scolaires. S'ils réussissaient les tests de programmation et que mes ingénieurs principaux étaient satisfaits de leurs capacités, l'éducation n'avait pas d'importance. L'un des meilleurs gars que nous avons embauchés était tout droit sorti de l'école, c'est-à-dire qu'il n'avait aucun diplôme.
En résumé, si vous êtes passionné par la technologie et l'art/science de la programmation elle-même, poursuivez certainement un chemin académique passionnant et passionnant. Si vous cherchez à aller dans des endroits et à réussir au-delà de la simple programmation, élargissez votre champ d'action pour inclure d'autres compétences telles que les affaires et la psychologie/sociologie. Décidez de ce que vous voulez vraiment dans 10, 20 ou 30 ans, puis revenez en arrière pour déterminer la ligne de conduite qui vous permettra d'atteindre ces objectifs.
Pour répondre à votre question: un doctorat est bon pour quelque chose de vraiment niche. Cela ne paiera probablement pas bien, mais cela pourrait être intéressant.
Eh bien, j'ai suivi la voie du doctorat (lentement et douloureusement). Je n'avais pas de "but", comme comment cela pourrait m'aider à trouver différents types d'emplois. Je l'ai fait parce que je voulais savoir des choses.
J'avais été programmeur, et je pensais que la programmation était à peu près un sujet coupé-séché, sauf que j'avais lu le livre d'Isa Asimov "I, Robot", et je voulais pouvoir construire des robots, et je ne savais pas comment. Je voulais savoir comment faire penser, comprendre le langage naturel, voir, marcher, etc. à un ordinateur. Le fait est qu'il y avait des choses que je ne savais pas faire et que je voulais découvrir.
Alors, quel est le résultat? J'ai appris quelque chose sur la façon de faire réfléchir, voir, etc. les programmes informatiques, mais j'ai aussi appris que ce sont des sujets beaucoup plus profonds et plus larges, dignes d'une vie de recherche. En cours de route, j'ai appris beaucoup de théorie et de mathématiques et j'ai appris qu'il y avait encore beaucoup à apprendre.
J'ai également appris beaucoup de choses qui m'aident à développer un logiciel sur lequel j'ai écrit un livre et quelques articles, et posté sur stackoverflow. Bien que je pense que cela me rend plus efficace, je pense que cela me rend également un peu étranger dans les équipes de programmation.
Cela vous a-t-il aidé? Je suppose. Je ne voudrais pas être la personne que j'étais avant.
Il y a une idée fausse dans la communauté de développeurs typique qu'un doctorat n'est requis que si vous voulez "enseigner". Son probablement un raccrochage de l'ancien temps où la plupart des doctorants allaient dans le monde universitaire, mais de nos jours de nombreux doctorants (en particulier les diplômés en ingénierie/informatique) vont dans l'industrie soit en effectuant des recherches dans des laboratoires ou en effectuant des travaux de développement difficiles dans des sociétés de premier plan telles qu'Intel , Oracle, Google, Microsoft, etc.
Aux États-Unis en particulier, avec l'avènement des retombées des idées de transfert de technologie/recherche du monde universitaire aux startups, il existe désormais un lien étroit entre la recherche menée dans les universités et les start-ups ... Stanford, MIT, Floride, CMU et autres sont les exemples populaires, et personne n'a besoin de rappeler que Google était également un projet de recherche.
Faire un doctorat est une décision personnelle, mais cela vous donne un aperçu approfondi de certains domaines et impose un niveau de dévouement et de persévérance pour lutter contre les cotes et les critiques difficiles ... accessoirement, des compétences qui sont également requises par les start-ups. Je ne dis pas qu'il n'est pas possible de réussir sans un doctorat ... tout comme les programmeurs autodidactes qui peuvent bien coder sans aller à l'université, il existe de nombreux exemples de programmeurs avec seulement un Bsc. ou MSc. qui ont appris des concepts avancés de technologie/CS et ont réussi dans les meilleures entreprises du monde entier.
Dans l'ensemble, je pense que c'est un grand sujet de discussion, mais un doctorat de nos jours n'est pas seulement pour l'enseignement ..
Cela pourrait ouvrir des postes et des emplois plus techniques dans les grandes entreprises de type Oracle. La chose importante qu'il fait est cependant vous donne une spécialité très ciblée. Pour les employeurs, vous êtes le meilleur qu'ils peuvent trouver dans cette spécialité (au moins sur papier).
C'est en fait une question vraiment difficile car il va y avoir beaucoup de facteurs en jeu et ils peuvent ou non s'appliquer à vous personnellement en fonction d'un certain nombre de variables. En général, lorsque vous approchez de l'éducation formelle, vous devez examiner vos propres compétences et quels sont vos objectifs de carrière à long terme. Alors que certains soutiendront qu'il n'y a pas de corrélation entre les compétences en programmation et l'éducation, la plupart ont du mal à affirmer que l'éducation (par exemple, éducation formelle, ateliers, cours ponctuels, lecture d'un livre, etc.) va inhiber vos compétences en programmation et dans de nombreux cas, il les améliorera réellement. Ainsi, l'éducation a tendance à toujours jouer en votre faveur sur le long terme.
Du point de vue du développement de carrière, selon qui vous travaillez (ou pour qui vous voulez travailler), votre éducation influencera probablement le chemin que votre carrière peut prendre. Bien que vous puissiez réussir sans aucun diplôme, vous constaterez que l'obtention de l'emploi de vos rêves peut dépendre fortement de votre formation. Cela est dû au fait que la plupart des moyennes et grandes entreprises ont tendance à exiger que leurs employés aient un certain niveau d'éducation formelle qui peut être une condition d'embauche. Ainsi, pour chaque personne dont vous entendez parler qui ne tient pas compte de l'éducation lors de l'embauche, vous rencontrerez des départements des ressources humaines (RH) qui indiqueront que "un baccalauréat en informatique est requis" dans leur liste des emplois et ne prendra même pas la peine de consulter un curriculum vitae qui n'en contient pas.
En termes de hiérarchie éducative, vous pouvez généralement vous attendre à voir les choses fonctionner comme suit:
Pour compléter le reste, voici quelques autres formes d'éducation formelle que vous pouvez rencontrer:
Alors revenez au point d'origine, un doctorat. peut être d'une valeur douteuse si vous êtes à la recherche d'un emploi en tant que développeur, mais peut vous mener assez loin si vous souhaitez travailler avec de nouvelles technologies qui ne sont pas encore hors du laboratoire. En général, plus d'études ne vous nuiront pas, mais vous devez être à l'aise avec les investissements en temps qui sont impliqués dans les études.
Les études supérieures en valent la peine lorsque vous envisagez de faire carrière dans le domaine universitaire. Pour un emploi typique dans le développement de logiciels, les études supérieures ne sont pas du tout une exigence.
Cela vous serait bénéfique dans le sens où vous obtiendriez probablement plus d'entretiens grâce à un doctorat. l'air assez impressionnant sur votre CV. Mais en termes d'utilisation de vos connaissances, vous devez rechercher un emploi spécialisé ou faire plus de recherche que de développement pour vraiment récolter les fruits.
Cela dit, je pense qu'un baccalauréat en vaut vraiment la peine. Il vous expose au monde de l'informatique et vous donne les bases qui facilitent l'apprentissage plus approfondi des aspects qui vous intéressent ou sont nécessaires pour votre travail.
Il offre une énorme augmentation de salaire si vous travaillez pour le gouvernement.
Voir Niveaux GS .
Pour l'anecdote, j'ai entendu dire que cela pouvait faire une différence de 30 000 par an.
La qualification de doctorat est bonne si vous souhaitez travailler pour des entreprises telles que Oracle, Google, Microsoft, IBM, etc. Ne le faites pas simplement à cause du titre car pendant ces 3 ou 4 ans, vous pouvez accomplir bien plus dans la vie que d'obtenir un autre morceau de papier. Vous économiserez du temps et de l'argent et ferez d'autres choses que vous aimez comme la danse, la cuisine, le snowboard, les voyages, la gestion d'une entreprise, etc. Enfin, ne précipitez pas la décision. Prenez votre temps et découvrez ce que vous voulez vraiment faire et ce qui vous rend heureux. Si vous aimez simplement développer des logiciels, un diplôme de premier cycle convient à de nombreuses entreprises.
Les diplômes avancés (MBA, MSC, etc. (c'est-à-dire, et cetera - il n'y a pas de diplôme ETC - AFAIK :-)) sont utiles et parfois même nécessaires si vous voulez être un gestionnaire de niveau intermédiaire dans une grande entreprise (Fortune 500). Les doctorats sont nécessaires si votre objectif est d'enseigner au niveau universitaire, ou de travailler dans un institut de recherche ou au centre de recherche d'une grande entreprise, ou si vous voulez accrocher un morceau de papier au mur pour impressionner les gens.
Ce n'est que la vue du centre du pays - les perceptions sur les côtes peuvent être différentes. YMMV.
D'après mon expérience personnelle, 3 ans d'expérience pratique dans une industrie informatique avec un diplôme ou un post-diplôme gagneraient certainement plus de poids qu'un doctorat.
Du point de vue de l'emploi dans l'industrie informatique, les diplômés issus des arts et des sciences comme BSC pourraient certainement opter pour un diplôme post-diplôme comme un MCA ou MSC agirait comme un catalyseur pour entrer dans un Industrie informatique.
Dans notre entreprise, alors que nous avions l'habitude de recruter des développeurs de logiciels, l'exigence minimale était un diplôme en arts et sciences avec une programmation appropriée et des compétences logiques assorties de tests de programmation pratiques, mais comme la concurrence a augmenté au fil du temps, la qualification minimale a été changée en ingénierie ou un diplôme d'études supérieures.
J'ai un M.Sc, ça ne m'a rien aidé. 2 ans de ma vie perdus à jamais. Au moins en Roumanie, dans le développement de logiciels, les connaissances sont les plus importantes. Un diplôme d'études collégiales aide un peu et dans certaines circonstances spécifiques.
M.Sc et Ph.D ne sont bons que si vous avez des projets de carrière dans l'enseignement ou la recherche.