Question:
Je viens juste d'être viré - comment savoir si je suis un bon ingénieur logiciel?
TheComeBackKid
2018-05-23 07:13:21 UTC
view on stackexchange narkive permalink

Je viens de me faire virer de mon travail. C'était mon premier emploi en génie logiciel à la sortie de l'université, et j'y suis resté un peu plus d'un an. La raison en est qu'ils ne pensent pas pouvoir me former pour acquérir les compétences dont ils ont besoin dans un délai qui conviendrait à l'entreprise. Je pensais que j'étais assez bon et que je m'améliorais rapidement, et j'ai même reçu 2 évaluations de performance positives l'année dernière.

J'ai eu du mal à trouver cet emploi. Je ne suis pas doué pour les tests de codage. Je les ai reçus de 9 entreprises différentes et j'en ai dépassé 3. Je me prépare régulièrement pour eux en utilisant du matériel.

De plus, j'ai eu un stage d'été en 2016 que j'ai essayé de convertir en un emploi à temps plein, mais ils ont essentiellement dit qu'ils me garderaient en tant que stagiaire mais qu'ils n'étaient pas disposés pour m'employer à plein temps.

Sur le plan académique, j'étais génial. J'ai terminé ma maîtrise en informatique avec un 4.0 GPA d'un programme de science-fiction top 10, et j'ai terminé le premier cycle avec une mineure en informatique avec un 3.70 GPA.

J'aime être ingénieur logiciel, mais je pense qu'il n'y a pas de bon moyen d'évaluer les compétences. Comment puis-je savoir si je suis vraiment mauvais ou si j'ai juste besoin de continuer à m'entraîner davantage?

