web-dev-qa-db-fra.com

Je suis diplômé en informatique mais je n'ai pas l'impression de savoir comment programmer

Je suis diplômé en informatique, mais je vois des sites Web comme Stack Overflow et des moteurs de recherche comme Google et je ne sais même pas où commencer à écrire quelque chose comme ça. Pendant un été, j'ai eu l'opportunité de travailler en tant que développeur iPhone, mais j'avais l'impression de coller principalement des bibliothèques que d'autres personnes avaient écrites avec peu de compréhension des mécanismes qui se déroulaient sous le capot.

J'essaie d'améliorer mes connaissances en étudiant des algorithmes, mais c'est un processus long et douloureux. Je trouve les algorithmes difficiles et au rythme que j'apprends, une décennie se sera écoulée avant de maîtriser le contenu du livre. Compte tenu de ma situation actuelle, j'ai passé un mois à chercher du travail mais mes compétences (C, Python, Objective-C) sont relativement peu profondes et ne sont pas si souhaitables sur le marché local, où C #, Java et le développement Web sont beaucoup plus élevés en demande. Cela ne veut pas dire que les opportunités C et Python n'existent pas mais elles ont tendance à exiger plus de 3 ans d'expérience que je n'ai pas. Mon GPA est OK (3.0) mais ce n'est pas assez élevé pour postuler aux grandes entreprises comme IBM ou revenir pour des études supérieures.

Fondamentalement, je suis diplômé en informatique, mais je n'ai pas l'impression d'avoir appris à programmer. Je pensais que rejoindre une entreprise et programmer à temps plein me donnerait une chance de développer mes compétences et d'apprendre de ceux qui sont plus expérimentés que moi, mais j'ai du mal à trouver du travail et je commence à être vraiment frustré.

Je vais élargir mon filet et regarder au-delà de la ville dans laquelle j'ai grandi, mais qu'est-ce que d'autres personnes dans une situation similaire ont essayé de faire? J'ai travaillé dur mais je n'ai pas la confiance nécessaire pour sortir seul et écrire ma propre application. (Autrement dit, devenez un développeur indépendant sur le marché des applications iPhone.) Si rien ne se présente, je devrai envisager de mettre à niveau et d'apprendre des compétences plus populaires ou d'essayer quelque chose de marginalement lié comme l'informatique, mais compte tenu de tous les efforts que j'ai déployés, comme arrêter.

1050
wp123

Wow ... beaucoup de commentaires intéressants la plupart sont bons.

J'ai appris la programmation toute seule, ce qui ne veut pas dire que vous devez le faire. Mon fils va à l'université et est sur le point de terminer. Il est toujours difficile de trouver un emploi lors de votre premier diplôme.

Quand vous avez fait les programmes simples pendant le cours, les avez-vous appréciés? Si vous l'avez fait au début, vous pourriez être au bon endroit, sinon cherchez à faire des exigences si vous aimez taper des documents.

Il semble que vous souhaitiez en savoir plus, car vous n'aimiez pas l'expérience iPhone de simplement coller des choses ensemble. C'est un bon signe et non un mauvais signe.

La prochaine recherche d'un emploi dépend de si vous êtes dans une grande ville ou si vous vivez à la campagne.

Apprenez le HTML en créant votre propre petit site. Choisissez une langue Web ... (PHP, ColdFusion, DotNet) Créez quelques sites simples.

Prenez n'importe quel travail de développement Web ou de programmation qui vous offrira un emploi. Ne vous inquiétez pas de $$ au début. Votre objectif est la programmation de l'emploi. Il est difficile de programmer à la maison sur votre propre projet. Cependant, au travail, lorsque vous devez faire quelque chose, vous avez tendance à travailler beaucoup plus dur et si vous trouvez que ce n'est pas amusant, choisissez une autre carrière informatique. Cela arrive.

Prenez n'importe quel travail ... vous apprendrez ... si vous l'aimez, vous surmonterez.

Je n'ai jamais eu l'impression de savoir programmer, c'est un très bon signe. Je déteste travailler avec ceux qui ont l'impression de connaître très mal tout ce qu'ils ont tendance à coder et de ne rien documenter.

J'espère que mes commentaires vous aideront avec tous ces autres excellents commentaires.

1
Nathan Stanford

Vous commencez votre carrière de développeur de logiciels avec une fondation en informatique et un diplôme pour le prouver?! Comme c'est génial!

