web-dev-qa-db-fra.com

4-5 ans est-il la «crise de la quarantaine» pour une carrière en programmation?

Je programme C # professionnellement depuis un peu plus de 4 ans maintenant. Au cours des 4 dernières années, j'ai travaillé pour quelques petites/moyennes entreprises, allant des "agences Web/annonces", des petites boutiques de logiciels spécifiques à l'industrie à une petite startup. J'ai principalement fait des "applications professionnelles" qui impliquent l'utilisation de langages de programmation de haut niveau (ordures récupérées) et mon expérience globale était que tous les travaux que j'avais effectués auraient pu être plus professionnels. Beaucoup de choses ont été mal faites (dans une ruée) principalement en raison du facteur coût que les gens voulaient toujours quelque chose "maintenant" et avec le plus petit montant d'argent dépensable. J'ai continué à penser que si je pouvais travailler pour une plus grande entreprise ou une entreprise mieux adaptée aux programmeurs, ou quelque part qui a l'argent et le temps pour vraiment construire quelque chose à plus long terme et plus maintenable, j'aurais peut-être apprécié davantage dans ma carrière. Je n'ai jamais eu de "mentor" qui m'a guidé tout au long de ma carrière de 4 ans. Je suis à peu près un programmeur de blog/google/autodidacte autre que mon baccalauréat en informatique.

J’ai également observé un autre problème selon lequel la plupart des soi-disant programmeurs "seniors" dans "mon environnement de travail" ne sont vraiment pas très compétents. Ils sont "seniors" uniquement parce qu’ils sont programmeurs de longue date, mais le code qu’ils écrivent ou les décisions qu’ils prennent sont des ordures! Ils ne veulent pas apprendre, ils ne veulent pas être meilleurs, ils veulent juste être payés et faire ce qu'ils ont dit de faire, ce qui est logique et la plupart d'entre nous sont comme ça. C'est peut-être pour ça qu'ils sont là où ils sont maintenant. Mais je ne veux pas devenir comme eux, je veux être meilleur. Je suis tombé dans un état mental que je n'ai plus l'intention d'être programmeur pour ma future carrière. J'ai commencé à penser qu'il y avait peut-être de meilleures choses à travailler. Plus je lis de blogs, plus j'essaie de "meilleures pratiques" et plus je sens que je m'éloigne de "ma réalité". Mais je ne suis pas un grand programmeur sinon je ne pense pas que je suis là où je suis maintenant. Je pense que 4-5 ans est une étape qui peut être un pas en avant dans la carrière ou un pas hors de votre position.

Je voulais juste entendre ce que les autres ont à dire sur ce que j'ai mentionné ci-dessus et si vous avez vécu une situation similaire au cours de votre dernière carrière de programmeur et comment vous y avez fait face. Merci.

330
Jeff

Vous ouvrez une question très intéressante. Je suis entièrement d'accord avec vous. J'ai fait des observations similaires.

Je programme professionnellement depuis plusieurs années déjà et ce que j'ai observé est que la quantité de bons programmeurs là-bas, de grands développeurs qui aiment leur travail et peuvent le faire avec qualité et passion est à peu près proche de zéro. J'ai probablement rencontré une seule personne qui pouvait m'apprendre quelque chose. J'ai appris la plupart de ce que je sais par moi-même, en lisant des livres et des forums, en demandant dans des forums et en recherchant sur Google des pensées de révélation.

Au bout d'un moment, je ne regrette pas beaucoup.

Les options d'apprentissage dans un environnement de travail peuvent souvent être limitées. Vous ne démarrez pas les choses. Vous ne les terminez pas. Vous ne concevez pas, n'améliorez pas, ne refactorisez pas, ne pensez pas à l'architecture, vous codez et piratez les choses ensemble. C'est ainsi que la plupart des magasins fonctionnent. Non seulement vous n'apprenez rien, mais il est plus probable que vous apprendrez surtout des choses fausses sur la façon de NE PAS développer de logiciel. J'ai constamment vu des choses effrayantes autour de moi, tous ces anti-schémas dont vous avez entendu parler. Pire encore, je suis obligé de les faire moi-même.

Je ne sais pas comment cela s'est produit, mais j'ai réussi à construire une barrière d'entrée. Je reste ouvert, j'écoute et si je vois un potentiel d'amélioration personnelle, je recherche et j'adopte peut-être une technique ou une idée. Mais aucun BS ne pourra jamais passer. Je travaille depuis longtemps sur des projets mal gérés, mais je n'ai adopté aucune de ces mauvaises techniques pour moi.

J'ai très vite compris que si vous souhaitez être satisfait de la programmation, oubliez le travail et ayez votre propre projet personnel. C'est là que vous pouvez appliquer tout votre amour, votre passion et vos connaissances pour bien faire les choses avec un niveau de qualité élevé. Vous apprendrez beaucoup de choses, une myriade de choses auxquelles vous n'auriez jamais été exposé et confronté lors du piratage du personnel ennuyeux de l'entreprise. Je ne fais que mon travail pour le chèque de paie et je suis satisfait de mes propres projets personnels.

Une chose que je ne comprends vraiment pas, c'est comment cette situation est possible de nos jours. Le développement de logiciels a beaucoup mûri. Il a eu une bonne et une mauvaise expérience. Beaucoup de projets réussis et beaucoup d’échecs. Il existe une expérience des projets à long terme et une compréhension des effets à long terme que l'une ou l'autre organisation aura sur le projet. Il existe de nombreuses études disponibles et de bons livres écrits. "Programmeur Pragmatique", "Code Complet", "Mois-Homme Mythique", "Conception des choses du quotidien" et autres. Pourquoi personne d'autre que nous, les programmeurs ne les lisent jamais? Comment est-il possible que même après 20 ans de travail dans l'informatique, la plupart des développeurs et des gestionnaires n'aient jamais trouvé le temps de lire l'un ou l'autre livre de méthodologie. Ils sont écrits pour, mais à peine lus par, ceux qui ont le plus besoin de ce médicament.

Concernant les perspectives de carrière. Ce que j'ai également remarqué en général sur le marché du travail pour les employés, c'est que les employeurs se désintéressent de plus en plus du travail de qualité (imaginez qu'ils l'ont fait une fois) achètent de plus en plus les métiers les moins chers disponibles. Vous avez du mal à vendre vos connaissances, votre expérience et votre compréhension de l'univers à quiconque. Ce n'est pas demandé. Ce qui est demandé, c'est que vos projets soient ruinés par des juniors qui n'ont aucune expérience et désir de faire un travail professionnel. Les gens bon marché sont utilisés et maltraités, puis expulsés pour que le prochain tour commence. Les projets sont également externalisés vers des destinations à bas salaires où ils sont effectués par des personnes qui commencent apparemment à apprendre la programmation juste avec votre projet. C'est une chose que je ne comprends vraiment pas.

Je nourris de plus en plus l'idée que je vais abandonner le travail de programmation employé à un moment donné dans le futur. J'aimerais beaucoup travailler dans ma propre start-up avec mon propre projet. Sinon, j'envisage d'essayer de travailler à la pige ou de changer probablement la nature de l'emploi rémunéré. Après tout, je n'apprends presque rien pendant les heures de travail et je n'obtiens aucune satisfaction. Je peux faire n'importe quoi 9-5 et toujours être satisfait de mes propres projets personnels. J'apprends beaucoup des communautés en ligne. Je reçois ici de l'attention, du soutien pour mes idées et parfois même une reconnaissance que je ne pourrais jamais obtenir avec mon travail et mes collègues de travail. Je verrai où je serai à l'avenir.

195
user8685

Il y avait un post de Jeff Atwood sur Coding Horror qui disait que c'était censé être amusant. Et une partie de la description de poste d'un développeur de logiciels est d'apprécier votre travail. Sinon, cela deviendra une profession vraiment ennuyeuse et encombrante pour vous.

Le fait que vous cherchiez continuellement des moyens d'améliorer votre travail et que vous restiez informé des nouveautés et des meilleures pratiques montre que vous aimez votre travail dans la nature. Je vous conseillerais donc de commencer à chercher un nouvel emploi.

Cependant, je ne pense pas que travailler pour une grande entreprise améliorera nécessairement les conditions de travail. Je pense que les meilleurs environnements pour les développeurs de logiciels sont des petites et moyennes entreprises, où les gens aiment ce qu'ils font. La meilleure chose à faire serait de rechercher et de vérifier toutes les entreprises avant de prendre une décision. Essayez de vous assurer que la nouvelle entreprise en vaut la peine.

70
Nikos Steiakakis

Première chose: un grand avertissement: si vous développez depuis 10 ans (comme moi), vous ne pouvez rien faire de mieux que de développer. Donc, si vous voulez faire autre chose, quelque chose de nouveau, faites-le rapidement sinon il sera peut-être trop tard et vous ne serez pas doué pour faire autre chose.