Il existe de nombreux types d'ingénieurs logiciels.Certains construisent des sites Web, d'autres fonctionnent sur des systèmes embarqués.Vous pouvez travailler directement sur un produit vendu ou gérer des systèmes backend qui prennent en charge le reste de l'entreprise.Tous ont besoin de leurs propres compétences et être bon dans un type de travail ne signifie pas nécessairement que vous excellerez dans d'autres.Vos compétences et vos talents correspondaient-ils au type de travail que vous essayiez de faire?
Pour la plupart.Mon expérience de codage était en Java, mais l'entreprise utilise Python.Python n'est pas difficile, et j'ai l'impression de l'avoir pris très rapidement.Je suppose qu'ils ne seraient pas d'accord cependant ...
Quelle était la taille de l'organisation?Les startups et les petites entreprises ont tendance à exiger une courbe d'apprentissage plus rapide de leur personnel.
L'entreprise comptait un peu moins de 100 personnes.
Travailliez-vous avec d'autres programmeurs?À quel niveau, etc. Si une équipe qui sait ce qu'elle faisait et qui a de l'expérience dans l'intégration des juniors vous a trouvé en manque, c'est différent d'être licencié comme seul développeur dans une start-up avec des attentes totalement irréalistes.
Je travaillais avec d'autres programmeurs.La direction a formé avec succès au moins trois ingénieurs de niveau junior à non junior, mais 2 de ceux qu'ils ont formés avec succès en étaient à leur deuxième emploi en génie logiciel.Je suis sorti tout droit de l'université.
Avaient-ils un plan de formation en place pour vous?Dans quelle mesure pensez-vous que vous l'avez rencontré?Il semble simplement qu'ils auraient dû être en mesure de mieux utiliser leur temps en termes de formation, étant donné qu'ils disposaient d'une année complète.
@user70848,, ils n'avaient pas de programme de formation en place.Leur «formation» m'impliquait simplement de poser des questions quand je les avais.Je pensais que ma formation s'était bien déroulée et que j'avais appris ce que j'avais besoin de savoir.Ils ne m'ont fait part d'un léger mécontentement qu'au début d'avril et m'ont renvoyé cette semaine.
@TheComeBackKid vous allez très bien faire!Arrêtez d'être si dur avec vous-même.Je suis content pour toi.Maintenant, vous pouvez enfin trouver un vrai travail et être apprécié.Vissez ces idiots pour vous avoir viré.Ils ne savent pas ce qu'ils ont perdu.
Comme cgTag l'a dit ... - Questions: Quelles sont les qualifications des autres personnes, collègues, direction, propriétaires?J'ai vu beaucoup d'endroits où vous seriez la personne la plus qualifiée.Quel est le taux de rotation?Si vous allez prendre les promotions des autres, vous partez ...
@Rob,, il y avait plusieurs autres ingénieurs en logiciel qui relevaient de quelques responsables de développement logiciel.D'autres développeurs avaient 1-3 ans d'expérience en génie logiciel avant de rejoindre l'entreprise.La direction avait environ 5 ou 6 ans d'expérience en développement avec 4 à 6 ans d'expérience en gestion.Le chiffre d'affaires est assez faible.Je n'étais pas aligné pour «prendre» la promotion de qui que ce soit.
@TheComeBackKid - Merci pour votre réponse.S'ils ont des informations d'identification appropriées (pas seulement le copain du patron), vous pourriez bénéficier d'un «entretien de sortie» pour savoir précisément pourquoi ils vous «licencieraient» pour vous licencier.Le licenciement est généralement réservé à quelqu'un qui le mérite activement.Le «licenciement» affectera presque certainement vos avantages sociaux et votre emploi futur, alors que le licenciement ne le fait presque jamais.Cela semble inexplicable après de bonnes critiques récentes.
@TheComeBackKid, tout le monde a parfois un revers et souvent le premier emploi en dehors de l'université n'est pas le meilleur choix.Si vous aimez ce que vous avez fait et que vous comprenez le travail, pensez à la possibilité que vous ayez été relâché pour autre chose que ce que vous pensez.Si tel est le cas, la "pratique" sera de peu d'utilité.Trouvez un mentor qui vous comprend et qui peut vous aider à mieux comprendre ce qui s'est passé.
J'adore que vous vous soyez inscrit avec le nom @TheComeBackKid pour poser cette question.
Qu'est-ce qui vous a amené à faire si bien dans l'université?Quelle que soit la réponse, financez un emploi comme les meilleures choses à l'université.
Envisagez de contribuer à un projet * existant * [de logiciel libre] (https://en.wikipedia.org/wiki/Free_software) (par exemple sur [github] (http://github.com/) ...) sur votre disque de secourstemps.Cela peut être amusant, améliorera vos compétences et semble bien sur un CV et vous apprendrez beaucoup.Lire aussi http://norvig.com/21-days.html
Vous avez reçu deux évaluations de rendement l'année dernière, je suppose que ces évaluations ont souligné ce que vous deviez améliorer, alors avez-vous réglé ces problèmes?Bien sûr, il semble que l'entreprise ait eu des problèmes, vous ne vous débarrassez généralement pas des employés, que vous avez également donné des évaluations de performances positives, même si elles avaient des aspérités.Vous savez clairement comment faire le travail étant donné que vous avez une maîtrise en CS et une mineure en CS (bien que vous ne sachiez pas en quoi consistait votre majeure), ce qui pourrait expliquer la raison pour laquelle vous avez tant de mal sur les «tests de codage»
Vous faites des entretiens techniques simulés avec d'autres chercheurs d'emploi.Vous les interviewez.Ils vous interviewent.Cela vous donne également une bonne idée de la qualité des autres.Utilisez https://www.pramp.com/ Ils fournissent le cadre pour faire ces entretiens simulés en ligne.Et c'est gratuit (je ne suis en aucun cas affilié à ces gars-là).
@Rob, J'ai demandé pourquoi j'avais été congédié au lieu d'être mis à pied, et ils ont dit qu'être licencié signifie qu'il y avait une possibilité que je puisse être rappelé au travail.Ils ont laissé leur explication là-dessus.Ce qui signifie, je suppose, qu'ils veulent que cela entre dans l'histoire comme étant ma faute pour avoir été viré.
@Ramhound,, les évaluations des performances de l'année dernière ont été positives et n'ont pas donné de véritable retour constructif."Vous vous débrouillez très bien, continuez à faire ce que vous faites ..." La société n'était pas en difficulté - leur excuse pour me renvoyer était qu'ils essayaient de garder la société maigre.Aussi, Ramhound, pourriez-vous expliquer la dernière phrase que vous avez écrite?Comment réussir dans un programme de maîtrise en informatique conduit-il à des difficultés lors des tests de codage?
@TheComeBackKid - En Amérique du Nord: à côté du mot "Fired", il y aura une raison.Demandez votre indemnité de départ, demandez des prestations de chômage au gouvernement;ils vont trouver une réponse ...
On dirait que vous n'avez pas été licencié mais que l'entreprise ne voulait pas vous payer de salaire.Non pas parce que tu n'étais pas bon, mais parce qu'ils n'avaient pas d'argent pour embaucher plus de personnes.
Idem pour ne pas le prendre trop dur.Cela vaut également la peine de revenir sur ce qui s'est passé et de vous demander s'il y avait des indices subtils que vous auriez pu manquer.Par exemple.Votre responsable ou votre chef d'équipe vous a-t-il demandé à plusieurs reprises si vous appréciiez le travail?N'avez-vous pas eu à plusieurs reprises de nouveaux progrès à signaler lors des réunions de mise en état?Ont-ils demandé les mêmes corrections / modifications plusieurs fois?Sans supposer qu'aucune de ces choses se soit produite, mais il vaut la peine de réfléchir à la question de savoir s'il aurait pu y avoir des indices que vous avez manqués.Parce que ce seraient des occasions d'apprendre pour la prochaine fois.C'est tout.
Ayant été dans une situation similaire, je suis revenu à ceci: la programmation est ce que je fais pour m'amuser depuis 27 ans.J'aime ça et ça me vient naturellement (avec de la pratique bien sûr!).Je suis un programmeur.Est-ce que cela s'applique à vous, ou trouvez-vous que vous devez vous forcer à aimer la programmation et à le faire?En revanche, je dois me forcer à faire de l'écriture créative.Quand je le fais, j'aime ça, mais je ne ferais jamais que l'écriture créative comme passe-temps.Je ne suis donc pas un écrivain créatif.J'espère que cela t'aides.
Le [syndrome de l'imposteur] (https://en.wikipedia.org/wiki/Impostor_syndrome) est un sujet pertinent, vous devriez le lire.
Dix réponses:
DarkCygnus
2018-05-23 08:17:48 UTC
view on stackexchange narkive permalink

Comment puis-je savoir si je suis vraiment mauvais ou si j'ai juste besoin de continuer à m'entraîner davantage?

Compte tenu de vos performances positives tout au long de votre ancien emploi et de vos excellents scores obtenus tout au long de votre carrière universitaire, je risquerais de dire que vous êtes en fait un bon ingénieur.

La première chose que je suggère est donc de prendre les choses tranquillement . Je sais que vous pouvez ressentir cela maintenant, comme cela se produit quand on perd un emploi auquel vous avez consacré votre énergie et votre dévouement. Mais honnêtement, il n'y a rien de positif pour vous de continuer à ressentir cela après une expérience aussi négative, car cela ne vous aidera pas à passer à autre chose.

Cela étant dit, un conseil Je peux vous dire que:

  • Ne soyez pas déçu par une entreprise vous licenciant après un an (ce qui est un temps décent) parce que "ils ne peuvent pas vous former à acquérir les compétences dont ils ont besoin dans un délai précis" . De nombreuses entreprises ont des attentes / délais vraiment irréalistes élevés de la part de leurs développeurs, et malheureusement beaucoup d’entre elles nous considèrent comme des codes singes extensibles qu’elles peuvent simplement presser. jusqu'à épuisement (parfois ils ne le font pas parce qu'ils sont «mauvais», juste la façon dont leur industrie et leur marché fonctionnent).

    Cependant, de nombreuses autres entreprises ne sont pas comme ça, il n'est donc pas juste que vous rejetiez vos espoirs à cause de cet incident.

  • Néanmoins, un professionnel ne devrait jamais cesser de pratiquer , même s’il était le meilleur sur le marché. La plupart des professionnels et ingénieurs performants n'arrêtent jamais d'apprendre. Selon les mots de Michel-Ange: Ancora imparo . C'est pourquoi je vous suggère de considérer tout cela comme une autre opportunité que vous aviez pour apprendre et grandir ; gardez les bonnes choses, souvenez-vous des mauvaises choses (qui se trouvent être celles qui nous enseignent) et passez à autre chose. Beaucoup d'autres emplois et choses intéressants vous attendent là-bas si vous leur donnez la chance de venir.

Cela dit, je pense qu'il ne reste plus qu'à vous souhaiter bonne chance, mettre à jour votre CV, commencer à chercher un emploi et avoir confiance en vos compétences. Votre "retour" ...;) ... vous attend.