Bien que vous puissiez être préoccupé par la recherche d'un emploi et le fait de ne pas avoir les compétences requises pour le génie logiciel avec un diplôme CS, imaginez être au même endroit sans un CS diplôme. C'est exactement là où j'étais il y a un an.

J'ai coupé mes dents dans la programmation en créant des macros monolithiques dans Excel et Access en utilisant VBA et j'ai réussi à prendre un peu de SQL en cours de route. Il y a environ un an, j'ai décidé que je voulais commencer une carrière dans le développement de logiciels, mais je ne pouvais pas imaginer comment je trouverais un emploi sans diplôme CS (j'ai un BA en philosophie, de toutes choses) et avec zéro "professionnel "expérience de développement. Qui, dans leur bon sens, m'engagerait?

J'ai décidé de me concentrer sur l'obtention d'un emploi dont l'objectif serait d'écrire des applications commerciales, j'ai donc décidé de perfectionner mes compétences en .NET et C #. Il y a 9 mois, je n'avais jamais écrit une seule ligne de code .NET. Mais j'ai plongé; et je suis monté au-dessus de ma tête; J'ai lutté; Je suis allé à autant de groupes d'utilisateurs que j'ai pu trouver; Je lis des blogs sur le codage; Je me suis embarrassé (et je le fais toujours) sur Stack Overflow; J'ai écouté des tonnes de podcasts juste pour me familiariser avec ce qui existe. Pourtant, je me sentais derrière, mais j'avais finalement surmonté ma peur de ne pas pouvoir faire quelque chose.

Il y a 2,5 mois, j'ai décroché mon premier emploi en tant que développeur professionnel ( j'ai écrit sur la façon dont j'ai trouvé l'emploi sur mon blog , au cas où vous seriez intéressé). Je suis maintenant en train de coder en VB.NET, VB6 et javascript et je continue d'apprendre des tonnes sur la programmation chaque jour. Mais si je peux trouver un emploi sans diplôme CS , je suis convaincu que vous pouvez développer vos compétences et en trouver un aussi.

1
Ben McCormack

Je ne sais pas si cela sera effectivement lu, mais je ressens le besoin de le mettre en avant.

Le collège ne m'a pas beaucoup appris. Quelques structures de base de programmation et de données. Rien d'extraordinaire. Cependant, cela m'a montré comment j'apprends le mieux. J'apprends en faisant ce qui est conforme à beaucoup de messages ici. J'ai également appris que j'aime créer des trucs via du code un peu comme un travailleur du bois aime créer des trucs en bois. Donc entre ces deux choses, j'ai pris le temps de faire quelque chose pour l'apprendre.

Un employeur sait ce qu'il obtient d'un diplômé d'université. Ils savent que le diplômé ne sait pas grand-chose. Cependant, certains employeurs adorent cela, car ils peuvent ensuite adapter la nouvelle personne à leur culture et à leur état d'esprit. Ils vous apprendront les cordes pour vous faire rouler. Soyez prêt à apprendre. Cela a ses hauts et ses bas.

Ne le transpire pas. L'industrie informatique a été l'une des moins touchées par la récente récession. Il y a des emplois. L'entreprise pour laquelle je travaille vient d'embaucher un groupe de nouveaux diplômés. L'astuce consiste à les trouver.

Bonne chance.

1
Tony

Vous venez d'exprimer ce que je ressens pour moi-même. Je suis presque diplômé en informatique et comme beaucoup d'entre nous, je viens d'apprendre les algorithmes théoriques et de développer très peu de projets intéressants. Mais comme l'a dit Keith Nicholas

Je trouve que les gens qui ont tendance à faire mieux sont ceux qui, au début de leur carrière, font l'effort de développer leurs compétences à leur rythme. Généralement parce qu'ils sont véritablement passionnés par le développement de logiciels.

J'ai raté ce point important et je viens de faire ce qu'ils m'ont demandé de faire à l'Université. Ce sera la première étape dans laquelle j'entrerai.

Pour le moment où j'essaie de faire quelque chose de plus, je ressens à nouveau aussi bien que vous l'avez dit:

Je me sentais comme si je collais principalement des bibliothèques que d'autres personnes avaient écrites avec peu de compréhension de la mécanique.

Je suis reconnaissant pour votre message et pour de nombreuses réponses, conseils et liens qu'ils ont écrits à "nous".

