web-dev-qa-db-fra.com

Comment savoir si la programmation me convient?

J'ai une formation en informatique et j'étais assez confiant jusqu'à ce qu'une opportunité se présente au travail pour entrer en programmation (C #). Je n'ai jamais programmé auparavant, et le logiciel pour lequel je programme est un programme que je n'ai jamais utilisé auparavant (un logiciel de modélisation 3D).

Cela fait 6 mois depuis et j'ai envie d'abandonner. Je n'ai pas reçu beaucoup de formation ... environ 3 semaines de formation réparties sur les 6 derniers mois.

Je pense que je serais bon en programmation mais cette expérience me fait repenser ma décision. Je ne sais pas si c'est juste moi ou si cette frustration est normale.

Comment savoir si la programmation me convient?

22
user66414

Il y a quelques choses à noter à propos de la programmation.

Tout d'abord, vous ne saurez jamais tout sur la programmation. Vous ne serez probablement même jamais près de savoir une fraction de tout. Et si jamais vous pensez que vous savez quelque chose, quelque chose de nouveau sortira et ce que vous savez sera obsolète.

Donc, vous devez être d'accord pour apprendre constamment de nouvelles choses et vous apprendre ce qui doit être fait. Si vous n'êtes pas d'accord avec passer beaucoup de temps à faire beaucoup d'apprentissage, à faire de la recherche et à comprendre les choses par le biais de "tâtonnements éduqués", n'entrez pas dans la programmation.

Deuxièmement, c'est la logique qui compte, pas la syntaxe. Apprendre un langage, un framework ou une technologie ne fait pas nécessairement un bon programmeur. Vous devez vraiment avoir le genre d'esprit capable de comprendre la logique derrière le code - comment les éléments s'emboîtent, quel type de logique est utilisé et comment l'ordinateur interprétera votre code.

Il semble que vous travaillez avec un seul logiciel et langage, mais gardez à l'esprit qu'il existe de nombreux autres langages et technologies. Ne les jugez pas tous par votre expérience avec l'un d'eux. Si la syntaxe vous contrarie, gardez à l'esprit qu'il existe toujours d'autres options. Mais si vous rencontrez des problèmes pour saisir la logique derrière le code, la programmation n'est peut-être pas pour vous.

Et enfin, ne choisissez pas un travail que vous détestez. Bien sûr, la programmation peut être frustrante, mais elle peut aussi être très enrichissante. Si vous pouvez gérer les moments où vous voulez vous cogner la tête contre le mur avec un peu de code, ou tout supprimer de votre ordinateur avec frustration, et toujours profiter du codage, vous êtes bon :)

87
Rachel

Mon ami a été un grand voyageur pendant de nombreuses années, mais il a toujours voulu être pilote de ligne. Un jour, il en a profité pour piloter un Boeing 747. Après environ six mois, il avait envie d'abandonner: il pensait qu'il serait bon pour piloter des avions, mais cette expérience des six derniers mois lui a fait repenser sa décision.

Bien sûr, je plaisante: je n'ai pas un tel ami. Et c'est pour une bonne raison: toute compagnie aérienne serait fou de laisser quelqu'un prendre les commandes d'un 747 avant de passer quelques années à piloter un Cessna, puis quelques années à piloter des avions multimoteurs, puis quelques années à piloter des jets. , suivi de quelques mois de formation approfondie sur le 747.

Le point de mon histoire inventée est que même le package de modélisation 3D le plus simple serait l'équivalent d'un développeur de logiciel de piloter un 747. De nombreux programmeurs en seraient intimidés, même après une décennie ou deux dans l'industrie. Il n'est pas surprenant que vous vous sentiez frustré: vous avez pris une mauvaise tâche pour votre niveau de compétence actuel!

Que devrais tu faire? Tout d'abord, je quitterais la boutique de modélisation 3D, suivrais un cours en ligne ou un vrai cours de programmation et me procurerais un projet pour animaux de compagnie sur lequel vous pourriez travailler pendant votre temps libre. Une fois le cours terminé, essayez d'obtenir un poste de débutant dans une boutique qui produit des applications commerciales, des applications mobiles ou des sites Web sophistiqués. Apprenez autant que possible au travail et pratiquez à la maison pour améliorer encore vos compétences. Dans quelques années, vous pourrez revenir dans votre entreprise de modélisation 3D et y travailler sans la moindre frustration.