Je vous remercie.Il se pourrait certainement que leurs attentes ne soient pas réalisables.J'essaie définitivement d'obtenir un autre travail de programmation.Peut-être que si le prochain se termine de la même manière, je réévaluerai.
Oui, allez-y doucement et ne vous laissez pas décevoir par une seule entreprise.
@TheComeBackKid aussi, ne prenez pas n'importe quel travail.Choisissez-les soigneusement pour ne pas vous retrouver avec une expérience aigre-douce comme celle-ci.Je sais que la recherche d'emploi est difficile, mais la persévérance est la clé ici.Heureux d'avoir pu aider.
C'est un bon conseil.Comment savoir quel type d'emploi accepter?Y a-t-il des qualités en particulier que je devrais rechercher?
@TheComeBackKid Ce que je crains, c'est la partie que vous devez décider vous-même.Je ne peux pas vous dire quel travail choisir ou quelles qualités vous devriez rechercher, mais si vous faites confiance à votre instinct et à vos principes, vous le saurez.
Frank FYC
2018-05-23 09:22:38 UTC
view on stackexchange narkive permalink

Je viens de me faire virer de mon travail. C'était mon premier emploi en génie logiciel à la sortie de l'université, et j'y suis resté un peu plus d'un an. La raison en est qu'ils ne pensent pas pouvoir me former pour acquérir les compétences dont ils ont besoin dans un délai qui conviendrait à l'entreprise. Je pensais que j'étais assez bon et que je m'améliorais rapidement, et j'ai même reçu 2 évaluations de performances positives l'année dernière.

Ne le prenez pas personnellement. Ce qu'ils ont fait était une décision commerciale, le retour sur investissement prévu en temps, argent et attention des développeurs était < ce que vous pouviez ramener. Si vous vous fixez sur le fait que vous avez été licencié, cela vous dévorera pendant des mois. La meilleure chose que vous puissiez faire ici est de prendre le temps de décompresser et de réévaluer vos compétences actuelles, de décider d'une destination de carrière et de mettre les voiles. Ne vous attardez pas à bouder le port.

J'ai eu du mal à trouver ce poste. Je ne suis pas doué pour les tests de codage. Je les ai reçus de 9 entreprises différentes et j'en ai dépassé 3. Je m'y prépare régulièrement en utilisant du matériel.

Après l'obtention de mon diplôme, j'ai postulé à plus de 600 postes, n'ai eu qu'une douzaine d'entretiens et une seule offre - qui a pris fin en janvier dernier. La seule option qui mène à votre prochain emploi est de reprendre le dessus.

De plus, j'ai eu un stage d'été en 2016 que j'ai essayé de convertir en un emploi à temps plein, mais ils en gros, ils m'ont dit qu'ils me garderaient en tant que stagiaire, mais qu'ils n'étaient pas disposés à m'employer à plein temps.

C'est peut-être l'occasion de leur demander s'ils embauchent. Vous avez maintenant une année d'expérience à votre actif et vous avez de meilleures compétences que celles de l'université. Peut-être que ce serait une bonne option à demander car ils vous connaissaient auparavant.

Académiquement, j'étais génial. J'ai terminé ma maîtrise en informatique avec un 4.0 GPA d'un programme de science-fiction top 10, et j'ai terminé le premier cycle avec une mineure en informatique avec un 3.70 GPA.