1
soneangel

Vérifiez http://greatmaps.codeplex.com/ . Au début, je ne savais pas comment le faire;} Donc, vous le faites simplement en le faisant.

PS. Je n'ai pas de diplôme "officiel", de perte de temps.

1
radioman

+1. L'intérêt est très important et le codage nécessite parfois plus de patience!

1
Fisher

Gardez à l'esprit deux choses:

  1. Vous n'apprenez pas à programmer (applications) dans un programme informatique. Les applications réelles ne sont pas des problèmes de devoirs "d'une bouchée" d'une semaine ou de deux semaines. Il faut beaucoup de planification et de coordination pour obtenir une application réelle et opérationnelle. C'est un état d'esprit différent de celui auquel vous êtes habitué, mais croyez-moi, vous y arriverez.

  2. Peut-être que les choses sont différentes maintenant; mais quand je suis allé à l'université, seuls deux ou trois de mes professeurs travaillaient comme programmeurs (premier cycle ET diplômés). Alors peut-être que vous ne vous sentez pas préparé à la programmation d'applications parce que vous avez appris à être des gens qui n'ont jamais travaillé sur de vraies applications. Cela ne veut pas dire que ce que vous avez appris est inutile ... la création d'applications ne se limite pas à la programmation. Cela signifie simplement que vous avez encore beaucoup à apprendre. Et c'est OK, vous entrez dans un domaine où vous n'arrêtez jamais d'apprendre.

1
Giovanni Galbo

Continuez à apprendre et vous gagnerez en confiance :)

1
joven

Je serai dans votre même bateau exactement mon ami dans environ un an (diplômé à peu près 2011/2012). Alors que notre école enseigne le développement en Java, je passe beaucoup de mon temps libre à lire sur d'autres langages tels que ASP.NET, PHP, Ruby, TDD, MVC, DDD etc ... parce que j'adore ça. Il y a quelque chose dans la capacité de prendre du code et de le transformer en quelque chose qui peut potentiellement aider des millions d'utilisateurs, tout en vous faisant gagner de l'argent. C'est comme un art si vous me demandez.