Juste pour partager mon propre point de vue: je suis une personne autonome, autodidacte. J'ai appris seul pur C, C #, développement Amiga C, Windows, COM, Delphi, PHP, Cinema4D et maintenant Blender et Python. J'ai presque toujours travaillé seul . Voici le plus gros problème que j'ai rencontré jusqu'à présent: les petites entreprises essaient de survivre et vous êtes l'une de celles qui la maintiennent en vie: c'est très stressant mais c'est aussi gratifiant: vous travaillez plus, vous apprenez plus vite et beaucoup de choses rapidement, vous faites des produits plus rapidement (même si vous ne pouvez souvent pas faire votre travail correctement). Bref: trop de stress. Au contraire, les grandes entreprises survivront toujours mais le problème concerne les personnes: trop de personnes. C'est une jungle, mais bien pire: rien n'est clair: si les gens avec qui vous travaillez ont l'impression que vous êtes meilleurs qu'eux, ils feront de leur mieux pas pour vous aider à monter mais seulement pour vous tirer dessus) parce qu'ils craignent pour leur propre carrière. C'est comme ça que ça marche en France (je ne sais pas pour les autres pays).

Pour faire court: essayez de trouver une entreprise de taille moyenne où vous vous sentez comme votre place . Peu importe depuis combien de temps vous programmez, peu importe depuis combien de temps vous travaillez, le jour où vous monterez dans votre voiture pour aller à votre travail et que vous penserez "je suis heureux d'aller à mon travail" sera le jour où vous avez trouvé votre place .

Ce n'est pas une question de 4-5 ans ou autre.

NB: il y a une énorme différence entre "je suis content d'aller à mon travail" et "je suis content d'aller à mon travail parce que je vais faire ceci et cela"/ou/"je suis content d'aller à mon travailler parce que je vais apprendre ceci et cela ". Si vous pensez "parce que je ferai ceci et cela", cela signifie "ceci et cela" se terminera un jour et vous ne serez peut-être pas heureux après. Ceci est mon expérience de programmation de 12 ans. Et je suis un senior, je suis bien payé, mais je me rends compte que 20-25 ans. les gens pensent plus vite que moi. Ils n'ont tout simplement pas mon expérience, donc je viens d'admettre que je peux les aider à faire des choses, ils le font plus rapidement, mais je les aide à les faire correctement (ce qui n'est presque jamais le cas lorsque vous commencez à développer).

Désolé pour mon anglais qui n'est pas parfait, n'hésitez pas à corriger mon post pour le rendre correctement anglais.

50
Olivier Pons

Je suis développeur de logiciels depuis 21 ans - entre autres, cela signifie que je fais cela depuis assez longtemps pour boire! ;-) Mais sérieusement, je ne peux pas imaginer faire autre chose aussi bien ou aussi joyeusement que programmer. Je suis apparemment l'un de ces oiseaux rares qui vraiment amour ce travail.

Je rafraîchissais récemment mon curriculum vitae et j'ai remarqué que j'avais eu beaucoup, beaucoup d'emplois au cours des deux dernières décennies - principalement des contrats. Mais ce que j'ai réalisé en regardant cette longue liste, c'est que les emplois que j'aimais le plus (et ceux que je suis resté le plus longtemps) étaient avec des éditeurs de logiciels, c'est-à-dire des entreprises dont le modèle commercial impliquait de vendre des logiciels à des clients. Les théories suivantes ne sont probablement pas universellement applicables, mais elles vont loin pour expliquer mon expérience.

À mon avis, la différence entre un magasin de logiciels et votre magasin informatique typique est étonnamment évidente. Il s'agit simplement de savoir ce que les cadres supérieurs comprennent. Si l'entreprise tire la majeure partie de ses revenus des logiciels, alors les plus hauts responsables vont vraiment grogner les logiciels et la façon dont ils sont fabriqués. Mais si les revenus proviennent de la vente de widgets, ils n'ont généralement pas la moindre idée de ce qu'il faut pour faire fonctionner leur infrastructure informatique, sans parler des processus derrière le développement de logiciels. Pire, même s'ils délèguent la tâche au personnel informatique, ils essaient de faire correspondre les processus informatiques à ce qu'ils savent, avec des résultats qui vont généralement de décevants à désastreux.

L'une des raisons est qu'il existe un large éventail de talents, du simple compétent au virtuose du logiciel. Cela va complètement à l'encontre de la mentalité de coupe-biscuit, taille unique qui fonctionne si bien pour les postes non qualifiés et semi-qualifiés. L'espoir qu'un développeur puisse être remplacé par un autre avec un "ensemble de compétences" similaire peut nous sembler ridicule, mais il semble souvent parfaitement raisonnable pour une structure de gestion axée sur les chiffres bruts. Si cela semble incroyable, regardez simplement combien de magasins essaient encore de faire fonctionner le modèle Waterfall.

Vous n'avez pas nécessairement besoin de tous les virtuoses de votre équipe, mais vous en avez besoin d'au moins un ou deux. Et une partie de leur rôle doit être d'encadrer les juniors afin qu'ils puissent devenir le rôle (ou se laver - cela arrive). Sinon, le code junior de mauvais à médiocre prévaudra, avec son erreur de traitement et son ballonnement. Une fois que le cancer s'installe, le code devient rapidement incontrôlable, la productivité de l'équipe chute fortement et les gens commencent à s'épuiser.

Cela crée du chiffre d'affaires, jusqu'à ce que quelqu'un dise finalement: "Nous ne pouvons plus continuer à faire ça! Laissons tomber et recommençons!" L'investissement dans la base de code héritée disparaît et le processus recommence. "Mais cette fois sera différente", vous vous promettez. Et pendant un moment c'est le cas. Ensuite, quelqu'un engage votre rock star et vous vous retrouvez avec des juniors non dirigés qui saccagent à nouveau votre nouvelle base de code brillante.

Mousse. Rant. Se repentir.

Mais je m'égare ... Donc, pour répondre à votre question initiale: Non, une demi-décennie n'est pas la quarantaine d'une carrière logicielle. C'est plus un âge de raison, peut-être - l'endroit dans votre carrière où les échelles tombent de vos yeux et où vous commencez à voir l'entreprise pour ce qu'elle est. Les réalisations viennent dans un ordre différent pour tout le monde, et cela colore les conclusions que vous pouvez tirer en cours de route. Mais accrochez-vous - si vous sortez de l'autre côté sain d'esprit, vous aurez une perspective beaucoup plus saine, et vous trouverez finalement cette entreprise folle dans laquelle nous sommes plus gratifiants que jamais.

36
Eric Lloyd

Je pense que vous avez besoin de cinq années d'expérience supplémentaires. Ensuite, vous pourrez accepter les compromis et être heureux de réparer ce que vous pouvez.