Je me souviens qu'après votre premier travail, GPA n'est pas un gros problème. Mais je peux me tromper; n'oubliez pas d'inclure cette information sur votre CV et d'en parler pendant l'entrevue.

J'aime être ingénieur logiciel, mais je pense qu'il n'y a pas de bon moyen d'évaluer les compétences. Comment puis-je savoir si je suis vraiment mauvais ou si j'ai juste besoin de continuer à m'entraîner davantage?

Je suis d'accord, il n'y a pas de moyen fiable de mesurer les compétences, étant donné que le les problèmes auxquels vous faites face ne sont jamais les mêmes, déterminer si vous êtes «meilleur» ou «pire» mènera à un terrier de doute de soi et de paralysie. En attendant votre prochain poste à temps plein, peut-être vous pencher sur les rôles contractuels? De cette façon, vous pouvez vous entraîner et être payé pour des projets plus petits.

Merci pour les détails.Je suis heureux qu'il y ait des preuves que je ne suis pas le seul à postuler à des centaines de postes sans beaucoup de chance.Je vais vérifier les trucs indépendants.
Il existe des moyens assez fiables de mesurer les compétences.Par exemple, on peut comparer le temps nécessaire aux développeurs pour résoudre un problème sur (https://projecteuler.net) ou (https://leetcode.com), ou leur capacité à résoudre le problème du tout.
La résolution d'un casse-tête ou d'un problème prédéterminé est une mesure, mais elle ne comprend pas tout ce qui fait partie des outils quotidiens d'un développeur.En d'autres termes, le travail ne se limite pas aux compétences en programmation, les compétences interpersonnelles sont également indispensables.Personne ne code seul à l'ère moderne, comme en témoignent stackoverflow et github.
kevin cline
2018-05-23 15:53:58 UTC
view on stackexchange narkive permalink

Un GPA élevé, c'est bien, mais le développement de logiciels est une profession de performance. Vous devez être capable de produire du code fonctionnel à un rythme raisonnable.

Quand vous dites "Je ne suis pas doué pour les tests de codage", voulez-vous dire que vous avez du mal à produire du code fonctionnel pendant une interview? Si tel est le cas, vous devrez vous entraîner pour être compétitif sur le marché du travail. J'interviewe les candidats tout le temps et personne n'est embauché s'il ne peut pas démontrer sa capacité à coder pendant l'entretien. Alors, soit lancez un projet de programmation personnel dans un domaine qui vous intéresse, soit choisissez un nouveau langage et résolvez des problèmes comme ceux du Project Euler.

La plupart des tests de codage que j'ai réussis (2 sur 3) l'ont été pendant une entrevue.Ce sont ceux qui sont sur hackerrank que j'ai tendance à échouer.Par exemple, celui avec lequel j'ai lutté récemment s'appelait "Friend Circle" (https://leetcode.com/problems/friend-circles/description/).J'ai eu environ 2 heures pour le terminer sur mon ordinateur portable.
@TheComeBackKid Vous savez maintenant sur quoi travailler: d'autres problèmes de ce même site Web.Peut-être obtenir une copie de "Introduction aux algorithmes" de Cormen et travailler dessus.
Luis Dueñas
2018-05-23 08:36:07 UTC
view on stackexchange narkive permalink

Le fait que vous ayez été renvoyé ne signifie pas que vous êtes un mauvais ingénieur. Cela signifie que vous n’êtes pas à la hauteur du rôle dans lequel vous étiez.

Si vous pensez pouvoir vous améliorer, vous devriez vous améliorer. Si vous pensez être un bon ingénieur, vous devriez commencer à rechercher des options supplémentaires. Heureusement, vous êtes en mesure de trouver un emploi puisque les emplois d'ingénieur sont très demandés, il vous suffit de définir ce que vous recherchez, d'apprendre vos options, de vous assurer que le poste correspond à vos compétences (pas seulement techniques) et de continuer à vous améliorer.

Bonne chance.

Cela ne veut même pas dire sans équivoque qu'il n'était pas un bon candidat.La plupart des entreprises que j'ai jamais vues ont des éléments RH faux et aléatoires dans les livres, quelque part.Certaines entreprises et certains patrons sont plus capricieux que d'autres.Ils semblent quelque peu distribués au hasard, mais il existe une corrélation entre les deux.
Enno Shioji
2018-10-24 01:26:00 UTC
view on stackexchange narkive permalink

C'était mon premier emploi en génie logiciel à la sortie de l'université, et j'y suis resté pendant un peu plus d'un an. La raison en est qu'ils ne pensent pas pouvoir me former pour acquérir les compétences dont ils ont besoin dans un délai qui conviendrait à l'entreprise.

De nombreuses entreprises (généralement de taille moyenne à petite) n'embauchent pas de nouveaux diplômés simplement parce qu'elles ne peuvent pas fournir le bon environnement / les bonnes tâches. D'une manière générale, l'entreprise doit être au-dessus d'une certaine taille et avoir un certain niveau de maturité pour avoir de nouveaux diplômés. Ainsi, surtout si l'entreprise était plus petite et / ou si elle n'avait pas beaucoup plus de nouveaux diplômés, le problème aurait pu être du côté de l'entreprise plutôt que de votre côté.

Bien sûr, je ne sais pas si c'est le cas, mais vous ne devriez pas douter de votre capacité en vous basant sur un exemple. J'ai vu BEAUCOUP d'excellents employés licenciés pour une raison ou une autre. De nombreux licenciements ne sont pas dus à des problèmes d'aptitude.

bob
2020-06-23 23:27:43 UTC
view on stackexchange narkive permalink

Vous posez la mauvaise question. Que voulez-vous voulez être?

Ayant été dans une situation un peu similaire, je suis revenu à ceci: la programmation est ce que j'ai fait pour le plaisir ces 27 derniers années. J'aime ça et ça me vient naturellement (avec de la pratique bien sûr!). Je suis un programmeur. Est-ce que cela s'applique à vous, ou trouvez-vous que vous devez vous forcer à aimer la programmation et à le faire régulièrement? En revanche, je dois me forcer à faire de l'écriture créative. Quand je le fais, j'aime ça et je pense que j'ai un talent pour ça, mais je ne ferais jamais simplement de l'écriture créative comme passe-temps. Je ne suis tout simplement pas un écrivain. Je pense donc que c'est la question numéro un, et vous aurez besoin de regarder votre histoire personnelle, pas vos émotions pour répondre à celle-ci. Ce que vous faites démontre ce que vous aimez bien mieux que ce que vous ressentez jamais.

Vous travaillerez plus dur à ce que vous voulez et vous attirerez vers votre compétences

La plupart des gens ne travaillent pas aussi dur à des choses qu'ils ne veulent pas au fond. Ils n'apprennent pas aussi vite et ils ne grandissent pas aussi vite. Et si quelque chose est particulièrement difficile pour eux, ils n'y travaillent souvent pas non plus (à des exceptions près bien sûr!). Inversement, si vous aimez vraiment la programmation (encore une fois en fonction de votre histoire et non de vos émotions en ce moment, qui vont naturellement être un peu désordonnées), vous allez naturellement travailler dur et grandir, et d'autant plus si vous avoir un talent naturel en tant que développeur. Donc, si vous programmez pour le plaisir depuis des années et que vous ne l'avez pas abandonné, je dirais que vous avez 100% des bases dont vous avez besoin pour être un bon programmeur. Après cela, il suffit de s'exercer et à apprendre à s'intégrer dans la machine de l'entreprise, qui est un ensemble de compétences totalement différent.

Où aller à partir de maintenant

Idem pour ne pas prendre trop de mal. Assurez-vous de ne pas vous en vouloir. Cela arrive à beaucoup d'entre nous à un moment de notre carrière, et ce n'est pas la fin du monde. Il y a un travail suivant après le précédent. Cela dit, chaque mauvaise expérience de la vie est une opportunité dont nous pouvons tirer des leçons. Cela vaut donc la peine de revenir sur ce qui s'est passé et de vous demander ce que vous pouvez en tirer. Demandez-vous s'il y a des indices subtils que vous avez peut-être manqués indiquant qu'ils n'étaient pas satisfaits de votre performance. Parfois, les gestionnaires ne sont pas doués pour communiquer ou communiquer leur mécontentement de manière passive-agressive d'une manière qui est vraiment facile à manquer. Votre responsable ou votre chef d'équipe vous a-t-il demandé à plusieurs reprises si vous appréciiez le travail? N'aviez-vous pas à plusieurs reprises de nouveaux progrès à signaler lors des réunions de mise en état? Ont-ils demandé les mêmes corrections / modifications plusieurs fois? Je ne suppose pas que l'une de ces choses s'est produite, mais il vaut la peine de réfléchir à la question de savoir s'il aurait pu y avoir des indices que vous avez manqués. Parce que ce seraient des occasions d'apprendre pour la prochaine fois. À l'inverse, avez-vous manqué des signaux d'alarme indiquant qu'il s'agit d'un environnement toxique ou que vous aviez un mauvais gestionnaire? Avez-vous manqué des signaux d'alarme indiquant que l'entreprise était en difficulté financière ou que des licenciements allaient arriver? Développer une conscience de soi et une prise de conscience accrues de l'environnement de votre entreprise est une chose très précieuse à tirer d'une expérience douloureuse comme celle-ci. Mais à la fin de la journée, 1) déterminez ce que vous voulez être (à partir de votre histoire personnelle), 2) dépoussiérez-vous et remontez à cheval ou passez à autre chose si la programmation n'est pas t pour vous, et 3) réfléchissez et apprenez tout ce qu'il y a à apprendre de cette expérience.