Vous ne pouvez que vous améliorer avec la pratique. À tout moment, j'ai des projets Web, des projets Winform, WPF et plus de projets en même temps, donc je ne m'ennuie pas. Ces projets n'ont même pas besoin d'être commercialisés (mais ils pourraient l'être). Ils sont principalement destinés à m'aider à apprendre différentes technologies.

Bonne chance à toi!

1
Jack

Je suis un autre qui va recommander de rester coincé dans un projet personnel ou deux.

Personnellement, je n'ai aucune qualification officielle en programmation, à part quelques cours de programmation de premier cycle pour les étudiants non informaticiens - mon domaine d'expertise est en fait en génie mécanique.

La raison pour laquelle je mentionne ceci est parce que je travaille actuellement en tant qu'ingénieur logiciel pour une grande organisation de recherche, où la programmation est ma seule et unique responsabilité. Comment? Parce que j'ai acquis une expérience phénoménale en programmant simplement comme un hobby. Je ne saurais trop insister sur la quantité de bricolage dans mon temps libre qui m'a aidé à décrocher mon emploi.

Ce que j'essaie de faire comprendre, c'est que ce que vous apprendrez à faire de la programmation réelle est l'une des expériences les plus précieuses que vous puissiez obtenir - et peu importe que cela fasse partie d'un cours officiel ou que vous vous contentiez de jouer dans votre pièce de rechange temps.

Cela ne veut pas non plus dire que ce que vous avez appris dans le cadre de votre cours n'est pas important - il constitue un cadre précieux sur lequel vous pouvez bâtir votre expérience. Je sais certainement que je serais beaucoup mieux avec une formation informatique officielle - j'ai perdu le compte du nombre de fois où j'ai été coincé sur quelque chose de simple, ou perdu la trace de ce dont parle mon patron, simplement parce que tout qui manquait.

Je pense que vous ferez très bien dans le "vrai" monde. Vous gagnerez de l'expérience simplement en travaillant, et tout employeur décent le sait et n'attendra pas plus de vous que vos meilleurs efforts et un engagement à apprendre de votre expérience. De nombreux employeurs (y compris le mien) s'occupent spécifiquement de leurs recrues diplômées, en utilisant des mentors et des programmes de formation pour améliorer cette expérience. Et si vous sentez que vous pourriez utiliser plus d'expérience, je vous recommande vivement de faire quelques bricolages pendant votre temps libre.

Je terminerai en soulignant que nous n'arrêtons jamais vraiment d'apprendre. Vous commencez peut-être votre carrière, mais vous continuerez à apprendre et à acquérir de l'expérience grâce à votre travail, votre employeur, vos mentors et par vous-même. N'ayez pas peur de n'avoir pas encore tout appris - il reste encore beaucoup de temps pour acquérir de l'expérience.

Bonne chance dans votre future carrière! Au plaisir de vous trouver débordant SO avec des questions liées au travail bientôt!

1
Mac

Juste une petite note, quelque chose qui me manque dans les autres réponses sages que vous avez déjà reçues. Si vous suivez les conseils utiles "faites quelque chose", je vous suggère de vous faciliter les choses. J'aime utiliser la blague "marcher sur l'eau et développer des logiciels à partir d'une spécification sont faciles si les deux sont figés" ...

Donc, si vous décidez de "faire quelque chose",

  • décidez de ce que votre programme va faire (exigences)
  • de quelle manière il va se comporter (fonctionnel)
  • comment vous allez l'implémenter (technique)

et écrivez-le!

Si vous changez les papiers pendant le jeu, n'oubliez pas de vérifier les conséquences en cascade.

Amusez-vous et soyez prêt à être (très) patient.

1
mariotomo

Premièrement, si vous sentez que vous n'êtes pas prêt à être un programmeur professionnel, c'est à peu près le bon sentiment. C'est comme ça que je me sentais quand j'étais à mi-chemin de mon diplôme CS, et si je n'avais pas travaillé à l'université, j'aurais traversé la scène sans qualification pour coder mon chemin hors d'un sac en papier.

Mais vous améliorerez vos compétences assez rapidement et même un peu de manière prévisible lorsque vous obtiendrez ce premier emploi et que vous commencerez à apprendre des autres comment se fait cette "ingénierie logicielle". La clé du succès est de comprendre que vous apprendrez des autres, y compris des personnes avec lesquelles vous pourriez être en désaccord ou avec lesquelles vous ne vous entendez pas si bien. À l'apogée de ma carrière CS (j'ai depuis évolué vers d'autres choses), je dirige une équipe de 12 développeurs pour un important fournisseur de logiciels. Toutes les nouvelles recrues pensaient qu'elles étaient vraiment intelligentes. Ceux qui écoutaient avançaient plutôt bien et ceux qui continuaient de penser qu'ils étaient vraiment intelligents ne le faisaient pas.

Mais assez de ça. Permettez-moi de partager avec vous mes observations après 31 ans dans le secteur des logiciels.

Quand j'ai commencé, j'ai jeté du code. Et c'est assez normal - la plupart de vos affectations à l'université étaient probablement très petites et c'est ce que beaucoup de gens font avec de petits projets de codage. Ils sont assis devant leur ordinateur et continuent de taper jusqu'à ce que le problème soit résolu. Il n'y a rien de mal à cela et si vous développez de bonnes compétences de prototypage rapide, la capacité de sling code sera bien payante à l'avenir.

Après environ cinq ans, j'avais un assez gros corpus de travaux - certains d'entre eux étaient open source (nous l'appelions "domaine public") - collant un avis dans le code source qui dit "ce logiciel est dans le domaine public "), certains étaient" Pas d'utilisation commerciale "ou" Vous pouvez faire autre chose que le vendre. " Il n'y avait pas de GPL. Mais ce que j'ai appris après environ cinq ans, c'est que mon code puait parce que je ne pouvais pas comprendre ce que j'avais fait il y a plus de quelques années. Et à partir de cela, vous apprendrez que les commentaires sont votre ami - le code que j'ai écrit à la fin des années 80 avait un bon rapport code-commentaire. Code du début des années 80 - pas tellement. Mais cela vous donne une idée du problème - un diplôme universitaire de quatre ans ne suffit pas pour apprendre ce que vous faites mal.

Après dix ans, j'ai commencé à devoir réutiliser mon propre code d'une manière que je n'aurais jamais imaginée. Une partie du code a fonctionné, d'autres non, et au cours des prochaines années, je me suis lassé de retravailler mon code et j'ai appris à être architecte logiciel. J'ai du code dans le monde open source qui a maintenant 23 ans et une partie de la structure d'origine est toujours là. Voilà à quoi ressemble une bonne conception et une architecture solide - un vieux code qui a résisté à l'épreuve du temps, car les ordinateurs d'aujourd'hui ne ressemblent en rien aux ordinateurs il y a 23 ans. Mon téléphone est plus un ordinateur que les PC que j'avais il y a 20 ans. Donc, vous allez commencer à apprendre comment réellement concevoir un logiciel, et ce n'est vraiment pas quelque chose que vous pouvez apprendre dans un cours CS de 14 à 18 semaines qui se réunit 3 heures par semaine. Droite? Quand j'étais architecte, il me fallait mois pour concevoir le logiciel qui allait être développé dans la prochaine version. Alors, commencez à chercher des modèles - et c'est l'une des choses sur les langages orientés objet qui les rend attrayants (s'ils sont utilisés correctement). Ils vous font réfléchir davantage. Chaque fois que vous écrivez quelque chose, pensez à l'avenir.

De 15 à 25 ans, je dirige une équipe de développeurs. Certains étaient de nouvelles recrues, d'autres étaient expérimentés, et j'ai dû gérer ce que j'avais parce que je n'étais pas un gestionnaire qui pouvait aller embaucher uniquement les personnes que je voulais. Quelque part le long de la ligne, c'est ce que vous devrez apprendre à gérer - différentes personnes de votre équipe auront des compétences et des capacités différentes. J'avais des gars avec de bonnes compétences en réseautage, des gars avec de bonnes compétences multi-threading et des gars qui n'étaient que des développeurs génériques. Les gens qui ont progressé dans leur carrière sont ceux qui s'entendent avec les autres et ont pu apprendre d'eux. Lorsque vous obtenez ce premier emploi, trouvez un mentor. N'allez pas pour le plus brillant ou autre chose, trouvez quelqu'un qui est assez âgé pour que vous puissiez au moins comprendre ce qu'on vous enseigne. Mais quoi que vous fassiez, apprenez des autres autour de vous.

Au cours des dernières années, je me suis lassé d'être dans le secteur des logiciels en tant qu'entreprise. Je continue de développer des logiciels (mon application actuelle est d'environ 100KLOC Java - tous écrits par moi-même), mais je travaille principalement en dehors de l'industrie du logiciel. C'est un excellent domaine de carrière, et 30 ans était une belle balade.

1
Julie in Austin

Une question fantastique. À un certain niveau, votre question m'a fait penser à ce que je pensais lorsque j'étais diplômé de l'université.

Puisque vous avez dit que vous connaissez C et Python, ma suggestion sera de commencer à participer à tout projet open source utilisant ces langages. Allez sur sourceforge.net ou code.google.com et recherchez des projets qui utilisent C ou Python. Certains projets auront également des mentors. La beauté des projets open source est que vous pouvez commencer à contribuer dans n'importe quelle partie où vous vous sentez à l'aise et à partir de là. Au fur et à mesure que vous vous familiarisez avec le code, vous pouvez effectuer plus de tâches.

Bonne chance avec vos projets. Je suis sûr que vous trouverez quelques beaux projets qui pourraient avoir besoin de votre aide. La meilleure partie est que vous obtenez votre expérience et vous pouvez la montrer comme preuve dans votre recherche d'emploi.

1
yasouser

La programmation est un outil. La plupart des diplômes CS vous apprennent simplement à programmer. C'est comme apprendre à utiliser un marteau sans apprendre à construire quoi que ce soit. Si vous avez peu de connaissances sur le domaine d'un problème, vous aurez du mal à écrire un programme pour le résoudre. La vraie valeur que vous apporterez sera de résoudre des problèmes, pas d'être programmeur.

Après avoir obtenu un emploi à l'université, j'ai acheté de nombreux livres sur les problèmes rencontrés par l'entreprise. Maintenant, je suis considéré comme un "expert" dans un domaine sans rapport avec mon diplôme en informatique.

1
dwayne963

Je pense que vous devriez continuer à mettre vos efforts. Toutes les personnes qui ont réussi ont traversé ce processus, je veux dire ce que vous ressentez maintenant, mais des efforts persistants apportent certainement la beauté de l'esprit. Concentrez-vous sur un problème particulier à la fois, recherchez la solution avec une planification pour utiliser efficacement votre temps.

1
Subodh

Je suis d'accord avec timothyawiseman. Obtenir une certification!

Je recommande [texte du lien] [1]. Les compétences Internet sont absolument nécessaires, et leur examen Fondations vous teste sur les fondamentaux. Les examens Javascript et Perl vous procureront alors leur certificat professionnel.

Téléchargez également les éditions express gratuites du développeur Web et du serveur SQL de Microsoft et créez des sites Web. Pratiquez et pratiquez, puis procurez-vous les manuels de MS et passez leurs examens 70-536 et 70-562 pour obtenir le certificat MCTS (MS Certified Technical Specialist).

Bonne chance.

[1]: http://ciwcertified.com/certifications/program.asp CIW

1
Hal Noyes

Tout d'abord, je pense que nous avons tous ce sentiment lorsque nous sommes diplômés d'université ou en recherche d'emploi. L'expérience ne se fait pas du jour au lendemain.

Mais ce qui peut vous aider à acquérir rapidement de l'expérience, c'est d'être naturellement curieux et d'être un auto-démarreur volontaire. Vous apprendrez très rapidement lorsque vous prenez le temps d'apprendre par vous-même et de trouver des passe-temps personnels qui affinent vos compétences. Soyez toujours prêt à apprendre et vous parcourrez un long chemin.

Si vous êtes actuellement à la recherche d'un emploi, je vous recommande de créer un site Web personnel avec un portfolio. Téléchargez les projets que vous avez réalisés en fonction de ce que vous avez appris. Rendez-le vraiment cool. Je recommanderais également Indeed.com dans votre recherche.

1
MattB

J'ai passé un mois à chercher du travail mais mes compétences (C, Python, Objective-C) sont relativement peu profondes et ne sont pas si souhaitables sur le marché local, où C #, Java et le développement Web sont beaucoup plus demandés.

Vos compétences peuvent être plus précieuses que vous ne le pensez. Regardez dans le framework web Django. C'est un cadre pour le développement Web qui est construit autour de CPython. Il est assez facile à utiliser et extrêmement puissant et est utilisé par de nombreuses grandes sociétés pour un développement rapide.

1
SC Ghost

Si vous souhaitez développer la logique et la réflexion pour la programmation, apprenez la programmation en utilisant des langages tels que C.

Lisez et comprenez les exemples du livre C de Kernighan & Ritchie. Recherche google, vous trouverez l'ebook.

lorsque vous êtes à l'aise pour trouver des solutions à des problèmes (petits problèmes de programmation), vous pouvez essayer d'apprendre différents outils, cadres ou autres.

Vous pouvez également essayer de vous préparer à l'examen SCJP et de lire tous les sujets. Essayez tous les petits programmes que vous rencontrez et expérimentez-les. Si vous lisez le site de Sun sur les ressources SCJP, vous trouverez de nombreux petits programmes, essayez de les comprendre, essayez d’écrire vous-même. Ensuite, lorsque vous êtes à l'aise, passez au swing, JSP, Servlet, Struts ou Spring ou autre. Vous avez d'abord besoin d'une très bonne base.

Vous pouvez consulter les problèmes de programmation liés au concours de programmation ACM et essayer de les résoudre. si vous ne le pouvez pas, consultez les solutions d'autres personnes. De cette façon, vous construirez une logique et une pensée fortes.

Lorsque vous êtes à l'aise, vous pouvez essayer de mémoriser la bibliothèque et de vous entraîner.

http://justetc.net/knowledge/index.php?table=Articles&categoryID=32&category=Java

Essayez de créer une application. Pensez à un petit problème personnel ou professionnel et essayez de rédiger une demande complète pour cela.

Peut-être pourriez-vous investir dans un meilleur programme CS

1
Sayed

Ce n'est pas parce que vous êtes diplômé en informatique que vous devez programmer pour le reste de votre carrière. Avez-vous déjà suivi des cours sur l'analyse et la conception de systèmes?

1
Dan

Lorsque j'ai interviewé des programmeurs juniors (c'est-à-dire des diplômés récents), je leur demande toujours sur quels projets ils ont travaillé, en particulier les projets de classe impliquant des équipes de plusieurs personnes. Après tout, c'est le genre de travail qu'ils font généralement dans un vrai travail.

Si une personne n'a jamais travaillé avec d'autres programmeurs sur un projet, cela pourrait nécessiter une courbe d'apprentissage abrupte.

La façon d'apprendre à programmer est la façon d'apprendre à peu près n'importe quoi: s'entraîner à le faire. Beaucoup.

1
David R Tribble

Rappelez-vous que mille milles commencent à partir de la première étape. Tout commence dès le début de votre diplôme universitaire n'est qu'un pont qui vous amène à la première étape de la vie. Donc, vous venez de commencer, mettez toutes les actions dans chaque plan que vous avez, un jour vous serez à l'endroit où vous voulez être. Bonne chance mon ami.

1
Vicheanak

J'ai eu le même sentiment lorsque j'ai obtenu mon diplôme en informatique, mais j'ai continué à lire des livres (hs, à partir de Visual Basic 6), puis Oracle et Java. Plus vous lisez, plus vous apprenez à essayer. Après quatre mois de lecture et de pratique, j'ai résolu ces alogrithmes avec lesquels j'étais si pauvre en diplomation.

1
pakhtana

Hey!
Votre question est très bonne, et c'est le scénario de la vie réelle pour beaucoup d'étudiants qui viennent d'être examinés. Je viens aussi de terminer mes études et pendant toute la durée de mes études, j'ai senti que l'école me donnait peu de connaissances précieuses et beaucoup d'informations inutiles.

Le truc avec le collège, c'est qu'il n'a pas le temps de vous donner une connaissance très approfondie. Dans la plupart des cours, vous n'avez que le temps de vous concentrer sur les fondations d'une zone spécifique à l'intérieur de la zone (oui, c'est si moelleux). L'approche est soit celle-là, soit simplement essayer de donner aux étudiants une connaissance globale du domaine (c'est bien sûr différent selon le degré de difficulté du cours).

J'ai moi-même eu la chance d'obtenir un emploi de développement juste après l'obtention du diplôme. Beaucoup ont estimé que c'était injuste, car je ne suis pas un programmeur incroyable. Je connais les bases et je connais un domaine un peu plus profondément. Ce que je pense généralement que je suis bon et que les gens devraient être, c'est COMMENT obtenir les connaissances. Selon moi, c'est le savoir le plus important que l'école m'a donné. Comme beaucoup le disent, vous ne pouvez pas tout savoir. Ce qui compte, c'est qu'à la fin vous sachiez ce que vous êtes censé savoir. À cet effet, il est beaucoup plus important de savoir comment acquérir les connaissances requises que de les connaître dès le départ.

Il ne faut pas sous-estimer la valeur des compétences sociales. Vous pouvez être un très bon programmeur, mais handicapé socialement. Vous ne savez pas comment vous promouvoir ou travailler avec les gens. Plus précisément, la dernière chose, travaillez avec les gens. Dans un projet, vous êtes (la plupart du temps) obligé de travailler avec des gens. Si vous avez de gros problèmes avec cela et que vous avez obtenu le poste, vous aurez probablement du mal à y rester.

Sujet très intéressant!

1
user373455

Tirez sur la lune et vous atterrirez parmi les étoiles. N'hésitez pas à postuler pour de grandes entreprises, vous ne savez jamais ce qu'elles recherchent, et je crois que lorsque vous venez d'obtenir votre diplôme, vous ne savez vraiment pas grand-chose, vous gagnerez la majeure partie de votre expérience professionnelle. Sautez juste dedans et à temps vous serez un grand programmeur.

1
Harry

user30997:

Démarrez un projet personnel. Le problème avec l'école, c'est que la chose la plus compliquée que vous ayez faite a été un projet qui a duré 15 semaines à un an et a impliqué quelques autres personnes. Le domaine du problème était bien compris (votre professeur ne vous a donné aucune tâche qui ne cadrait pas parfaitement avec votre semestre). Ce n'est pas un luxe que le monde réel offre.

Si vous devez faire quelque chose de majeur, du début à la fin, qui vous passionne, votre cerveau commencera à boucler le processus. Tant que ce n'est qu'une carrière et que vous ne l'aimez pas, vous aurez toujours l'impression que vous ne l'avez pas encore fait.

Je ne sais pas si je peux être entièrement d'accord avec vous à ce sujet. Je sais que d'après mes propres expériences personnelles dans mes cours de génie logiciel, ce n'était pas le cas pour nous. Dans ces classes, il semblait que nous nous attendions à ce que nous nous apprenions tout ce que nous aurions besoin de savoir pour nos projets tandis que nos professeurs se sont attachés à enseigner les diagrammes UML que nous finissions généralement par jeter une fois que nous sommes arrivés au codage.

Mais je suppose que votre école était probablement différente de la mienne. Je voulais juste souligner que les projets d'école ne sont pas toujours aussi faciles qu'on pourrait le penser. Cela dépend simplement des professeurs et de leur style d'enseignement.

1
Liars_Paradox

Mais, je peux voir pourquoi OP veut étudier les algorithmes. Pour le récent diplômé en informatique, nous sommes non seulement en concurrence les uns avec les autres, mais aussi avec ceux qui n'ont pas suivi l'informatique, mais qui ont suivi des programmes au collège ou qui sont autodidactes. Pour nous, nos forces ne seraient pas le nombre de langues que nous connaissons ou même si nous connaissons bien ces langues. Pour l'informaticien, sa plus grande force serait sa capacité générale à résoudre des problèmes. Vous pouvez toujours rechercher une certaine classe ou une certaine méthode plus tard si vous en avez besoin. Ce n'est pas grave si vous vous souvenez de tout ce qu'il y a à savoir dans une langue, car si vous ne savez pas comment l'utiliser, vous n'allez pas faire le travail.

De nouveaux langages sont créés et les anciens changent mais les principes généraux derrière la programmation, c'est-à-dire les principes derrière la résolution d'un problème en général, restent les mêmes.

1
Liars_Paradox

J'ai remarqué que vos compétences incluent le développement Objective-C iPhone et iPAD est à la mode en ce moment. Achetez un Mac ou obtenez une image VM de Mac OS X et commencez à construire. Pensez à un jeu ou quelque chose que vous aimeriez avoir sur l'iPhone et considérez-le comme un projet de loisir. L'un des développeurs diplômés où je travaille a construit quelques jeux iPhone et a obtenu le poste ici. Maintenant, c'est un membre précieux de notre équipe de développement .NET, Java, PHP, Objective-C.

Comme tout le monde l'a dit, n'abandonnez pas, continuez à postuler pour tous les emplois.

1
Nickz

La chose la plus importante à garder à l'esprit est que vous êtes allé à l'école pour obtenir un diplôme, pas seulement pour vous apprendre à programmer. À l'école, ils vous apprennent à penser et à résoudre des problèmes. Être un grand programmeur dépend de vous :) et cela demande beaucoup de pratique.

1
damstr8

Tout d'abord, tapotez-vous dans le dos car le vôtre n'est pas un cas singulier. Cette réalisation se produit pour de nombreux diplômés CS. Cependant, il y a en vous quelques points qui méritent d'être appréciés:

  1. vous regardez des sites comme Google et pensez à sa mise en œuvre
  2. tu es honnête

La curiosité doit être votre force motrice et surtout dans un domaine qui nécessite un apprentissage continu, la curiosité peut être considérée comme un atout.

L'honnêteté sera très utile. Lorsque vous travaillez en groupe, l'honnêteté est essentielle pour la réussite du groupe.

En ce qui concerne l'apprentissage de la programmation, n'essayez pas d'assimiler tous les détails des algorithmes à la fois. Cela semblera être une tâche herculéenne. Choisissez plutôt une tâche que vous aimez et améliorez progressivement votre code.

Vous maîtrisez deux langages niçois: C et python. Vous pouvez choisir des projets impliquant l'un ou l'autre, lire le code des projets open source et essayer de les modifier à votre avantage. La lecture de l'API et la combinaison des bibliothèques pour les faire fonctionner est facile; mais essayez de comprendre les principes de conception derrière l'API.

Récemment, lorsque j'ai commencé un nouveau projet, j'ai commencé à faire une lecture de fond sur celui-ci. J'ai dû enregistrer des URL importantes dans un fichier afin de pouvoir les référer à mes amis. Ensuite, il m'est venu à l'esprit d'avoir un bouton, dans mon navigateur, qui, lorsqu'il était cliqué, ajouterait l'URL de l'onglet actuel à un fichier pré-attribué avec un commentaire facultatif. Ce n'est pas une tâche très importante; mais ce sera utile pour moi et mes amis. Je ne l'ai pas encore fait; mais j'en ai parlé à un ami et il le fera bientôt.

1
dknight