24
dasblinkenlight

Vous n'avez peut-être pas choisi le meilleur chemin pour apprendre la programmation :)

Sérieusement, la modélisation 3D est un domaine très complexe même pour un programmeur expérimenté, donc avoir cela comme premier projet va être difficile. Je suggérerais de trouver de bons livres et de travailler seul sur des projets simples. Si vous aimez travailler dessus, continuez à vous débrancher et vous y arriverez. Si vous n'aimez pas cela, il est peut-être temps de réduire vos pertes.

Je ne vais pas commencer d'arguments sur les meilleurs livres de programmation, mais je pense que vous trouverez de nombreuses questions sur SE sur les références de programmation.

FWIW, je programme dans MS Windows depuis 2.x, et si je sautais dans un projet de modélisation 3D existant, je pense que je serais frustré pendant un certain temps aussi :)

22
cdkMoose

En tant que développeur de logiciels assez novice moi-même (2 ans de travail à temps partiel), ce qui me fait avancer, c'est le perspective à long terme.

Chaque nouveau projet que je démarre, j'ai une meilleure compréhension sur la façon de le gérer en douceur. Chaque nouvelle langue devient moins difficile. Mes solutions commencent à se sentir plus complètes.

Voici ma liste de ce que vous devriez avoir pour continuer en tant que programmeur:

  • Vous devriez, et pouvoir , apprendre par vous-même. (c'est-à-dire travailler avec des livres, des forums, des documentations, ...)
  • Vous devriez garder vos pensées organisées - la programmation est un moyen de mettre les processus de réflexion sur papier ( sur ordinateur ).
  • Vous devez avoir une résilience suffisante, lorsque vous traitez constamment une liste apparemment interminable de problèmes infimes, qui doivent d'abord être identifiés avant de pouvoir être résolus.

En dehors de cela, je pense qu'il y a de nombreuses raisons d'aimer la programmation, et plus vous le faites, plus vous éprouverez la joie de travailler dans un domaine aussi créatif et non répétitif.

Modifier: Si vous rencontrez des problèmes avec quelque chose, essayez de déterminer exactement quel est le problème, puis apportez-le à l'un des sites Stack-Exchange, si votre question n'a pas déjà été répondue, vous êtes tenu d'obtenir un bonne réponse. À long terme, il vous sera également utile de lire des livres structurés sur les paradigmes de programmation, le génie logiciel et les algorithmes. La plupart importent cependant, continuez à écrire du code - et comme la plupart des réponses suggèrent ici, trouvez du temps pour travailler sur des programmes sans rapport avec ce que vous faites déjà, même si cela signifie que vous créez vos propres projets pour travailler à la maison.

8
Rafael Emshoff

C'est simple: aimez-vous le faire? Si vous n'étiez pas payé pour le faire, le feriez-vous pendant votre temps libre, pour le plaisir? Si la réponse est non, la programmation ne vous convient probablement pas.

Cela ne veut pas dire que vous ne pouviez pas apprendre à le faire suffisamment bien pour être rémunéré. Mais si vous ne l'aimez pas, vous ne serez jamais bon. Et si vous ne l'appréciez pas, à quoi ça sert?

J'ai commencé la programmation à l'âge de 12 ans et je l'ai fait parce que je le voulais. J'avais 20 ans (et à mi-chemin du collège) avant de penser que je pourrais peut-être gagner ma vie. C'était juste une chose que j'ai faite parce que j'aimais ça.

Je crois que la plupart des gens qui sont grands dans quelque chose (n'importe quoi) ne le sont pas parce qu'ils ont une compétence innée, mais parce qu'ils ont une obsession malsaine pour cette chose.

4
zpasternack

Est-ce moi ou ai-je raison d'être frustré?

Les questions que vous devez vraiment vous poser sont:

a) Aimez-vous la programmation? b) Vous sentez-vous la personne la plus heureuse du monde une fois que votre application fonctionne? - Si votre la réponse est OUI, arrêtez de vous inquiéter, continuez simplement à apprendre et à améliorer vos compétences en programmation.