Robert Baron
2020-05-02 19:56:28 UTC
view on stackexchange narkive permalink

D'accord, vous avez été renvoyé pour des raisons de performances. Si vous êtes aux États-Unis, avez-vous demandé le chômage? Gardez à l'esprit qu'à moins d'être licencié pour un motif valable (c.-à-d. Une altercation physique, du harcèlement sexuel, ...) vous pouvez toujours percevoir le chômage. La plupart des entreprises pour lesquelles j'ai travaillé m'ont licencié pour des raisons de performance, c'est-à-dire après quelques années de bonnes évaluations de performances. Même si la lettre qu'ils vous ont donnée dit que vous êtes licencié, si vous percevez le chômage, c'était une mise à pied.

La première fois a été une surprise pour moi, et moi aussi j'ai pris ça dur, Les fois suivantes, pas un surprise. Souvent, c'est un nouveau directeur qui nettoie la maison pour installer ses favoris. Mon objectif est de surmonter le licenciement.

Votre réponse est très typique des personnes très compétentes, c'est-à-dire le syndrome de l'imposteur.

Commencez maintenant à chercher un nouvel emploi. Attendez-vous à ce que cela vous prenne environ 4 mois. Passez 5 heures par jour à faire des tâches de recherche d'emploi. En général, j'essaie de trouver 10 emplois raisonnables auxquels postuler et 5 qui m'étirent par jour. Rappelez-vous, ils demandent Dieu, mais accepteront le Christ.