Du moins, ce fut mon expérience. À environ 5 ans (à peu près le temps qu'il faut pour devenir un expert), je pense que je l'ai "compris". J'ai réalisé que mon code était de la merde. J'ai réalisé que mes hacks brillants qui faisaient fonctionner les applications n'étaient que ça, des hacks. J'en suis venu à comprendre que j'avais créé un code inférieur à la normale juste pour rendre mes patrons heureux et garder les chèques de paie.

En même temps, j'ai réalisé que les désirs des patrons n'allaient pas changer. Ils allaient toujours le vouloir hier sans dépenser d'argent pour de bons outils. Ils n'allaient jamais s'en soucier si j'utilisais un modèle de conception particulier. Ils ne seraient jamais impressionnés parce que j'ai augmenté la maintenabilité en appliquant judicieusement le principe de responsabilité unique.

J'ai également réalisé que je lutterais contre mon jeune moi incarné par des programmeurs inexpérimentés. Le programmeur qui a piraté le programme pour le faire fonctionner rapidement. Le jeune programmeur qui a résisté à toutes les bêtises qui m'ont pris des années à comprendre. Le jeune programmeur qui pense avoir 5 classes est plus déroutant que d'avoir une énorme classe qui fait tout.

Mais maintenant que j'en suis à mes 10 ans, je me suis rendu compte que ces frustrations sont exactement comme les frustrations que j'ai connues au cours de mes cinq premières années. C'est la frustration associée à l'apprentissage d'une nouvelle compétence. Mais cette fois, les compétences sont interpersonnelles. Les compétences permettent aux non-programmeurs de comprendre les limites de la voie du cow-boy. Et ces compétences sont peut-être plus importantes dans le grand schéma des choses que les compétences de codeur que j'ai acquises au cours des cinq premières années.

Mais ce qui est vraiment étonnant dans ce métier, c'est que je peux continuer, et dois continuer, à évoluer par des compétences techniques tout en travaillant avec la direction.

Alors je vous dis de continuer! Parce que vous êtes devenu à l'aise avec la technologie, vous pouvez commencer à travailler sur vos compétences face aux choses pâteuses appelées humains.

32
ElGringoGrande

J'ai trouvé qu'il y a 2 secrets de bonheur relatif:

  • ne cherche pas à avoir tout ce que tu veux mais cherche à vouloir tout ce que tu as

  • la vie est difficile - peu importe à quel point vous pouvez frapper (vous êtes bon, personnellement et professionnellement); il sera toujours plus dur. il est important de savoir combien vous pouvez être touché tout en continuant à avancer.

Après tout, c'est une promenade dans le parc et il y a des choses plus importantes que des bits et des octets, des pratiques et des trucs. Profitez de toutes les expériences telles qu'elles sont et ripostez autant que vous le pouvez.

29
AZ01

Peut-être jetez un oeil à The Passionate Programmer par Chad Fowler ... citant la page Web:

Dans la plupart des cas, des carrières remarquables ne viennent pas par hasard. Ils nécessitent de la réflexion, de l’intention, de l’action et une volonté de changer de cap lorsque vous avez commis des erreurs. La plupart d'entre nous hésitent à laisser notre carrière nous mener où ils le peuvent. Il est temps de prendre le contrôle.

22
Adam

OMI, l'insatisfaction que vous ressentez n'est évidemment pas une crise, mais plutôt un signe que vous avez atteint un certain niveau. Vous avez dépassé le créneau "Je ne suis qu'un programmeur". Vous avez maintenant suffisamment de compréhension pour voir les failles de la situation actuelle et comment les corriger.

L'étape suivante consiste à trouver un lien entre ce que vous voyez comme une amélioration potentielle et ce que l'entreprise pour laquelle vous travaillez verrait en tant que tel. Ensuite, vous devez convaincre votre (vos) patron (s) que c'est la voie à suivre.

Il ne suffit pas de comprendre les choses et de savoir comment les faire. Vous devriez également être en mesure de convaincre les gens que vous savez ce que vous faites. Et si cela ressemble à des ventes, c'est parce que c'est le cas. Mais cela est absolument nécessaire pour devenir "grand". Vous ne travaillez pas avec des ordinateurs, vous travaillez pour des gens et avec des gens, vous devez pouvoir vendre vos idées.

Bien sûr, certaines entreprises seraient trop conservatrices pour accepter vos idées, et votre patron peut les rejeter en raison de la couleur de la cravate que vous portez. Gardez à l'esprit que vendre des idées n'est pas plus facile que d'en générer, et qu'une vente infructueuse n'est pas nécessairement le résultat des arrière-pensées de votre patron, cela peut être une mauvaise présentation de votre part.

19
mfeingold

Je suis entièrement d'accord avec Nikos. Je pense que vous avez peut-être besoin de trouver une entreprise axée sur la technologie et les produits. Il y a des entreprises où les développeurs de logiciels considèrent le développement uniquement comme leur métier, et ils ne pensent jamais à ce genre de choses en leur temps. L'environnement de travail est généralement beaucoup plus adapté pour les gestionnaires qui font du travail de bureau plutôt que pour les développeurs qui travaillent l'esprit. Le niveau moyen des développeurs est généralement bas (bien que vous ayez parfois un "gourou"). Ils ont tendance à réduire (ou même à éviter) des choses comme le contrôle de version, les tests, les processus, etc.

D'un autre côté, il y a des entreprises où les développeurs ne font que ce qu'ils feraient de toute façon chez eux; ils rentrent chez eux le soir et travaillent sur leurs propres projets de développement à domicile, et apprennent de nouvelles langues/technologies pendant leur temps libre. L'environnement de travail est généralement assez axé sur le développeur, avec de bons moniteurs, de bons outils, une bonne ambiance propice à la réflexion. Les développeurs sont souvent d'un niveau élevé, et vous vous retrouvez à apprendre de tous vos pairs au quotidien. Ils prennent généralement au sérieux le contrôle des versions, les tests et les processus. La société expédie généralement des logiciels de qualité décente, car les développeurs le prennent personnellement s'il y a des bugs ou des imperfections.

Je ne pense pas que trouver une plus grande entreprise améliorera nécessairement les choses; en fait, dans de nombreux cas, les grandes entreprises sont pires, et les problèmes sont simplement plus enracinés et plus institutionnels.

Évidemment, je polarise un peu les choses ... mais si vous êtes un ingénieur logiciel dans l'âme (et pas seulement sur votre CV), alors vous devez essayer de trouver l'un de ces derniers types d'entreprises. Pensez à quelques bonnes questions d'entrevue que vous pouvez poser them, pour savoir si une entreprise est ce genre d'endroit.

18
NeilDurant

Quelque chose que j'ai trouvé que beaucoup de programmeurs ne comprennent pas, c'est que toutes les décisions ne sont pas techniques. Aussi triste que cela soit, faire quelque chose de "bien" n'est pas toujours une option. Cela conduit de nombreux développeurs à penser que leurs patrons sont stupides ou prennent de mauvaises décisions ... et oui, souvent c'est effectivement le cas, mais tout aussi souvent le fait est que l'entreprise peut être en faillite ou perdre un travail entièrement s'ils ont permis aux programmeurs de fixer le calendrier et de prendre toutes les décisions techniques.

Malheureusement, il est parfois de notre devoir de travailler dans les limites politiques ou financières du travail et de faire de notre mieux.

Une chose que vous apprenez de l'expérience est d'être conservateur. Les dernières techniques peuvent ne pas être éprouvées et vous ne les maîtrisez peut-être pas même si elles le sont. Les gestionnaires n'aiment pas passer du temps à vous permettre de vous familiariser avec une nouvelle technologie simplement parce que vous voulez apprendre quelque chose de nouveau.

Les programmeurs oublient que de nombreuses entreprises ne sont pas des éditeurs de logiciels. Ce sont des <entreprises commerciales ici> qui fabriquent également des logiciels. Votre travail en tant que programmeur est de faciliter les processus critiques de la mission, pas d'écrire un logiciel parfait. Il arrive parfois que ce soit la même chose, mais c'est en fait assez rare.

14
Erik Funkenbusch

Je peux comprendre que le code écrit pourrait être mieux, mais il doit y avoir une ligne où l'on peut être trop perfectionniste comme si quelque chose fonctionnait 99,99999% du temps, n'est-ce pas assez proche de 100% pour la plupart des gens ? Une partie de mes luttes avec des schémas de pensée négatifs sont parfois le perfectionnisme et l'autocritique et le jugement intenses, alors je peux peut-être trop m'identifier à cela.

4-5 ans, c'est assez de temps, OMI, pour comprendre quelques choses:

  • Ce que vous voulez - Quelles pratiques appréciez-vous dans votre poste actuel?
  • Ce qui fonctionne pour vous - Ceci est légèrement différent en ce que ce qui fonctionne n'est pas toujours ce que vous voulez.
  • Quels sont vos dealbreakers - Pourriez-vous aller travailler pour une entreprise qui ne vous laisserait pas avoir un IDE? Exemple extrême mais j'espère que cela illustre un peu le point.

Il y a d'autres questions comme " Feuille de route pour un meilleur programmeur " et " Comment devenir un programmeur" plus rapide " ", qui peuvent vous suggérer si vous le souhaitez améliorez vos compétences.

J'ai également connu où le titre senior est attribué à quelqu'un simplement pour avoir survécu sur le terrain pendant si longtemps, plutôt que pour atteindre un niveau de compétence. Vous pouvez soit l'accepter dans le cadre du fonctionnement du monde, soit essayer de trouver des endroits qui fonctionnent différemment. Je ne sais pas combien il en existe réellement, mais je peux dire que parfois vous pouvez trouver un bon endroit en termes de comment vous aimez travailler et ce que l'entreprise et ses collègues utilisent pour faire le travail.

" Sources of Insight " est l'un de mes blogs préférés et j'aime le lire presque tout le temps. Le matériel est un peu lourd en ce qu'il y a beaucoup d'éléments intellectuels dans ce qui est écrit mais il y a des pépites que l'on peut prendre et rendre sa vie un peu meilleure ou du moins c'est mon expérience.

Je me souviens à l'école quand j'étais enfant qu'il y avait souvent des transitions après 4-5 ans car pendant ma première école j'étais pendant 8 ans (de la maternelle à la 6e année), puis c'était 2 ans (7e et 8e années) , 4 ans (lycée qui était de la 9e à la 13e année où le 11/12 a été fait en un an dans mon cas) et 4 ans (baccalauréat universitaire).

Je peux accepter l'idée que la crise survienne à différents moments de la vie, par exemple. terminer ses études universitaires peut amener à se demander qui ils sont ou après avoir travaillé pendant un certain temps à se demander si cela en vaut la peine.

Certains endroits peuvent apparaître comme des endroits géniaux pour travailler et d'autres peuvent conduire à l'épuisement professionnel, car cela a été une question ici plusieurs fois, " Qu'est-ce qui cause l'épuisement professionnel du développeur ," et " Histoires d'épuisement professionnel du développeur , "tandis que d'autres questions sont le revers de cela," Quelle est votre motivation , "et" Programmation (de) motivation et autres plans ... "

Dans le cadre de ma réponse, je développe des sites Web/applications depuis près de 12 ans maintenant que j'ai obtenu mon premier emploi à l'université en février 1998 et mis à part une sécheresse de 8 mois où je ne travaillais pas, je ont fait cela tout le temps dans quelques environnements différents: un couple dot-coms, un fournisseur de services d'application et maintenant au sein de l'équipe de développement Web du département des systèmes d'information dans une entreprise technologique locale. Je me rends compte que c'est une longue réponse, mais je pense que les questions posées n'ont pas de réponses brèves à mon esprit.

10
JB King

À mon avis, ce n'est pas la crise de la quarantaine - je dirais que la lune de miel est terminée.

10
bernhardrusch

J'ai trouvé des choses similaires au cours de mes 10 années de programmation, et je présume que ce sont des événements assez courants. Dans le monde des affaires (par opposition au monde universitaire), l'argent (ou le manque d'argent) et le temps déterminent le calendrier, les fonctionnalités et la qualité de la programmation. Souvent, ces ressources manquent pour faire les choses correctement. C'est un facteur de motivation primordial pour trouver les méthodes les plus efficaces pour résoudre les problèmes. Cette situation m'a également conduit à garder à l'esprit que ma programmation ne devrait résoudre que le problème actuel (avec une certaine considération future) au lieu de construire quelque chose qui contient beaucoup plus de fonctionnalités que nécessaire. C'est une leçon cruciale à apprendre, à mon avis.

Vos commentaires sur les "programmeurs seniors" sont aussi, malheureusement, courants dans mon expérience. Je pense que la raison en est double - tout d'abord, de nombreux programmeurs expérimentés deviennent paresseux, en utilisant uniquement les outils et les méthodes qu'ils ont utilisés dans leur carrière. La technologie continue cependant d'avancer, ce qui conduit ces programmeurs expérimentés à devenir des "dinosaures". Deuxièmement, après avoir programmé pendant un certain temps, il peut devenir facile de devenir la proie d'un peu d'orgueil ("mes talents m'ont mené jusqu'ici, donc je dois être un assez bon programmeur"). J'essaie de combattre ces deux problèmes en essayant continuellement d'apprendre de nouvelles méthodes ou technologies pour résoudre mes problèmes. Parfois, cela contredit l'état de la leçon "ne construire que ce qui est nécessaire" ci-dessus, mais l'objectif est de rechercher un équilibre sain entre les deux.

Je suggérerais d'utiliser les expériences que vous avez comme motivation pour vous améliorer continuellement. J'ai moi-même quitté l'industrie de la programmation après environ 5 ans parce que j'ai perdu la passion de l'ingénierie du code. Mais je ne pouvais pas me débarrasser de l'envie de créer des programmes et je suis revenu dans l'industrie plusieurs mois plus tard. J'ai appris que vous devez vous engager à faire ce que vous aimez faire - si vous voulez gérer un projet, trouvez un poste qui vous permet de gérer des projets. Si vous voulez coder toute la journée, trouvez une position pour le faire. Trouver un emploi qui vous met au défi et répond à vos désirs est une partie merveilleuse et nécessaire d'une existence heureuse - je vous souhaite bonne chance pour le trouver.

9
user37772

J'ai eu les mêmes questions et j'ai peut-être regardé les mêmes choses que vous (grandes startups, conseils inspirants, personnes motivées créant des choses incroyables, des processus, des algorithmes qui vous font vibrer) seulement pour n'en trouver aucun chez mes collègues, actuels ou anciens , ni chez les personnes que je connais qui sont dans l'entreprise. Donc, cette énigme de faire correspondre cet intérêt profond avec un emploi rémunéré a signifié beaucoup de nuits mal dormies et une recherche d'un projet si ingénieux qui pourrait être pris de côté et pourtant se transformer en son propre truc assez rapidement pour fournir une issue. Comme beaucoup de gens, j'ai une famille à soutenir et je pense personnellement que l'énergie nécessaire pour construire quelque chose dans une startup ciblant le marché brésilien n'est pas bien dépensée si elle n'est pas complètement IT-ennuyeuse et ennuyeuse. Et sérieusement? Je fais de l'informatique et des choses ennuyeuses toute la journée.

Donc, pour moi, la réponse a été de garder la volonté d'apprendre et de s'améliorer dans un endroit et de travailler dans un autre. J'ai repris processing.org et continue d'essayer de dessiner, d'écrire et de cuisiner davantage. Pour être honnête, cela a été formidable pour moi: parfois, vous êtes tellement attaché à faire correspondre les gens que vous admirez et à être amené au Panthéon des grands artistes que vous ignorez des faits sérieux sur qui vous êtes et ce qui vous fait sentir que la vie vaut la peine vivant. Et même si le travail prend une partie considérable de votre journée, la minute où vous cessez de vous soucier de ce que tout cela signifie et où vous allez, c'est le moment où vous réalisez que vous n'en avez pas besoin pour y arriver. Continuez à coder si c'est ce que vous aimez, écrivez des logiciels à la maison, contribuez aux projets qui vous passionnent. Ce type de satisfaction vient rarement d'un chèque de paie pour la plupart des gens, et c'est peut-être le cas pour vous aussi.

7
dodecaphonic

En tant que programmeur, vous devrez toujours équilibrer votre désir de perfection et le désir de votre employeur pour un produit fonctionnel. Dans certaines entreprises, ces deux désirs seront plus proches l'un de l'autre, dans la plupart des entreprises, les deux désirs seront éloignés l'un de l'autre.

Ma meilleure suggestion pour faire face à la fuite de votre travail de jour est de démarrer un projet personnel sur le côté, un où il n'y a pas de date limite, où vous pouvez travailler dans des domaines que vous ne travaillez pas habituellement, un où vous faites tous les les décisions. Le code le plus gratifiant que j'ai écrit était en travaillant en tant que développeur Wii, je peux vous suggérer d'écrire un jeu. Vous serez en mesure de toucher à tous les aspects de la programmation, de la 3D, des réseaux, de l'IA, etc ... et puisque vous travaillez déjà avec .Net, je vous suggère de saisir XNA ou nity

En ce qui concerne les programmeurs seniors qui ne savent pas grand-chose, vous avez probablement raison. La plupart des programmeurs seniors de grandes entreprises ont été promus à un moment où ils en savaient beaucoup ou quand ils ont pu faire le travail. Maintenant qu'ils sont seniors, ils ont des responsabilités différentes, principalement en tant que managers. On s'attend à ce que leurs compétences en codage glissent un peu. Certains sont meilleurs que d'autres, et certains ont probablement été promus à cause de leurs connaissances, mais la plupart des programmeurs seniors avec lesquels j'ai travaillé dans le passé avaient un ensemble de compétences solide (bien que parfois obsolète).

Donc, pour conclure, faites un projet personnel pour soulager l'ennui au jour le jour et calmez vos aînés, faites le meilleur travail possible dans le temps imparti et tout ira bien.

7
jessecurry

Hé mon pote, c'était vraiment bien de lire ta question. Je suis content que vous l'ayez écrit. Vous savez quoi, vous ne réalisez pas quelle compréhension vous avez en ce moment. Les choses que vous avez écrites me font comprendre quelle expérience vous avez eu, et croyez-moi, cette expérience est quelque chose que tous les programmeurs ne peuvent pas avoir dans leur vie. Vous êtes une personne autonome, autodidacte. En ce moment, vous êtes dans un état d'esprit très mature, après avoir travaillé 4 ans pour de petites entreprises. Si vous aviez été dans de grandes entreprises, vous n'auriez rien eu à considérer comme une expérience. Vous comprenez maintenant comment fonctionne cette industrie, comment les choses se font et comment elles devraient être faites. Quel niveau ont ces soi-disant "seniors". J'ai une suggestion pour vous, si vous êtes si bon auto-apprenant et pratiquez l'auto-apprentissage depuis plus de 4 ans, pourquoi ne pas essayer le freelance comme carrière? Croyez-moi, vous travailleriez pour vous-même et en apprécieriez beaucoup plus.

Pour terminer, ne regrettez pas ce que vous avez fait au cours des 4 dernières années. C'est une expérience merveilleuse et seuls quelques-uns l'ont dans leur vie :)

7
Ravinder Singh

La différence entre les programmeurs seniors et juniors, quand on parle de personnes ayant une expérience, n'est généralement qu'une rémunération. Il y a beaucoup de variabilité dans la valeur des organisations afin de changer le titre, et souvent cela est déterminé par ce que vous exigez lorsque vous êtes embauché.

Si c'est une consolation, j'ai une crise de 10 ans à mi-vie de la programmation, même si j'ai commencé à programmer sur un Apple] [+ donc cela pourrait être un point de 24 ans; je ne ' Je ne souhaite que les gens ne s’attendent pas à la magie des programmeurs.

7
dlamblin

Je trouve que le fil rouge que j'ai vu dans ma carrière est que lorsque je sens que je suis pris dans une situation où je n'ai aucun contrôle sur mon environnement, c'est là que je commence à m'ennuyer. Je fais juste ce que tout le monde vous dit. Il est important d'avoir un domaine qui est le sien (à mon humble avis) pour avoir l'entière responsabilité de - peut-être qui fait également défaut dans votre travail?

Dans ce cas, vous devriez parler avec votre manager, peut-être y a-t-il une solution dans votre emploi actuel? Demander plus de responsabilité est toujours une bonne chose.

7
AndersK

D'après mon expérience, les premières semaines (mois tout au plus) sont cruciales pour la qualité générale d'un projet. Si vous commencez à travailler dans un endroit où d'autres programmeurs ont déjà créé un gâchis (mauvaises normes de codage, pas de contrôle de version, etc.), il est très difficile pour un gestionnaire, et surtout impossible pour un nouveau pair, d'établir des améliorations. Plus tard, les délais et les problèmes bouleversés entraîneront une certaine laideur dans presque tous les projets, mais si la fondation est bien faite, les dommages seront limités et gérables.

Pour cette raison, si vous vous trouvez dans une situation où vous devez travailler avec de mauvais pairs sur un mauvais projet, essayez d'être affecté à un nouveau projet (si cela est possible dans votre entreprise) ou trouvez un nouvel emploi. N'attendez pas trop longtemps, car les mauvaises habitudes sont contagieuses.

7
user281377

Eh bien, vous devriez apprendre un autre domaine (mathématique, IA, exploration de données, BI, intégration). Ensuite, après avoir maîtrisé ce nouveau domaine, il est probable que vous ayez de nouvelles idées qui répondent aux besoins réels de l'entreprise.

À ce stade, si vous êtes un grand programmeur, il vous suffit de faire un démarrage. C'est risqué, mais beaucoup plus amusant.

Apprenez différentes aptitudes et compétences, pas seulement en programmation, puis combinez-les pour créer une nouvelle chose à laquelle personne n'a pensé. C'est simple, vous avez déjà le meilleur marteau de tous les temps: la programmation.

6
Nicolas Dorier

Mon expérience personnelle est la même que celle que vous mentionnez. La plupart du temps, tous les projets sur lesquels j'ai travaillé dernièrement sont réalisés en un clin d'œil et tout pourrait être mieux. Je suis développeur de programmes depuis environ 7 ans maintenant et je travaille dans la même entreprise de taille moyenne. La direction n'a aucune idée et exécute tous les projets en tant que "non-projets". Il y a très peu d'ordre dans le chaos.

La chose que je crains le plus, c'est que je tombe dans la fosse dont vous parlez et que je commence à faire une programmation "merdique" et une décision stupide juste pour avancer dans ma carrière. J'espère qu'il y a quelqu'un pour me frapper à la tête si cela se produit.

6
Arto Uusikangas

Je pense qu'il est temps d'être Sr, développeur pour vous, je suis nouveau sur ce marché et j'apprends et je m'améliore, mais les employeurs ne recherchent pas des humains, ils recherchent des monstres comme Jr. développeur avec plus de 6 ans d'expérience et c'est vraiment frustrant.

6
Tarik

Bonne question Jeffrey. Aimez-vous toujours la programmation? Êtes-vous passionné, le faites-vous pendant votre temps libre? Ou êtes-vous simplement malade de certains des terribles emplois de programmation que vous avez eus.

Si vous avez l'impression que la programmation n'est pas pour vous, il existe de nombreuses autres disciplines que vous pouvez développer et pratiquer à ce stade de votre carrière - gestion de projet, ventes, avant-vente, analyste. Ces opportunités n'auraient pas existé lorsque vous étiez junior/diplômé, vous n'avez donc peut-être pas commencé à penser au-delà de la réduction du code. Vous pouvez peut-être contacter votre employeur pour vous parrainer pour des examens de certification, ou si vous souhaitez explorer une nouvelle technologie (Azure/Silverlight/WPF?)

D'un autre côté, si vous avez l'impression que votre lieu de travail ressemble à une bande dessinée Dilbert réaliste, il est peut-être temps de passer à autre chose. Si vous avez travaillé dans une grande entreprise, pourquoi ne pas interviewer quelques startups, ou vice versa. Vous n'avez à dire à personne que vous postulez pour un emploi, et même lorsque vous recevez une offre, vous êtes dans une excellente position de négociation car vous avez déjà un emploi, vous pouvez simplement décider si l'offre est meilleure que votre situation actuelle, et sinon, continuez à chercher. Les grandes entreprises peuvent souvent vous offrir de meilleures opportunités de développement de carrière et de formation, alors qu'avec une petite entreprise, vous obtenez plus d'intangibles, comme la responsabilité du succès de l'entreprise, des horaires de travail flexibles, des options d'achat d'actions et de l'ancienneté/respect plus tard si/quand l'entreprise frappe gros.

6
user204592

Si c'est une consolation, j'ai ressenti exactement la même chose pour les personnes âgées dans mon lieu de travail. La semaine dernière, j'ai déposé un rapport fondé sur des preuves et cette semaine, j'ai eu une réunion d'une heure avec le personnel pour déposer officiellement une plainte contre les gestionnaires (en tenant compte du fait que je suis un junior). C'était faire pousser des boules ou être malheureux dans mon travail. Ce ne sont pas des plaintes malveillantes, ce sont des plaintes constructives. Il y a une différence, et cela peut certainement avoir un impact énorme sur votre bonheur au travail.

MODIFIER

Je dirais également de ne pas "abandonner" simplement parce que vous avez un problème avec les gens. Il semble que beaucoup de gens ici disent simplement "quittez votre travail", la vérité est que vous pouvez faire la différence sur le lieu de travail. Cela semble ringard, je sais, mais je pense que vous feriez changer les choses et gagneriez plus de respect si vous êtes proactif pour que les choses changent. N'ayez pas peur de prendre votre patron à part et de porter plainte. Je l'ai déjà fait et cela fait déjà une grande différence. Nous adoptons de nouvelles technologies, changeons nos procédures de travail et abordons plus formellement les tâches à cause de ce que j'ai dit (et je suis un développeur junior)

6
Kezzer

Hou la la! J'aime la valeur de cette conversation. Je suis développeur web avec plus de 5,5 ans d'expérience et je l'adore. Je ne peux pas voter mais je vais citer les mots d'AZ. Je suis d'accord avec ça!

J'ai trouvé qu'il y a 2 secrets de bonheur relatif: - ne cherchez pas à avoir tout ce que vous voulez mais cherchez à vouloir tout ce que vous avez - la vie est difficile - peu importe la force avec laquelle vous pouvez frapper (bon vous êtes, personnellement et professionnellement); il sera toujours plus dur. il est important de savoir combien vous pouvez être touché tout en continuant à avancer.

Le livre que je recommanderais est: http://www.Amazon.com/Software-Measurement-Estimation-Quantitative-Engineering/dp/0471676225

5
lordspace

Mes deux points:

J'ai frappé le mien après seulement 2 ans dans l'industrie. Je l'ai surmonté en m'améliorant et en apprenant.

La plupart du temps, cela viendra parce que vous faites la même chose encore et encore. Et si vous faites la même chose encore et encore ... eh bien ... vous vous trompez.

Améliorez-vous toujours. Apprenez toujours. Et l'enfer, si votre entreprise actuelle ne vous offre pas cette atmosphère, allez en trouver une qui vous conviendra. Je l'ai fait et les 2 dernières années ont été le meilleur moment de ma vie (je suis aussi probablement 100 fois meilleur dans mon travail qu'il y a 2 ans)

5
mendicant

Il y a beaucoup de programmeurs, mais seule une petite fraction d'entre eux sont des ingénieurs logiciels de qualité. Je suppose que c'est vrai dans n'importe quelle profession.

5
David R Tribble

Bienvenue dans le monde réel ... malheureusement, ce que vous décrivez se produit dans la plupart des carrières avec des gens qui ne sont pas assez passionnés par ce qu'ils font. Il n'y a qu'une seule option (c'est-à-dire si vous aimez votre travail): vous devez trouver un meilleur magasin pour travailler, bien que ce ne soit pas facile de nos jours ...

5
Luis Abreu

J’ai également observé un autre problème selon lequel la plupart des soi-disant programmeurs "seniors" dans "mon environnement de travail" ne sont vraiment pas très compétents. Ils sont "seniors" uniquement parce qu’ils sont programmeurs de longue date, mais le code qu’ils écrivent ou les décisions qu’ils prennent sont des ordures! Ils ne veulent pas apprendre, ils ne veulent pas être meilleurs, ils veulent juste être payés

... suivi par ...

Je suis tombé dans un état mental que je n'ai plus l'intention d'être programmeur pour ma future carrière. J'ai commencé à penser qu'il y avait peut-être de meilleures choses à travailler.

Il est alors temps de commencer à chercher et de passer à l'action. Parce que si vous restez un programmeur avec cette attitude, vous finirez comme ces personnes "seniors" que vous méprisez si clairement. Le mot clé est "piégé": vous gagnerez suffisamment d'argent pour justifier de passer à autre chose, et vos compétences seront si étroites que vous ne pourrez pas vous déplacer dans l'industrie.

5
kdgregory

Peut-être envisagez-vous d'aller aux études supérieures? Cela pourrait ouvrir des possibilités pour un type de travail différent, plus axé sur le long terme.

3
Max Strini

J'ai travaillé pour 2 entreprises sur 2 continents différents avec des mentalités totalement différentes, mais ce qu'elles ont en commun, c'est qu'elles ne se soucient pas des programmeurs ... Le programmeur est généralement associé au niveau inférieur des entreprises ... Ils sont généralement associés aux débutants et ont les salaires les plus bas ... tandis que les chefs de projet, les architectes, etc. prennent généralement plus d'argent et font moins de travail ...

Je travaille depuis près de 4 ans maintenant et j'ai presque la même impression que vous ... Basculer entre les projets ... essayer tous les langages de programmation possibles ... C, C #, php, ASP.NET, WinForm, C++, Python, VB.NET, VBA ... et bien d'autres étaient quelques-uns des langages avec lesquels j'ai travaillé ... Depuis le moment où vos supérieurs découvrent que vous pouvez le faire avec n'importe quel langage qu'ils vous donnent, ils vous marqueront comme un "bon" ressource et vous donner tout le sale boulot ...

Je n'ai pas non plus de mentor pour me guider dans ma carrière ... et comme beaucoup de ceux qui ont écrit ici ... Je ne trouve ma satisfaction que lorsque je fais mes projets personnels ... mais malheureusement, généralement, les longues heures de travail n'ont pas été me laisse pas faire un travail sérieux ...

En conclusion, je vais passer quelques mois perdus jusqu'à ce que je décide comme la majorité des développeurs passionnés d'abandonner et de prendre un poste d'architecte simplement ennuyeux pour obtenir plus d'argent

3
Zied

D'une certaine manière, nous avons un sentiment similaire. Maintenant, je me demande si cela se produit parce que nous avons tous les deux cinq ans d'expérience ou à cause de la montée organisée de ceux qui lisent "Clean Code" (nous avons en Allemagne une communauté assez active autour de l'initiative "Clean Code Devloper" ), "Programmeur Pragmatique" et "Code Complet" comme ALT.NET et ainsi de suite. Tous les blogs regorgent d'idées sur la façon de faire les choses correctement et proprement.

Je pense donc que les cinq années d'expérience ne sont qu'une coïncidence, alors que la raison principale est le changement de l'industrie - qui est assez nouveau: des maisons et des ponts sont construits depuis des milliers d'années, des machines sont construites pour beaucoup des années en arrière, des trucs médicaux supérieurs vont cent ans, des ordinateurs quelque 50 ans et nous codons dans un langage de 3e génération depuis 20 ans. Vous voyez le point? Il faut du temps pour devenir mature pour une industrie, et je pense que l'industrie arrive à l'âge de l'adolescence :-)

3
Marc Wittke

Cette question décrit assez bien le triste état de notre industrie: la programmation est géniale mais la plupart des tâches de programmation sont nulles.

3
Rockcoder

Changer votre point de vue est très important

Je pense que nous, les programmeurs, nous plaignons et pleurons sur beaucoup de choses. Nous voulons que tout soit " parfait" (= nous voulons que tout soit à notre façon). J'étais (essayant toujours de changer) un peu comme toi. Mais la lecture de " The Passionate Programmer " de Chad Fowler a tout changé pour moi. Je me considère maintenant chanceux d'être programmeur. Je fais mon travail 52-55 heures par semaine (oui c'est vrai). Ce n'est pas " parfait". Mais j'essaie de faire mon travail avec passion. Je travaille pour une entreprise d'externalisation en Inde et le type de travail que nous obtenons est loin d'être qualifié de difficile. Les programmeurs ont la chance d'avoir une grande variété d'occasions pour satisfaire leurs envies créatives. Nous pouvons travailler sur nos propres projets. Nous pouvons travailler sur des projets open source. Nous pouvons faire du freelance le week-end. Je pense que la plupart des professionnels dans d'autres domaines n'ont pas ce luxe.

3
P.K

Je pense que vous pourriez confondre la désaffection avec "Un travail" et la désaffection avec "LE travail". Comme d'autres l'ont dit, vous pourriez avoir besoin d'un changement de situation.

Le développement axé sur le produit, plutôt que les projets de secteur d'activité (LOB), pourrait vous donner une relation plus forte entre vos efforts/votre désir de qualité et les résultats. Lorsque vous essayez de faire un produit commercial le mieux possible, vous êtes très concentré et aligné avec les efforts des autres, surtout si votre marché est dans le domaine de la technologie/programmeur - peut-être devez-vous devenir développeur d'outils logiciels par exemple ?

En tout cas, je vous déconseillerais certainement de chercher de plus grandes entreprises avec plus d'argent - où pensez-vous que les développeurs moyens et inférieurs à la moyenne vont se cacher?

Permettez-moi de donner le point de vue d'un gestionnaire. L'offre mondiale de possibilités de codage dépasse largement les heures-talents disponibles pour y répondre. Les gestionnaires dirigent des entreprises pour réaliser un profit, raison pour laquelle ils essaient d'appliquer les heures de talent disponibles au plus grand nombre d'opportunités de codage possible, il est donc juste et approprié que les choses se fassent en toute hâte et à bas prix, à condition que les conséquences n'affectent pas le résultat net.

D'après mon expérience, le meilleur travail se fait lorsque la direction ne regarde pas, soit comme un projet de skunkworks dans une grande entreprise, soit de plus en plus par des contributeurs volontaires travaillant sur des projets open source.

Mon conseil est d'adopter la discipline du contrôle des coûts, de rechercher des opportunités de skunkworks, de trouver un projet open source pour engager votre temps libre et de vous lancer dans la gestion, car si vous ne le faites pas, quelqu'un avec moins de compétences techniques prendra des décisions à la place.

PS. J'ai été développeur C/C++ pendant 12 ans et je code toujours Java en tant que réalisateur.

2
Piers C

Considérez cela comme une chance de vous dépasser au-delà de vous-même. Je vous suggère de prendre des initiatives pour améliorer votre atmosphère. Vous apprendrez beaucoup de choses en cours de route, peu importe que vous échouiez ou réussissiez.

Il est beaucoup plus facile de se plaindre (je sais que les gens n'aiment pas ces mots, moi aussi) que d'apporter des changements positifs. Pour changer, vous devriez pouvoir influencer les autres; vous devez être en mesure de communiquer, vous devez être en mesure de tracer un terrain d'entente; vous devez être persévérant et patient; vous devriez être capable d'écouter et de motiver les autres avec votre vision. Ce sont les compétences qui ne manquent jamais de données qui profiteront à toute votre vie.

2
Bin Chen

Si vous êtes bon dans ce que vous faites, en tant que programmeur, la plupart des gens que vous rencontrez dans la vie d'une entreprise auront plus à perdre qu'à gagner. La haute direction bénéficierait de vos capacités et vous devez vous assurer de leur soutien.

Trouvez votre propre mentor. Il est de votre responsabilité, si vous aimez ce jeu, de trouver quelqu'un pour vous aider à grandir.

2
wentbackward

Il y a une différence entre 10 ans d'expérience et un an d'expérience 10 fois.

2
PurplePilot

Je ressens la même chose depuis un moment. Je suis dans un grand magasin informatique d'entreprise et je vois le même genre de chose; les personnes âgées sont pour la plupart stagnantes et résistantes au changement, et cette résistance est tellement ancrée que nous ne pouvons même pas nous contenter de rationaliser les interfaces utilisateur de notre logiciel, au lieu de cela de finir par cloner l'original presque exactement.

Cela n'aide pas que le logiciel original soit surtout terrible; les conceptions sont trop complexes, très inefficaces et également sujettes aux erreurs ... mais la direction nous oblige à prendre plusieurs des mêmes décisions architecturales.

Je travaille donc sur la transition vers le freelance ...

2
Rakesh Malik

Poste intéressant. Je suis à mi-chemin de ma quatrième année de développement professionnel .net. Je suis vraiment mécontent de mon travail actuel (je cherche mais jusqu'à présent il n'y a pas eu grand chose à dire sur ce front).

  1. J'ai eu un professeur qui, une fois, a fait tout son possible pour insister sur tout documenter. Je ne parle pas de code, je veux dire "tout". Et il a dit que cela ne serait probablement toujours pas suffisant. Eh bien, il y a une différence entre savoir une chose et la comprendre et j'ai fini par la comprendre, et il a raison. Il n'y en a jamais assez. Je n'arrive pas à documenter mais j'évoque une conversation récente, je perds. Je documente, on me dit que j'ai mal compris quelque chose. Je me suis longuement penché sur tout cela, et je pense que certains de mes propres défauts sont définitivement à l'œuvre. Mais la communication est une voie à double sens, et ce n'est pas toujours moi qui fous. C'est encore pire quand je suggère des choses ou que je règle des problèmes, ceux-ci disparaissent à l'époque, puis reviennent plus tard. J'ai été stupéfait récemment dans le bureau du VP alors que lui et mon patron me demandaient pourquoi je n'avais rien fait sur une page particulière de notre application la plus récente. Et pourtant, j'avais demandé à faire cette chose pendant le développement et j'ai été abattu. Des trucs comme ça arrivent trop souvent à mes goûts.

  2. Apprendre/suivre vos compétences/etc est parfois discuté, mais nous ne le faisons pas. Nous avons l'occasion de le faire au travail et nous ne le faisons toujours pas. Très décevant. Je ne m'attends pas à ce que nous sautions sur la technologie et l'outil le plus récent et le plus récent chaque fois qu'un apparaît. Mais par exemple nous devrions faire du développement .net 3.5. Il n'y a aucun argument pour ne pas faire de développement 3.5. Mais nous faisons toujours du développement 2.0. C'est stupide. C'est surtout bien que mon patron se méfie des nouvelles choses, mais c'est devenu idiot. J'ai essayé de lui expliquer LINQ récemment (en plaidant pour le passage à la version 3.5) et sa réponse a été "cela ressemble à ce genre de requête de langue anglaise". Je me rends compte qu'une partie du problème était que je faisais un mauvais travail en expliquant LINQ. Mais revenons à la communication bidirectionnelle, c'était quelqu'un à l'autre bout qui ne voulait pas écouter. Je ne m'attends pas à ce que l'entreprise fasse du mentorat une priorité absolue. Mais mon groupe (seulement 3 développeurs) pourrait faire plus pour favoriser l'apprentissage.

  3. La position de mon groupe dans l'entreprise s'est quelque peu améliorée au cours des 18 derniers mois. Mais nous avons encore quelques problèmes. Notre vice-président en est largement responsable. C'est frustrant, mais je pourrais vivre avec cela si certains autres aspects du travail étaient plus satisfaisants.

  4. Ironspeed Designer - Dieu que je te déteste. Et le fait est que je comprends pourquoi un générateur de code peut être utile. J'ai voulu des générateurs de code pour certaines tâches à certains moments de ma vie. Nous semblons cependant devenir un groupe dirigé par Ironspeed. Je n'aime pas cela, car cela entravera gravement ma capacité de grandir au travail.

  5. Je me soucie de l'art du développement et de la programmation de logiciels, même si je suis déficient dans les deux. Je ne travaille pas avec des gens qui se soucient du métier de développement/programmation de logiciels. Pas de revues de code. Souvent, je ne peux pas obtenir d'aide pour tester des choses (et je n'arrive pas à amener les utilisateurs à tester même si les choses se sont améliorées là-bas au cours de la dernière année ... et ensuite je me fais crier dessus si un bogue arrive en production sur une version. suis un homme. Je ne peux pas faire grand chose).

J'essaie donc d'apprendre par moi-même (je ferais mieux avec quelqu'un qui souhaite me voir apprendre). Je passe par des phases où j'aime programmer en dehors du travail, et des phases où je ne peux pas le supporter. Nous venons tout juste de terminer un projet particulièrement mouvementé qui m'a vu faire des heures supplémentaires importantes, et donc je n'ai pas vraiment appris au travail depuis environ 6 semaines. Mais je vais y revenir et relire C # en profondeur de Skeet, et faire encore plus avec MVC. . .

J'ai lutté contre beaucoup de doutes (la confiance en moi n'a jamais été l'un de mes points forts de toute façon) au cours de la dernière année et demie. Je n'appellerais pas cela une crise. Je continue parce que je fais j'aime faire ça. Même en travaillant à un boulot de merde.

2
peacedog

Voici un livre:

  • Apprenticeship Patterns: guidance for the aspirant craftman/David H. Hoover, O’Reilly, 2010

Si vous prévoyez une carrière dans le développement de logiciels agiles, ce livre contient de bons conseils. L'avant-propos est de Ward Cunningham. Voir aussi le site de l'auteur . 125 pages.

2
rleir

À moins que vous ne trouviez un travail faisant ce que vous vouliez déjà faire avec vos connaissances en programmation, travailler à temps plein sur une partie de la programmation connexe mais non intéressante ternira votre intérêt pour ce que vous aimiez commencer.

Ou, quelqu'un avec un intérêt féroce pour la robotique autoguidée utilisant des algorithmes modernes de planification de chemin faisant du travail de développement Web à plein temps ne voudra probablement pas voir un ordinateur à la maison, beaucoup. La même personne qui se fraye un chemin vers la carrière qu'elle voulait réellement et ne s'arrête pas à mi-chemin travaillera souvent avec plaisir plus d'une semaine de 40 heures, rentrera heureuse et se réveillera reposée le matin.

En théorie, au moins.

2
Dean J

Je les ai sur une base récurrente. Ce qui se passe, c'est que je me désintéresse généralement de mon travail et j'essaie d'acquérir de nouvelles compétences. Après cela, j'essaie de mettre ces compétences dans mon travail, mais j'en ai rarement l'occasion. Cela est dû à la micro-gestion et à la politique d'entreprise en constante évolution.

Le pire, c'est que je suis plus ou moins coincé avec mon employeur actuel, sauf si je déménage dans une autre partie du pays.

Le seul développeur "senior" avec nous n'est en fait pas un développeur, du moins à mes yeux, il est vraiment productif, mais je ne l'ai jamais vu écrire de code. Et à ma connaissance, il n'a pas d'expérience de travail beaucoup plus longue que le reste d'entre nous.

J'aimerais vraiment faire autre chose, comme construire un bateau ou quelque chose. Cependant, je pense que j'ai vraiment dépassé le point de retour après 8 ans.

Mais si j'avais la chance, je ferais quelque chose de différent, mais je sens en quelque sorte que je reviendrais parce que c'est qui je suis. Je connais le code.

2
Peter Lindqvist

Je suggère que, si l'occasion se présente, vous fassiez autre chose pendant un certain temps. Comme le conseil informatique, l'entreposage de données, les ventes ou même le support.

Vous redécouvrirez votre passion pour la programmation et serez si heureux d'y revenir (c'est ce qui m'est arrivé) ou vous serez satisfait de votre nouveau travail et poursuivrez une carrière différente à laquelle vous n'aviez pas pensé auparavant.

Si vous revenez à la programmation, cela pourrait également vous ouvrir la possibilité de travailler sur différents projets dans d'autres secteurs utilisant d'autres technologies qu'auparavant, ce qui peut également être une bonne chose.

1

Beaucoup de gens ont essentiellement dit Apprendre quelque chose, et je suis d'accord avec cela. En particulier, je suggère de trouver un domaine qui vous intéresse particulièrement et d'obtenir bon avec lui. Je connais trop de concepteurs de sites Web qui "voulaient vraiment être des artistes 3D mais n'ont jamais compris comment le faire". De loin, la meilleure façon de se faire embaucher pour des projets ou des technologies intéressantes est d'avoir de l'expérience dans d'autres projets ou technologies intéressants. Un lieu de travail insatisfaisant mais peu exigeant peut être utilisé à votre avantage, vous donnant ainsi la possibilité de respirer mentalement pour adopter de nouveaux concepts.

En général, le meilleur conseil que j'ai entendu dans ces situations n'est pas de penser positivement mais de penser de manière constructive. Où suis-je dans ma carrière? Où veux-je être? Quelles mesures dois-je prendre pour aller d'ici à là?

Même une vision pratique et holistique des activités de votre propre entreprise peut être rafraîchissante - quelles alternatives réalistes mettriez-vous en œuvre dans le flux de travail en l'état? y a-t-il des petits composants qui peuvent être introduits sans trop d'interruption? La présentation d'une proposition écrite d'un nouveau modèle avec le code de travail pour une partie de celui-ci montre la vision ainsi que la compétence technique. La différence entre un bon programmeur junior et un bon programmeur senior est la portée des solutions qu'ils doivent élaborer.

(De plus, les années 4 et un 9-5 représentent également 10 000 heures passées dans un champ. Pas particulièrement pertinent, mais je pensais que c'était un critère intéressant à connaître!)

1

Le projet est la chose. Vraiment. J'ai dirigé ma propre petite entreprise et des équipes de taille moyenne et grande. La chose la plus importante que je vois est que tout le monde est motivé lorsqu'il creuse le projet. Ne travaillerez-vous pas moins cher si le projet est vraiment cool? Ne travaillerez-vous pas plus longtemps lorsque vous êtes totalement dans ce que vous faites et chargé de voir tout le monde ressentir la même chose?

Nous faisons ce que nous apprécions le plus. Alors, comment pouvez-vous réinjecter de la valeur dans votre carrière lorsque vous travaillez pour quelqu'un qui paie vos factures? Par l'innovation. Innover et partager cela avec les autres. Cela le maintient frais.

1
Spanky

Imaginez si votre expérience était inférieure à 4 ans, soyez une femme, soyez jolie, soyez complètement amoureux de votre travail de développeur et personne ne vous prend au sérieux. Bien que si vous avez écrasé une fois et l'autre les hommes qui vous entourent, vous devez prétendre tout le temps que vous êtes une fille idiote. Oui, parfois, c'est vraiment frustrant, mais je pense que tout ce qui se passe en direct est à quel point vous aimez ce que vous faites, et certainement la seule façon d'apprendre vraiment est par nos propres efforts.

1
ae2

D'après mon expérience également dans certaines grandes entreprises, la situation est la même. Ce qui compte, ce sont les valeurs et les politiques de l'organisation et encore moins sa taille.

Essayez de trouver un sous-domaine du génie logiciel qui vous passionne le plus et de savoir quelles entreprises ont des emplois dans le domaine et à quoi ça ressemble.

. influence, puisque vous vous habituez à leur situation et aux technologies qu'ils utilisent et que vous vous efforcez moins de changer les choses et d'essayer de nouvelles approches. - Les esprits frais sont très importants, l'expérience interne est importante pour savoir comment faire avancer les choses dans cette entreprise, les entreprises doivent avoir une combinaison des deux.

Essayez également d'obtenir votre lieu de travail pour vous envoyer à autant de cours externes que possible, qui, selon vous, améliorera vos connaissances techniques et méthodes de travail.

1
Danny Varod

La réalité est que la durée de l'expérience ne constitue pas vraiment une sorte de garantie en matière de compétence. Un bon modèle de ce qui se passe est le modèle Dreyfus d'acquisition de compétences qui, bien qu'initialement popularisé en soins infirmiers, a connu un certain renouveau en génie logiciel - voici un exemple appliqué à Ruby (personnellement, je suis un peu dubitatif sur la cartographie, mais c'est quand même une lecture intéressante).

Malheureusement, la plupart des gens ne dépassent jamais le stade de "débutant avancé" dans leurs compétences (notez que le modèle devrait être appliqué par compétence non à une personne dans son ensemble) - vous ne vous améliorerez qu'en pratiquant non seulement l'amélioration personnelle, mais en choisissant le bon type d'apprentissage qui vous amènera à l'étape suivante. C'est pourquoi certaines personnes peuvent suivre de nombreux cours, passer des examens et être toujours des ordures.

Il semble que vous ayez atteint un stade particulier de votre développement de compétences (compétent ou compétent) et que vous puissiez ainsi mieux vous différencier des autres. Le schéma général est qu'il faut 10 ans pour devenir pleinement expert dans une compétence particulière non triviale - mais la plupart des gens ne le font jamais.

1
FinnNk

Quelques divagations de quelqu'un qui se demande si après plus de 40 ans de piratage, une nouvelle carrière pourrait être en ordre ... :-)

Non. J'adore ce genre de choses. Des cartes perforées aux bandes de papier, en passant par les ordinateurs centraux CDC, PDP- *, 4004, Alpha, Nova, Eclipse, Eagle (le matériel qui est venu bien avant le logiciel), Mac Minis et tout le reste. Et nous sommes quelques-uns qui sont toujours curieux de connaître les nouvelles technologies après que beaucoup, beaucoup sont venus et sont partis. Ma première confession est de savoir comment, enfant de l'industrie des mini-ordinateurs, j'ai regardé les vieux fogies de l'ère Cobol/Mainframe et les ai cru datés et savourant que nous, les jeunes vivaneaux, étions ici pour sauver la journée technologique et obtenir des choses faites, sans parler de faire des millions.

Pendant tout ce temps, je n'ai jamais sérieusement pensé à quitter la programmation car il y avait trop de choses à faire. Une grande partie du travail créé par une gestion désemparée dans une ruée pour accoucher d'un bébé de 5 mois, maintes et maintes fois. Et c'est ce travail qui constitue l'essentiel du travail inintéressant effectué par les 9-5 ans ou par la délocalisation.

Les choses intéressantes sont faites par des startups, des petites entreprises et des entreprises comme Apple et Google qui, pour différentes raisons, ont créé des environnements de travail qui favorisent la programmation créative. Et dans les grandes entreprises avec des environnements de travail dysfonctionnels par des non-conformistes qui sont prêts à sortir le cou et à se faire couper la tête de temps en temps. J'y suis allé, je l'ai fait et je le ferai encore, ne serait-ce que parce qu'à la fin de la journée, rien de tel que de voir cette application , système ou bibliothèque fonctionnant et étant réellement utilisé, et le plus important de tous, sachant que sans vos efforts, le produit final serait encore pire.

Ne pas s'inquiéter. Si vous aimez ce genre de choses, vous le ferez dans 30 ans. Sinon, avec de la chance, vous trouverez ce que vous aimez et cela conduira à une satisfaction interne et, espérons-le, beaucoup plus. En tout cas, excellente question ne serait-ce que pour l'occasion d'exprimer une passion profondément ressentie.

1
pajato0

J'ai travaillé pour de grandes sociétés de logiciels (d'entreprise) au cours des 4 à 5 dernières années et, comme décrit dans la question, j'ai vu un certain nombre de solutions juste mises en place sans aucune pensée ni conception réelles. J'ai eu la chance de travailler avec des gens formidables, mais cela devient un peu déprimant de voir les mêmes erreurs se répéter à chaque fois. Plus souvent qu'autrement, les problèmes ne sont pas techniques, mais sont le résultat d'une mauvaise gestion.

1
MagicAndi

on dirait qu'il est temps de commencer à vendre de la drogue.

1
gweg

Parlant pour moi, il y a un cycle. Quand j'ai commencé à me développer professionnellement, j'étais excitée, impatiente et j'ai passé un bon moment à résoudre chaque nouveau problème. Après quelques années, j'ai fini par voyager pour une entreprise pendant plusieurs mois. Je n'étais pas vraiment préparé au nombre de voyages requis et j'ai fini par avancer. La prochaine entreprise pour laquelle je travaillais avait un problème avec sa taille trop grande et son manque de concentration. Il n'y a jamais eu d'intention claire ni de raison commerciale pour le codage que je faisais. En conséquence, c'était surtout du temps de remplissage.

Après cela, je suis devenu consultant et j'ai découvert que les choses n'étaient pas si différentes du travail ETP. J'ai généralement été sur des missions pluriannuelles où finalement cela devient un travail. Comme d'autres l'ont dit, vous finissez par faire beaucoup de choses mauvaises pour faire le travail et vous embourber dans la technologie que vous utilisez, par opposition à des choses nouvelles et intéressantes. J'ai passé plusieurs années où je ne me souciais pas vraiment de la technologie. J'ai vu assez de cycles maintenant que je sais que si vous ignorez un round ou deux, vous ne vous condamnerez pas vraiment ... mais il faut pas mal d'efforts pour revenir dans le train en marche et rattraper le changements importants. La dernière fois que j'ai eu une interview, Unit Testing et MVC n'existaient pas vraiment dans l'espace .NET et les modèles étaient à peine évoqués dans la communauté .NET.

Je trouve que le meilleur déterminant si je "fais bien" est de coder moi-même le week-end et le soir. Si oui, alors je suis passionné par la technologie, intéressé et apprenant. Sinon, mon travail me met probablement trop sur la route ou me fait faire la même chose encore et encore et j'ai perdu tout intérêt ... auquel cas, il est probablement temps de passer à autre chose.

Rappelez-vous: votre patron est en charge de votre travail, vous êtes en charge de votre carrière. (Volé ouvertement dans l'excellent discours de Brian Prince sur le fait d'être un meilleur développeur)

1
Ben Von Handorf

:-) Je vous assure que la loi du code du marché est la suivante:

Plus la société est grande, plus le temps de mise sur le marché est court, plus le calendrier des projets se rétrécit et plus la concurrence pour sortir votre produit le plus rapidement rend presque nulle le temps d'écrire la solution "parfaite" s'il y en avait un.

D'après mon expérience personnelle, plus de 8 ans de développement dans de grandes entreprises, de petites entreprises puis des entreprises de taille moyenne - les projets sur lesquels j'ai pu me concentrer le plus de temps et de polissage étaient les SMME (petits gars) - Bien sûr, le coût entre en jeu mais ne vous vendez pas non plus!

En tant que développeur, défendez des délais réalistes, ayez un plan de jeu qui laisse suffisamment de temps pour un peaufinage qui vous fera vous sentir mieux dans ce que vous avez livré. Ne pas planifier, c'est comme planifier l'échec, un terme inventé par beaucoup à ce jour.

Bonne chance dans vos projets/carrière futurs.

1
Microdot

Ma réponse est non. Je suis maintenant développeur de logiciels depuis 7 ans, et mon plaisir s'améliore encore. (Je fais des applications de bureau en C # en ce moment)

Pour ne pas vous sentir senior vous-même, je recommande deux choses:

  • Allez dans une grande entreprise avec des gens expérimentés
  • Obtenez-vous une bonne éducation. Je ne sais pas ce que cela signifie où vous vivez, mais chez moi, ils ont un excellent cours post-diplôme qui est de 2,5 ans à temps partiel. Cela m'a ouvert les yeux sur de bons logiciels et le développement en général.
1
Marcel

C'est drôle que je viens de tomber sur ça ... J'ai assez de programmation et je prévois de partir, mais semble avoir eu la carrière que vous désirez. Il vaut peut-être mieux suivre mon fil et j'espère que les réponses nous aideront à la fois: https://stackoverflow.com/questions/2055669/how-to-find-part-time-development-it-work = Je comprends votre frustration

1
Jonathan

Je suggère que si vous aimez vraiment la programmation, prenez le temps de travailler sur vos propres projets qui vous intéressent, en dehors du travail. Même si l'on vous confie un travail de rêve, la réalité quotidienne de travailler sur des logiciels de niveau professionnel peut souvent en retirer le plaisir, comme tout le reste de la vie.

Il y a une bonne raison pour laquelle les programmeurs sont bien payés (il est extrêmement difficile de créer et de maintenir des systèmes logiciels, il est lourd de compromis et vous travaillez souvent sous des contraintes de temps élevées).

Mon conseil est de travailler dur pendant le travail, d'apprendre ce que vous pouvez de ceux qui vous entourent qui en savent plus ou ont plus d'expérience (même si vous pensez que vous pouvez faire mieux qu'eux), et continuer à apprécier ce qui vous a mis dans ce pétrin en premier lieu: une passion pour la programmation.

1
dvanaria

Je suis dans la même situation qu'un programmeur de quatre ans Java dans une entreprise big. Je peux confirmer que je suis moi aussi confronté aux problèmes que vous avez mentionnés.

Ma solution est de décrocher un doctorat en informatique afin de trouver de nouveaux défis.

1
Manuel Selva

Je travaille actuellement à mon troisième emploi. J'ai travaillé sur mon premier emploi pendant 4 ans puis sur mon second également 4 ans.

Je pense que c'est une combinaison de vouloir faire quelque chose et d'opportunités de carrière et d'offres d'emploi.

Je veux dire: quand vous travaillez à un emploi pendant environ un an et que les chasseurs de têtes vous contactent, vous vous dites: "non désolé, je suis content de mon travail actuel". Mais comme après quelques années, vous pourriez être tenté de chercher de meilleures opportunités jusqu'à ce point de rupture et de vraiment chercher autre chose.

1
Gerrie Schenck

Je viens de commencer à travailler il y a environ 2 mois dans une petite entreprise. La programmation n'est pas ennuyeuse du tout si vous l'aimez vraiment. Et je compte aussi sur Internet pour chercher des réponses à mes propres questions mais il y a aussi notre manager (qui est aussi développeur/programmeur) à qui je peux demander. Eh bien, il ne s'agit pas seulement de gagner un revenu énorme, mais de votre passion pour faire avancer les choses. Essayez d'ajouter quelques compétences. Je ne fais pas que de la programmation mais j'écris aussi. Je suis également dans la conception de bases de données. Quand j'aurai mon temps libre, je commencerai à faire mon projet personnel. À partir de maintenant, j'aime ce que je fais et j'en profiterai encore après 5 ans.

0
jean27

que faites-vous lorsque les "projets personnels" ne vous donnent plus suffisamment d'apprentissage ou de motivation?

0
Jonathan

La plus grande stratégie que j'ai trouvée pour améliorer mon code est la révision de code. Même un développeur moins senior peut parfois trouver et suggérer une amélioration. La partie la plus difficile est de laisser mon ego hors du processus.

0
SnoopDougieDoug