D'une manière générale, la modélisation 3D - est totalement domaine différent dans le monde de la programmation comme une programmation de jeux. Cela peut vous faire peur ou ne pas susciter votre intérêt. N'ayez pas peur, gardez simplement votre motivation en apprenant des choses que vous ne savez pas. Fixez vos objectifs à court et à long terme sur ce dont vous avez besoin pour rattraper votre retard et apprendre.

Edit: Le "logiciel de modélisation 3D" n'est pas une zone de programmation de flux principal. Ainsi, vous pourriez vous retrouver à apprendre des connaissances/techniques très spécifiques qui sont non appliquées dans d'autres domaines (CRM, comptabilité, soins de santé, etc.) Si vous trouvez que la "modélisation 3D" n'est PAS intéressante, juste recherchez différents domaines d'activité de la programmation qui suscitent votre intérêt.

2
Yusubov

Je vous conseille de passer du temps seul avec C # et la programmation en général.

Faites un petit jeu. Faites un outil simple pour organiser vos photos. Faites vraiment quelque chose.

Si vous passez votre propre temps, vous pouvez trouver que vous appréciez la programmation. Sinon, la programmation n'est pas la carrière pour vous. Quoi qu'il en soit, continuez à y travailler.

Une ressource qui peut être utile pour apprendre certains concepts:

http://msdn.Microsoft.com/en-us/library/618ayhy6.aspx (Référence C #)

2
Brad S

Où était ton parcours si tu n'avais jamais programmé avant ça? La plupart des rôles informatiques auraient la possibilité de programmer quelque chose, ne serait-ce qu'une macro ou un script pour automatiser une petite pièce du puzzle.

Vous avez droit à vos émotions. Cependant, la meilleure question est de savoir ce que vous faites face à cette frustration? Êtes-vous en train de comprendre les choses et d'aller de l'avant? Quel genre de rétroaction obtenez-vous sur le travail que vous faites? Si vous recevez des commentaires selon lesquels c'est formidable, vous pouvez avoir des attentes irréalistes envers vous-même. D'un autre côté, si vous obtenez peu ou pas de commentaires, je pourrais comprendre avoir des craintes.

2
JB King

Vous n'avez pratiquement pas suivi de formation et avez été projeté dans un projet difficile. En règle générale, les gens passent au moins trois ans à apprendre des choses avant même de commencer des projets non triviaux. Il n'y a pas d'embarras, cela ne signifie pas non plus que la programmation n'est pas pour vous, si vous la trouvez trop difficile.

Même moi, j'ai eu du mal à ma quatrième semaine de programmation: P

2
DeadMG

Je me souviens avoir commencé avec l'assembleur sur un Commodore VIC20. Au début, je viens de suivre les instructions pour les hacks qui ont été publiées dans les magazines de jeu pour me donner des vies infinies sur Jet Set Willy ou quoi que j'essayais de tricher. J'ai eu une curiosité et un désir qui m'ont amené à vouloir créer mes propres hacks et à comprendre comment et pourquoi ils fonctionnaient. C'est ce qui m'a amené à écrire mes premiers programmes.

Le fait est que j'ai été totalement confus pendant assez longtemps (pas aussi longtemps que 6 mois, mais je conviens que c'est probablement une fonction du démarrage de la modélisation 3D) mais ensuite, le sou a soudainement chuté. J'ai commencé à comprendre comment le code que j'avais écrit se traduisait en instructions CPU et références mémoire et bientôt, je pouvais écrire un assembleur assez compétent. Bien sûr, vous travaillez maintenant à 20 niveaux au-dessus du CPU mais, je suis sûr que si vous en avez l'aptitude, ce moment de l'ampoule se produira.

Je suppose que je réitère les points soulevés concernant la curiosité, l'apprentissage et le pétillement lorsque vous créez quelque chose de vraiment synergique.

Si vous pouvez donner un conseil, c'est "persévérer et apprendre les bases de la programmation orientée objet". Bonne chance.

2
Simon