Trouvez un projet open source auquel participer et travailler. Travaillez dessus pendant 2 à 4 heures par jour. Des points bonus si le projet sur lequel vous travaillez est parrainé par une entreprise pour laquelle vous souhaitez travailler.

Génial, vous avez un diplôme parmi les 10 meilleurs, mais continuez à apprendre et à pratiquer davantage. Cela peut être axé sur le projet open source ou sur un sujet que vous souhaitez simplement apprendre. Cela peut vous aider à déterminer si vous voulez faire cela sur le long terme.

Sérieusement, ne faites pas trop attention aux métriques, aux nombres de Norris, aux lignes de code .... Travaillez à être un joueur d'équipe et à vous motiver pour apprendre ce que vous devez apprendre à faire.

Enfin, trouvez un passe-temps pour recharger votre batterie pour ainsi dire. Tout ce que vous vous amusez à faire.

Bonne chance.

Ertai87
2018-10-23 22:37:02 UTC
view on stackexchange narkive permalink

1) Comment savoir si vous êtes un bon ingénieur? Eh bien, cette partie est assez facile. Il n'y a vraiment pas de "mauvais ingénieur"; soit vous êtes ingénieur, soit vous ne l'êtes pas. Une fois que vous avez déterminé que vous êtes un ingénieur, la différence entre "bon" et "mauvais" est le développement des compétences, et c'est une compétence acquise (ce qui signifie que si vous êtes un "mauvais" ingénieur maintenant, vous pouvez apprendre à être un "bon" "ingénieur avec expérience). Compte tenu du contexte de cette question, je suppose que vous êtes un ingénieur, donc le reste n'est que pratique et apprentissage.

2) L'école ne prouve vraiment rien. J'ai personnellement un baccalauréat et une maîtrise en informatique de l'une des meilleures écoles de mon pays. J'ai un emploi en tant qu'ingénieur logiciel. Savez-vous combien de choses que j'ai apprises à l'école et que j'utilise régulièrement? Presque zéro. Donc, pour être honnête, votre scolarité et votre moyenne générale sont probablement plus utiles comme mesure abstraite de votre potentiel d'apprentissage que comme mesure de vos compétences concrètes. Donc, même si je ne dirais pas qu'avoir un GPA élevé est en corrélation avec le fait d'être un «bon» ingénieur, cela ne correspond pas non plus au fait d'être un «mauvais» ingénieur. Cela correspond à votre capacité à passer du statut de "mauvais" ingénieur à "bon" ingénieur. En conséquence, je ne prendrais pas en compte GPA pour pratiquement tout ce qui concerne cette question, je pense que c'est un hareng rouge.

3) En ce qui concerne vos compétences d'entretien, la plupart d'entre elles sont liées à la pratique. Vraisemblablement, vous avez suivi un cours sur les Algorithmes & Data Structures à l'école, et comme vous avez un GPA élevé, je suppose que vous avez très bien réussi. Pour devenir «bon» pour répondre aux problèmes d'entrevue, vous devez vous rappeler (ou réétudier) le matériel de cette classe en particulier, parce que la plupart des questions qui vous seront posées seront répondues à partir de ce matériel. Après cela, c'est juste de la pratique. Vous échouerez les premières fois, mais ensuite vous vous habituerez à voir ce qu'ils veulent, et vous commencerez à voir les mêmes types de problèmes encore et encore et vous vous améliorerez pour y répondre. C'est juste de la pratique. Cela dit, la pratique consiste à répondre aux questions dans un environnement de type entretien; passer en revue des questions sur quelque chose comme HackerRank ou tout ce qui a une valeur limitée; vous pratiquerez certaines compétences / algorithmes, mais si ce ne sont pas ceux que l'intervieweur demande, cela n'a pas d'importance. Ce qui est mieux, c'est d'apprendre à trouver de bonnes réponses à la volée; aucun intervieweur ne veut poser une question à laquelle vous connaissez déjà la réponse, ce qu'il veut, c'est voir comment vous trouvez des réponses à la volée à des questions que vous ne saviez pas à l'avance.

@JoeStrazzere Je veux dire qu'un "mauvais ingénieur" est juste un bon ingénieur qui ne sait pas faire les choses correctement.Personne n'est intrinsèquement un «mauvais ingénieur» dans un sens abstrait;quelqu'un qui pourrait être considéré comme un «mauvais ingénieur» peut apprendre à être un «bon ingénieur» en apprenant de bonnes pratiques / principes d'ingénierie.
@JoeStrazzere Comme je l'ai dit dans ma réponse: je pense (à mon avis) que le GPA du PO est un bon indicateur du fait que l'OP est disposé et capable d'apprendre à être un bon ingénieur.
@JoeStrazzere Souhaitez-vous proposer une modification?;)
Simon B
2018-05-24 03:11:12 UTC
view on stackexchange narkive permalink

