Dois-je inclure «assembly» comme langage de programmation dans le CV? [fermé]

15

Dans la réponse à une question, quelqu'un a écrit cela assembly is not a language, it's a process. J'ai tendance à être d'accord, car le "langage" de l'assemblage dépend de l'architecture sur laquelle il fonctionnera, qui peut différer un peu d'un CPU à l'autre.

Donc, si vous avez écrit un assemblage pour une architecture, cela signifie-t-il que vous pouvez l'inclure dans le CV sous simplement assemblyavec les autres langages de programmation? Ou dites-vous explicitement que vous avez écrit un assemblage pour cette architecture particulière?

EDIT: remplacé par «tamponné» par «écrit». L'anglais n'est pas ma langue maternelle et j'ai mal compris le terme, pensant que cela signifiait que vous l'utilisiez beaucoup au lieu d'un peu.

gablin
la source

Réponses:

22

Je suis peut-être pédant, mais "assembleur" n'est pas un langage de programmation, c'est un logiciel pour traduire les mnémoniques des instructions d'assemblage en opcodes pour un processeur particulier. Si vous voulez dire que vous connaissez le langage d'assemblage , indiquez le langage d'assemblage pour le processeur XXX dans votre CV.

Dan Diplo
la source
10
+1. Entièrement d'accord. À moins que l'OP ne programme réellement les Assembly Language for XXX processor
composants
2
+1: C'est probablement exactement la distinction que la citation de la question tentait de faire. L'assembleur n'est pas un langage; L'assemblage est. Se tromper semble probablement aussi mauvais que de dire C + .
doppelgreener
Oui, je voulais dire l' assemblage , pas l' assembleur . Merci de l'avoir signalé. Question révisée. ^^
gablin
Oui. J'ai connu un gars d'IBM qui l'a toujours décrit comme écrit en «assembleur». Il était très intelligent.
Erik Reppen
12

Je pense que la question de savoir si c'est techniquement une langue est un peu hors de propos, même si cela ne fait jamais de mal d'être précis (alors oui, incluez l'architecture spécifique si vous l'énumérez et mettez probablement le langage d'assemblage plutôt que l'assembleur, même si je lirais personnellement le plus tard comme un raccourci raisonnable plutôt qu'une erreur à sanctionner).

Les choses auxquelles je m'assurerais de penser plus que ceci sont:

1) L'essentiel: cela vous aidera-t-il à trouver le poste en question? Vous devriez modifier votre CV en fonction du rôle et pour chacun, demandez-vous si cela me fait paraître un meilleur candidat pour ce poste . Il n'y a pas d'absolu, c'est dépendant et le travail en question.

2) Etes-vous heureux qu'on vous pose des questions à ce sujet dans une interview? Vos connaissances sont-elles à jour et à un bon niveau? Fondamentalement, si vous le mettez sur votre CV, c'est un jeu équitable pour les questions, alors assurez-vous que vous êtes satisfait de cela et que vous pensez que vous choisissez de le présenter représente correctement votre niveau de connaissance.

3) Et après cela, où le mettre? Étant donné que vous dites que vous avez essayé, peut-être que la meilleure solution se trouve dans une section Autres intérêts, vous pouvez dire "J'ai un grand intérêt pour la technologie et j'ai passé mon temps à étudier une gamme de langues et de plates-formes en dehors de mes compétences de base, y compris 6800 ( ou autre) Langue d'assemblage.

Jon Hopkins
la source
5

Je ne mettrais pas "assembleur" pour la même raison que je ne mettrais pas "compilateur".

Bien que je dois admettre que je ne suis pas sûr de vouloir inclure quoi que ce soit dans lequel je viens de "barboter".

Quoi qu'il en soit, mon CV inclut le "langage d'assemblage 6502". Fait intéressant, je ne m'attends pas à écrire de nouveau pour le 6502 de sitôt (je suis principalement programmeur C # ces jours-ci), mais je l'inclus parce qu'il communique des choses intéressantes sur moi et mon expérience:

  1. Cela indique que je sais comment ces choses informatiques fonctionnent réellement à un niveau assez bas. Cela signifie que je comprends ce qui se passe lorsque j'écris du code de haut niveau, et cette connaissance est toujours utile pour résoudre les problèmes et déboguer le code.
  2. Cela suggère que je connais les techniques de gestion de la mémoire, d'optimisation, mais de twiddling etc. qui sont souvent perdues pour les programmeurs qui n'ont pas traité les choses à ce niveau.
  3. Cela montre que je suis là depuis un certain temps, avec une riche expérience en tant que développeur.
  4. Cela suggère que je peux toujours faire le travail même lorsque mes outils modernes me laissent tomber (comme ils le font parfois).
  5. Cela suscite souvent de l'intérêt lors de l'entretien.

Ce dernier point est essentiel. J'ai eu des conversations intéressantes et bénéfiques lors de l'entretien basé sur ma mention du 6502, généralement où l'intervieweur a également programmé en langage assembleur (de toute nature, mais en particulier 6502). Cela ne m'a certainement pas fait de mal et aurait bien pu m'aider à conserver ma position actuelle.