Votre frustration est tout à fait normale; il est probable que 3 semaines de formation soient profondément insuffisantes. Vous ne pouvez pas savoir si la programmation vous convient en vous jetant tête première dans un projet de programmation difficile avec votre chèque de paie en jeu.

Si vous voulez vraiment savoir si la programmation vous convient, alors apprenez un nouveau langage de programmation pendant votre temps libre et réalisez quelques projets de programmation. Si vous aimez cette expérience (l'expérience de programmation sans les délais et les pressions de travail qui planent au-dessus de votre tête), la programmation est faite pour vous.

Maintenant ... si ce travail de programmation particulier vous convient ... Je pencherais personnellement vers un non. Parlez à votre manager de votre frustration et envisagez de trouver un emploi qui soit soit mieux adapté à vos compétences actuelles, soit qui promet un meilleur programme de formation. Je ne peux pas connaître les détails de votre situation particulière, mais il me semble que ce fut un mauvais service à la fois pour vous et pour l'entreprise de vous embaucher à ce poste sans fournir un temps de formation adéquat; S'ils n'avaient pas l'intention d'offrir une meilleure formation, ils n'auraient pas dû vous embaucher. Pourtant, l'école des coups durs est aussi bonne qu'une école; encore une fois, la meilleure façon de procéder ici est de parler avec votre manager et de voir comment il évalue votre performance actuelle et répond à votre frustration.

2
Dan Burton

La programmation graphique 3D est un créneau dans lequel même les développeurs de logiciels les plus expérimentés préfèrent ne pas se lancer. Je travaille beaucoup avec OpenGL et je le sais de première main. Si tout va bien, tout votre travail implique de travailler avec des scénographies à un niveau supérieur, mais si vous êtes au fond de lui comme moi. Pour un nouveau programmeur, c'est comme un bébé qui court ... dans un sprint de 100 mètres ... avec des gens comme Usain Bolt ... avec la pression supplémentaire de personnes qui espèrent réellement que le bébé gagnera la course.

Cependant, des miracles se produisent et tout espoir n'est pas perdu.

J'espère que vous le faites déjà, mais non seulement vous devez faire des tutoriels sur la programmation (c'est de loin le plus petit défi), vous devez lire des choses sur les principes fondamentaux et les systèmes de coordonnées 3D. Comprendre les mathématiques impliquées dans le dessin des polygones, la traduction, la rotation (Dieu vous aide si Quarternion), les matrices, etc.

Mais sérieusement, êtes-vous sûr de vouloir continuer avec ça? Qu'est-ce qui est le plus important pour toi? ce travail ou un ensemble complet de cheveux?

2
Glstunna

La programmation nécessite beaucoup de dynamisme et de dévouement pour arriver au point où vous savez ce que vous faites et êtes exceptionnel à faire ce que vous savez.

Pour que vous réussissiez vraiment, la programmation doit devenir un mode de vie; plutôt qu'une profession souhaitée. Il doit devenir une obsession qui commence à la résistance et s'étend à l'ensemble du réseau qui comprend Internet.

Personnellement, je vous recommande de vous y tenir parce que moi aussi j'ai eu beaucoup de mal. Je n'ai pas vraiment pu commencer à penser comme un programmeur avant environ un an et quelques mois après avoir commencé à étudier l'informatique à plein temps (souvent plus de 12 heures par jour).