Le logiciel n'est pas quelque chose que vous pratiquez, comme répéter pour un récital de musique. C'est quelque chose que vous faites et que vous faites. Vous avez un peu de code qui doit être écrit pour répondre à un besoin particulier. Vous continuez à le brancher jusqu'à ce qu'il fonctionne. À la fin, vous avez probablement appris quelque chose. Ensuite, vous passez au travail suivant sur la liste.

Avec le temps, vous vous améliorez. Jusqu'à ce que le système sur lequel vous avez l'habitude de travailler soit obsolète et que vous soyez sur quelque chose de nouveau. Ensuite, il faut recommencer jusqu'à ce que vous parveniez à le faire fonctionner à nouveau.

Il y a beaucoup de tâches dans le logiciel en plus d'être un singe de code. Il y a la conception graphique des interfaces utilisateur, l'analyse des exigences, l'ingénierie des systèmes, les tests. Il y a probablement d'autres choses que j'ai oubliées.

Si vous pensez que vous pourriez faire mieux dans l'un de ces domaines, regardez qui recrute et essayez quelque chose de différent.

Je ne sais pas pourquoi vous pensez que la programmation n'est pas quelque chose à pratiquer.C'est ce qu'est «sortir et faire», et en termes de temps requis, c'est un peu comme la pratique musicale, mais pour une activité différente.Le diplômé CS qui n'a jamais fait de programmation parascolaire est généralement beaucoup moins habile que les diplômés qui ont passé leur temps libre à travailler sur des projets logiciels personnels.
Voir http://norvig.com/21-days.html pour les contre-arguments à l'affirmation "le logiciel n'est pas quelque chose que vous pratiquez"
@BasileStarynkevitch Merci d'avoir partagé ceci.Très instructif.J'ai particulièrement aimé cette citation: «le niveau maximal de performance des individus dans un domaine donné n'est pas atteint automatiquement en fonction d'une expérience étendue, mais le niveau de performance peut être augmenté même par des individus très expérimentés grâce à des efforts délibérés d'amélioration. "
Développer quelque chose, rencontrer des obstacles et les surmonter, réfléchir aux problèmes et trouver des approches différentes pour les résoudre, discuter et partager des idées avec les autres, etc. Tout cela est de la pratique.Être développeur, c'est littéralement s'entraîner constamment.
CubicleSoft
2018-10-23 21:04:30 UTC
view on stackexchange narkive permalink

Je vais concentrer ma réponse sur la dernière partie ici car elle se rapporte à quelque chose auquel je réfléchis depuis quelques années maintenant:

J'aime être ingénieur logiciel, mais j'ai l'impression qu'il n'y a pas de bonne façon d'évaluer les compétences. Comment puis-je savoir si je suis vraiment mauvais ou si j'ai juste besoin de continuer à m'entraîner davantage?

L ' échelle des nombres de Norris est une mesure par laquelle les individus et les organisations peuvent se mesurer.

Les nombres de Norris commencent à 20 et augmentent par multiples de 10. Ils correspondent à une meilleure compréhension de la conception fondamentale et de la structure de toute application logicielle donnée.

Pour les besoins de cette réponse, le nombre de Norris est une mesure des lignes de code d'application, moins les bibliothèques, qu'un individu peut écrire et maintenir par lui-même.

Tout le monde commence à 20 Norris. La plupart des programmeurs formels déplacent jusqu'à 200 Norris assez rapidement. Les programmes 200 Norris sont généralement des scripts quick-n-dirty qui font quelque chose d'important mais qui ne font qu'une chose. De tels programmes sont «jetés ensemble», ce qui signifie qu'ils ont tendance à manquer de formatage de code et de vérification des erreurs appropriés - en particulier de la part des nouveaux programmeurs. De nombreux programmeurs passent à 2000 Norris lorsqu'ils commencent à créer des programmes / scripts plus volumineux.

Passer de 2000 à 20 000 Norris en dehors d'un environnement d'équipe est beaucoup plus difficile. Vous devez créer une application sérieuse à ce stade. De nombreuses portes s'ouvrent à 20000 Norris (par exemple, de grands projets open source). Dépasser 20 000 à 200 000 Norris au niveau individuel est assez difficile car il n'y a pas beaucoup d'applications logicielles construites par une seule personne avec plus de 200 000 lignes de code application . C'est généralement trop pour une seule personne à maintenir sainement et activement.

Norris indique également le niveau de confort. A quel moment pouvez-vous rédiger une application "dans votre sommeil"? Autrement dit, la quantité d'effort mental requis pour passer de l'idée au déploiement. Ceux qui obtiennent un diplôme CS ont tendance à être 200 et moins souvent 2000 Norris. Il est très rare de trouver 20 000 développeurs Norris dès la sortie de l'université. Ces développeurs commencent généralement à écrire des logiciels bien avant l'université et ils considèrent le diplôme comme un morceau de papier très cher.

Un nombre de Norris organisationnel est similaire mais correspond au nombre moyen de lignes de code d'application par application dans toute l'organisation. La plupart des organisations comptent 2 000 ou 20 000 Norris. Les petites entreprises dotées d'un service informatique qui développe de petits scripts pour l'organisation ne comptent généralement pas plus de 200 Norris. Une organisation peut également avoir une moyenne de 2 000 Norris, mais peut avoir une ou deux applications de 20 000 Norris qui se cachent à l'intérieur et qui augmentent légèrement la moyenne, mais pas assez pour l'amener à 20 000 Norris.

