Je viens de terminer mon baccalauréat en informatique. J'ai un grand intérêt pour le codage et je veux vraiment être un professionnel. Maintenant, en dehors des cours collégiaux, j'ai appris la programmation (C #) par moi-même (la programmation au niveau collégial est trop basique). Maintenant, je sens que j'ai besoin d'un peu plus de temps pour être proche d'un programmeur professionnel. Mais certains de mes aînés disent que la programmation du monde de l'entreprise est trop différente de la programmation livresque, il est donc inutile de perdre du temps. (Ce ne sont pas des programmeurs eux-mêmes, c'est probablement ce qu'ils ont entendu).
Aurais-je avantage à atteindre un niveau avancé de C #? ou comme un niveau médiocre est suffisant pour briser les entretiens, les niveaux supérieurs n'ont pas d'importance pour les entreprises car elles comptent sur leur formation uniquement pour enseigner comment les choses fonctionnent dans le monde de l'entreprise et en apprendre plus ne m'aidera pas beaucoup? S'il vous plaît, s'il y a des programmeurs professionnels qui peuvent vous aider, je promets que c'est quelque chose que tous les étudiants intéressés par la programmation veulent demander à mon stade. "Comment passez-vous réellement de l'apprenant au professionnel dans le domaine de la programmation?" - continuer à apprendre jusqu'à ce que vous soyez parfait ou rejoindre une entreprise est indispensable une fois les bases couvertes?
la source
Réponses:
Il existe de nombreuses différences entre la programmation à l'école et dans le monde réel. Je ne suis pas sûr qu'il existe une chose telle que la programmation d'entreprise .
Selon l'endroit où vous travaillez, il y aura d'énormes différences. Il y aura également d'énormes différences selon les tâches à accomplir.
Cependant, il existe encore des problèmes communs.
le cycle de vie du code du monde réel est très différent des devoirs du collège. Dans la programmation du monde réel, vous travaillez généralement sur une base de code existante. L'un des plus grands problèmes est d'éviter de rompre la compatibilité avec le code utilisé par vos clients (qui peuvent être des clients internes ou externes, selon votre lieu de travail et votre cas). Le code que vous écrivez sera également probablement utilisé pendant des années par la suite (cela dépend: le problème n'est pas le même pour un site Web ou un code intégré à certains appareils). Si vous voulez vous y préparer, prenez l'habitude d'écrire des tests unitaires et des tests fonctionnels pour chaque morceau de code. Cela ne se fait pas toujours avec le code du monde réel, mais cela devrait vous simplifier la vie au collège et dans le monde des affaires.
la conception / les exigences sont généralement beaucoup plus floues dans le monde réel que dans une atmosphère collégiale. Lors de l'écriture de code professionnel, quelqu'un doit définir le but du code, et on ne vous donne pas simplement des problèmes de jouets ou même des problèmes bien connus. Il est très probable que tôt ou tard ce soit vous qui fassiez la conception! Les clients ne savent généralement pas ce qu'ils veulent (et même lorsqu'ils savent ce qu'ils veulent, ce n'est peut-être pas ce dont ils ont besoin), et les gestionnaires décrivent généralement l'ensemble, laissant de nombreux détails et choix aux programmeurs. Selon les méthodes suivies ("agile" -vs- "V cycle", etc.), les choix et la définition détaillée des problèmes peuvent se produire tôt ou tard, mais vous devez au moins garder un esprit ouvert et vous demander si vous faites réellement quoi est requis. Vous pouvez également envisager de modifier les exigences si la tâche en cours est trop difficile à coder ou est inefficace. Vous pouvez finir par écrire quelque chose d'inutile ou de trop compliqué de toute façon parce que le client ou votre manager n'a pas compris votre point de vue ou qu'il n'est pas d'accord avec vous. Pourtant, vous devez toujours remettre en question les exigences (c'est une compétence de survie). Gardez également à l'esprit que les exigences peuvent changer au milieu d'une tâche, et vous devriez être prêt pour cela.
au collège, lorsque vous obtenez un devoir, vous êtes généralement censé écrire du code. Dans le monde réel, vous commencez généralement par vérifier si vous pouvez utiliser le code existant à la place: réutiliser ou modifier des parties d'un projet, utiliser ou acheter des bibliothèques, etc. Si vous trouvez un code existant qui correspond à la tâche, vous pouvez finir par l'utiliser ou non (il peut y avoir des problèmes de maintenance, des problèmes de performances, des problèmes de droits d'auteur ou même des problèmes de prix), mais la possibilité de réutiliser le code existant doit généralement être envisagée.
Il existe évidemment de nombreux autres problèmes liés au travail d'équipe, à l'échelle du projet, etc.
la source
La principale différence entre la programmation d'entreprise et la programmation collégiale est l'échelle. À l'école, vous n'obtenez jamais un devoir qu'une personne ne peut pas commencer et terminer au cours d'un semestre. En tant que professionnel, vous pourriez travailler avec des dizaines d'autres programmeurs sur des logiciels qui durent des années sans être «terminés».
Au niveau micro, le travail n'est pas si différent. Après tout, si c'était trop différent, un diplôme universitaire n'aurait aucune valeur pour les entreprises. Mais c'est un peu comme la différence entre la cuisson de 12 biscuits et la cuisson de 12 000 cookies. Vous pouvez être vraiment bon dans le premier et complètement désemparé dans le second.
À l'école, vous êtes principalement soucieux de faire un bon programme. Au travail, votre logiciel n'est pas suffisant. Il doit être maintenable, testable, efficace et pouvoir être utilisé simultanément par plusieurs personnes. C'est quelque chose que les écoles essaient d'enseigner, mais vous ne pouvez pas vraiment l'apprendre complètement, sauf en le faisant.
la source
Cette question est basée sur une hypothèse non valide:
Vous devenez un professionnel en étant payé pour le faire. Vous n'arrêtez jamais d' être un apprenant. Si vous le faites, votre carrière est terminée.
Sortez dans le monde et trouvez un emploi. Votre enthousiasme pour l'apprentissage est un atout.
la source
Réponse courte, oui - le monde de l'entreprise est très différent de celui de nombreux environnements universitaires.
Cela dit, les entreprises le savent. Nous nous attendons à ce que les diplômés universitaires soient presque inutiles. Si vous avez consacré du temps à votre propre apprentissage de la programmation, c'est parfait. Vous n'avez pas besoin d'être super génial pour postuler, mais comprenez que rester médiocre ne le coupera pas.
Vous n'apprendrez pas beaucoup de ce dont vous avez besoin en affaires par vous-même. Postulez dès que possible tout en continuant à apprendre par vous-même.
la source
Non. Nous nous attendons à ce que les étudiants soient inutiles pendant plusieurs mois pendant que nous les introduisons. Le diplôme n'est que des enjeux de table. Votre enthousiasme à apprendre et à suivre les instructions est votre meilleur atout. Lorsque j'interroge des diplômés d'université, je veux un joueur d'équipe qui ne s'intègre pas et qui ne perturbe pas le groupe.
C'est différent pour chaque entreprise, mais en général, les grandes entreprises auront une formation plus structurée. C'est votre première grande décision, vous aimez la formation formelle et un haut degré de structure? Si c'est le cas, recherchez des emplois qui offrent cela.
Vous passez d'un étudiant à un pro en obtenant un emploi. Je recommande aux aînés d'obtenir une coopérative avec une entreprise par l'entremise de votre école. C'est la meilleure façon de vous mouiller les pieds et de surmonter l'anxiété d'une nouvelle profession.
Obtenez un emploi, n'attendez pas. Il est courant d'être nerveux, mais soyez honnête au sujet de vos compétences et ne cachez pas votre enthousiasme pour en savoir plus. Il est courant de changer d'entreprise plusieurs fois, surtout au début de sa carrière.
Félicitations pour avoir terminé votre diplôme et bonne chance dans votre cheminement vers une programmation professionnelle.
la source
Je dirais que la différence fondamentale entre la programmation au niveau de l'entreprise et au niveau collégial est que la programmation au niveau de l'entreprise est beaucoup plus un processus collaboratif que ce que vous rencontrerez en classe et l'accent est beaucoup plus mis sur le développement de produits que sur l'apprentissage pédagogique.
la source
Si vous vous attendez vraiment à ce que la programmation du monde de l'entreprise soit une culture de programmation avancée de haut niveau, je pense que vous serez plutôt déçu. La programmation dans le monde de l'entreprise consiste davantage à être en mesure de prendre la responsabilité du code que vous écrivez et de le maintenir maintenable.
Mais à ta question
Cela n'a rien à voir avec la programmation de niveau entreprise et collégial, mais la programmation en général. Si vous voulez vraiment apprendre à commencer à construire votre propre logiciel, quelque chose que vous voulez construire ou commencer à travailler dans des projets logiciels open source. Posez des questions auxquelles vous êtes confronté. Et lisez le code des autres.
la source
La réponse de Karl au sujet de l'échelle est parfaite. Vous ne pouvez pas trier un tableau de 15 numéros, vous devrez trier un ensemble de données d'un million, disons, de numéros de compte.
Une classe de structures de données et d'algorithmes vous indiquera probablement une douzaine de façons différentes de trier. Dans une application réelle, vous êtes susceptible de jeter une clause order by et de laisser la base de données l'optimiser.
En ce qui concerne la préparation au monde de l'entreprise, je suggère deux façons: b) Avec toutes les boutiques d'applications autour, vous pouvez essayer d'écrire et de publier une application sur les magasins Apple / Google / MS. Cela vous aidera à mieux comprendre les flux de travail, la valeur des tests, la nécessité de configurer le bon environnement et les bons outils et plus encore.
la source
La principale chose dont vous avez besoin pour réussir dans la programmation d'entreprise est la patience et la capacité de communiquer avec des utilisateurs qui ne comprennent pas la technologie. Assurez-vous que vous utilisez les tests unitaires, le contrôle de version, déboguez soigneusement et utilisez le traçage / journalisation approprié. Les langues peuvent changer, mais rester calme et rechercher soigneusement les problèmes fonctionnera toujours.
la source
à côté de l'excellente réponse fournie, la "programmation d'entreprise" concerne également des exigences qui ne sont pas claires ou qui ne changent pas.
Que feriez-vous si votre professeur modifiait les exigences de votre programme de devoirs deux jours avant de le livrer?
Dans l'industrie, c'est assez courant.
la source