Kramii
la source
Ah, j'avais l'impression que "barboter" signifiait que vous l'aviez beaucoup fait. Question révisée. Encore. ^^
gablin
4

Je classerais cela en quelque sorte sous «expérience d'architecture», peut-être quelque chose comme ceci:

"Porté avec succès (noyau ou sous-système) vers [arch], connaissance approfondie de l'assemblage [arch]."

Je serais assez concis dans votre domaine «objectifs», indiquant explicitement avec quoi vous espérez travailler. Ce serait nul si vous étiez embauché, puis vous aviez remis une pile de déchets indésirables qui devaient être portés.

Tim Post
la source
2

Écrire l'assembleur et inclure l'architecture particulière du CPU. Sinon, vous indiquez que vous n'avez pas compris l'assembleur. Pensez également à inclure l'assembleur s'il est pertinent pour un nouveau travail.

Amir Rezaei
la source
1

Dans votre CV, vous devriez généralement avoir une section pour les langages de programmation, une autre pour les langages d'assemblage (bien sûr si vous connaissez le langage d'assemblage), etc. Voici un exemple:

Références techniques:
Langages de programmation: Algol, COBOL, Pascal, Lisp
Langages d'assemblage: x86, x86-64

Assurez-vous simplement de pouvoir défendre ce que vous avez écrit dans votre CV. Si vous avez réalisé des projets spécifiques à l'aide d'un langage d'assemblage, indiquez-le clairement dans une section Détails du projet . Je vous recommande également de mentionner certaines des instructions les plus importantes que vous avez utilisées.

Fanatic23
la source
1

Je pense qu'il y a différentes raisons presque orthogonales pour écrire l'assembleur, et il n'y a peut-être pas beaucoup de points communs à part être passable en langage assembleur. Exemples:

(1) Création de performances exceptionnelles pour les noyaux mathématiques importants. Connaît les mathématiques, l'architecture informatique, etc.

(2) A écrit beaucoup d'assembleur afin de déboguer du nouveau matériel. Peut en savoir peu sur les caractéristiques de performance de la machine donnée, mais en sait beaucoup sur la vérification du matériel.

(3) Peut lire l'assembleur généré par le compilateur comme un outil de débogage.

(4) Peut utiliser l'assembleur pour accéder aux fonctionnalités matérielles non prises en charge par les langages de niveau supérieur.

(5) Écrit les backends du compilateur et examine l'assembleur généré afin de modifier les algorithmes de génération / optimisation de code dans le cadre de l'équipe du compilateur.

En général, je pense que la corrélation des compétences entre ces tâches distinctes n'est probablement pas très élevée. Embaucher une personne ayant de l'expérience et des compétences démontrées à la tâche M pour un travail qui nécessite la tâche N, et vous pourriez être sérieusement déçu par les résultats.

Omega Centauri
la source
0

L'assemblage est une langue, il y en a au moins un pour chaque jeu d'instructions.

Oui, mettez-le absolument là-bas, même si vous écrivez des applications Web dans un langage scripty de haut niveau.

Peut-être que là où je travaille est l'exception, pas la règle (les affaires de réseautage et les puces / processeurs), mais une bonne partie de nos programmeurs connaissent et écrivent l'assemblage, et même si vous recherchiez un portage Linux ou un pilote de périphérique, nous verrions l'expérience de montage, vous poser des questions à ce sujet et prendre des décisions en fonction de vos réponses.

Comme toute autre chose sur votre CV qui ne se rapporte pas à l'emploi pour lequel vous postulez, ils vont simplement le sauter. ce n'est pas un genre de chose "moins c'est plus". Si vous savez vraiment quelque chose, notez les langues, les processeurs, les protocoles, les API, etc. Si vous oubliez les choses et attendez-vous à ce que l'intervieweur lise dans vos pensées ou soit obligé de deviner quelles questions poser pour essayer de tirer ces choses, c'est à votre désavantage. Je préférerais avoir un CV / CV de plusieurs pages à regarder lors d'un entretien avec un candidat plutôt que quelqu'un qui a essayé de fourrer ce qu'il pouvait sur une seule page et a laissé de côté la "viande". Souvent, un CV comme celui-ci ne passe pas par le processus de présélection. Les RH scannent souvent les curriculum vitae à la recherche de mots clés, d'assez de mots clés et vous montez au sommet de la pile, pas assez ou pas du tout et vous êtes jeté sans même un entretien téléphonique. Au lieu de moins c'est plus, plus c'est plus. En même temps, si vous ne connaissez pas vraiment la langue, ou si vous avez suivi un cours au collège et que c'était il y a si longtemps, vous ne vous souvenez vraiment d'aucun détail, laissez-le de côté, passez à l'entretien avec des réponses comme cela encourage votre CV / CV pour arriver rapidement au broyeur.

Oui, listez-le comme un langage de programmation, c'est ce qu'il est et spécifiez le processeur (famille).

C, C ++, Java, langage d'assemblage (x86, ARM, MIPS), Python, Perl ...

Certaines personnes listeront l'assembleur et non la langue TASM, NASM, MASM.

old_timer
la source