Si une organisation compte 2 000 Norris et que l'individu a à peine 200 Norris, l'individu aura du mal à suivre le rythme (c'est-à-dire que ce sera un défi de rester à flot). Si une organisation compte 20000 Norris ou embauche pour une candidature de 20000 Norris et si une personne est 200 Norris, la personne ne sera probablement pas embauchée sans se frayer un chemin dans le poste, mais la personne ne survivra de toute façon pas plus de quelques semaines. Si une organisation est de 200 Norris et que l'individu est de 2000 Norris, l'individu s'ennuiera probablement et aura du mal à rester intéressé par les projets à venir (c'est-à-dire un manque de défi). De plus, quelqu'un à 20 000 Norris découvrira régulièrement que communiquer avec quelqu'un à 20, 200 et même 2 000 Norris est gênant ou difficile. La personne au niveau inférieur du nombre de Norris ne comprend tout simplement pas le but de certaines décisions et peut essayer de «refactoriser le code» ou appeler la personne à 20 000 Norris un «mauvais développeur de logiciels». D'après mon expérience, le seul "mauvais" développeur de logiciels est la personne qui (involontairement) écrit du code contenant des vulnérabilités de sécurité et participe ensuite à un déni actif lorsque les vulnérabilités sont signalées par des pairs.

Norris Number only peut, tant que toutes les parties sont honnêtes à ce sujet, décider d'embaucher (ou même de licencier) une personne. Il est également possible qu'un développeur individuel devienne trop grand pour une organisation ou vice versa. Lorsqu'on se fie à une métrique de Norris honnête, le test de codage en entretien peut être ignoré, ce qui ne peut vraiment mesurer que 200 Norris dans le temps alloué à l'interview moyenne. Norris Number pourrait être un très bon filtre pour un moteur de recherche d'emploi pour les développeurs de logiciels et je soupçonne fortement que d'autres secteurs ont des indicateurs similaires qu'ils pourraient exploiter de la même manière.

Au lieu de vous entraîner aux problèmes , qui ont tendance à se concentrer sur la conception algorithmique, concentrez-vous plutôt sur des projets . Quels projets vous intéressent? Créez une liste et commencez à construire CES projets pendant votre temps libre. Le but du développement logiciel est de créer ce qui vous intéresse. Le logiciel est une forme d'art remplie d'élégance et de beauté. Oui, vous pouvez aussi être payé pour cela, mais si vous ne faites pas déjà ce que vous aimez en dehors d'un travail formel, vous devriez commencer à le faire. Sinon, vous travaillerez pendant 40 ans et pourtant votre vie sera vide et dénuée de toute réussite personnelle.

Vous semblez [terriblement amoureux] (https://workplace.stackexchange.com/questions/120957/fired-for-third-time-from-a-software-development-job-what-to-do#comment381340_120957) avec les NorrisNombre - quelque chose qui, selon les mots de John Cook (qui a blogué à ce sujet) est décrit comme * "Ceci est censé être humoristique, pas scientifique." * Le SLOC a un [nombre important d'inconvénients] (https: //en.wikipedia.org / wiki / Source_lines_of_code # Inconvénients) qui en font une métrique médiocre pour la seule évaluation des compétences d'un développeur.Tout processus d'embauche (ou de licenciement) qui utilise ce «seul» serait désastreux à mon avis.
Je ne suis pas d'accord.Contrairement à une mesure SLOC stricte, Norris est une métrique évolutive.Et d'après mon expérience, cela a été vrai contrairement au SLOC.Au fur et à mesure qu'un développeur frappe chaque mur de Norris, il doit repenser sa stratégie de développement logiciel s'il veut continuer.Il n'y a pas de corrélation directe entre la mesure SLOC et Norris.J'affirme également très clairement que le code d'application est la seule partie de Norris.Les bibliothèques sont * exclues *.Quand quelqu'un écrit une application de 500 lignes qui exploite des millions de lignes de code de bibliothèque (même s'il a écrit les bibliothèques), c'est toujours une application de 200 Norris.
J'ai également dit que "si toutes les parties sont honnêtes à ce sujet" Norris pourrait être utilisé exclusivement.Chacun présente toujours son meilleur côté dans une interview (à la fois l'intervieweur et l'interviewé).La réalité sera donc évidemment différente.L'OP voulait savoir s'il était un bon ou un mauvais développeur.J'ai fourni une réponse qui leur donne un outil de calcul qu'ils peuvent utiliser pour eux-mêmes pour s'évaluer (et pour toute organisation pour laquelle ils pourraient vouloir travailler).Aucune des autres réponses ici n'a même tenté de faire cela.Ouais, je suis un peu amoureux mais ça ne méritait pas vraiment un vote défavorable.
Je n'ai jamais rien dit au sujet de la véracité ou non - si quelque chose j'ai évalué que c'était le cas.Je n'ai jamais dit quoi que ce soit à propos des bibliothèques ou non - elles ne seraient pas non plus comptées sous un KPI SLOC.Et le contenu des autres réponses n'est pas pertinent pour mon évaluation de la vôtre - j'ai voté contre parce que c'est une métrique de merde (et doublement si elle est utilisée isolément), tous les inconvénients du SLOC s'appliquent également à Norris.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...