J'ai passé tout le temps à étudier tout ce que je pouvais comprendre sur Internet en rapport avec les ordinateurs. J'ai utilisé la complexité de la programmation pour me rendre encore plus têtu et motivé à chaque fois que j'étais dépassé. J'ai passé beaucoup de temps à lire le code des autres et à le taper manuellement moi-même. Chaque fois que je trouvais quelque chose que je ne comprenais pas, je le cherchais. Tous les jours, plongeant de plus en plus profondément dans ma fascination et mon obsession forcées. (J'ai même commencé à avoir des rêves de programmation où je communiquais avec des programmes via binaire, Trop profond! Lmao)

Ce n'était pas toujours facile. Je me sentais vraiment comme si je n'étais pas fait pour ça TOUT LE TEMPS, mais un jour j'ai pu simplement me brancher et commencer à coder comme un fou. Cela a juste commencé à prendre de plus en plus de sens pour moi, avec chaque ligne que j'imaginais. Tout a commencé à se rassembler au point où je pouvais revenir en arrière et réécrire mon code de manière plus optimale et efficace seulement quelques heures plus tard.

Après cela, je n'ai jamais douté si j'étais capable de devenir programmeur. Il faut vraiment le vouloir. Il n'y a pas beaucoup de gens qui ont le dévouement nécessaire pour surmonter la tempête qui est nécessaire pour évoluer vers un informaticien.

Cependant, lorsque vous arrivez au point où vous pouvez créer des systèmes logiciels complexes nés de votre créativité et de votre ingéniosité, la récompense de l'accomplissement que vous ressentez dépasse de loin la lutte que vous avez dû traverser pour réussir.

1
mortdeus

Je pense que la chose la plus sûre à vous demander est "aimez-vous apprendre".

Par cette simple question, vous saurez si la programmation vous convient avec une probabilité décente. Si vous n'aimez pas apprendre, alors non, vous n'aimerez probablement pas la programmation. La programmation est de 5% sur l'écriture de code, 10% sur la conception du fonctionnement de votre code et 85% sur l'apprentissage de l'écriture d'un meilleur code et de la création de meilleures conceptions. (et cela ne change pas! Je programme depuis plus de 8 ans et j'apprends toujours!)

Maintenant, bien sûr, vous pouvez aimer apprendre et non pas programmer, mais comme vous aimez apprendre, essayez de créer des programmes! Cependant, vous ne pouvez pas abandonner à la courbe d'apprentissage initiale, en particulier avec tant de langues faciles maintenant. Alors allez-y et écrivez du code!

1
Earlz

Je viens de jeter un livre sur C # récemment - car il n'a aucune valeur pour moi.

Mais je peux confirmer, la frustration et les bugs sont considérés comme "normaux".

Bien que ce ne soit pas une date limite assise à l'arrière de votre cou, ne vous inquiétez pas.

D'un autre côté - une fois qu'il fonctionne comme un charme, il peut être amusant en effet.

Lorsque vous obtenez des résultats extraordinaires - ils pourraient vous appeler "Monsieur" :)

Concernant votre question si c'est le bon travail pour vous - cela dépend, si vous voulez apprendre de nouvelles choses chaque jour - que ce soit ou non. Aussi, si vous avez la patience et les noix pour résoudre les problèmes.

J'applique constamment la méthodologie TDD - mais cela prend plusieurs années à apprendre. Avoir un cours de démarrage rapide de 3 semaines ne vous mènera nulle part, il s'agit de faire des erreurs et d'apprendre d'eux.

Tout le monde déteste les bugs et les dysfonctionnements - mais on peut grandir avec eux. Ce que je veux dire, c'est que faire (ou même provoquer) des erreurs n'est pas nécessairement une mauvaise chose.

Le meilleur conseil que je puisse vous donner est probablement de décomposer les choses en étapes plus petites.

Parce que si les objectifs que vous vous êtes fixés sont complètement hors de portée, c'est ce qui provoque la frustration.

J'ai appris le débogage sur une Nintendo SNES - je trichais comme une houe et recevais de l'argent d'un magazine de console pour leur fournir de nouveaux tricheurs. Plus tard, j'ai obtenu un Atari ST et j'ai appris à coder Omikron Basic ... et je suis toujours là, actuellement indépendant en tant qu'assistant JS :)

Votre situation, comme décrit, est plutôt "l'apprendre à la dure" ... Je suggérerais également de l'apprendre avec des applications beaucoup plus basiques que cela. Une bonne référence de langage est tout ce dont on a besoin, et peut-être de bons exemples.

1
Martin Zeitler

La programmation, c'est d'abord la résolution de problèmes. La langue est secondaire. Dès que vous êtes chargé d'écrire votre premier programme (en passant, vous n'écrirez pas le code vous-même la première fois - car il a été écrit) et comprendre le puzzle ... faites la connexion, vous saurez tout de suite si vous voulez être programmeur.

0
aserwin