Sollte ich "Assembler" als Programmiersprache in den Lebenslauf aufnehmen? [geschlossen]

15

In der Antwort auf eine Frage hat das jemand geschrieben assembly is not a language, it's a process. Ich stimme dem eher zu, da die "Sprache" der Assembly von der Architektur abhängt, auf der sie ausgeführt wird. Diese kann sich von CPU zu CPU erheblich unterscheiden.

Wenn Sie also eine Assembly für eine Architektur geschrieben haben, können Sie sie dann nur assemblyzusammen mit den anderen Programmiersprachen in den Lebenslauf aufnehmen ? Oder sagen Sie ausdrücklich, dass Sie Assembly für diese bestimmte Architektur geschrieben haben?

BEARBEITEN: Geändert 'versuchte' zu 'geschrieben'. Englisch ist nicht meine Muttersprache und ich habe den Begriff missverstanden, weil ich dachte, dass Sie ihn oft und nicht nur ein bisschen benutzt haben.

gablin
quelle

Antworten:

22

Vielleicht bin ich pedantisch, aber "Assembler" ist keine Programmiersprache, sondern eine Software zum Übersetzen von Assembler-Anweisungen in Opcodes für einen bestimmten Prozessor. Wenn Sie sagen möchten, dass Sie die Assemblersprache kennen, geben Sie die Assemblersprache für den XXX-Prozessor in Ihrem Lebenslauf an.

Dan Diplo
quelle
10
+1. Stimme voll und ganz zu. Sofern das OP nicht tatsächlich die Interna eines "Assemblers" programmiert, Assembly Language for XXX processorwäre dies der
richtige
2
+1: Dies ist wahrscheinlich genau der Unterschied, den das Zitat der Frage machen wollte. Assembler ist keine Sprache; Montage ist. Es falsch zu verstehen, hört sich wahrscheinlich so schlimm an, als würde man C + sagen .
Doppelgreener
Ja, ich meinte Montage , nicht Montage . Danke, dass Sie darauf hingewiesen haben. Frage überarbeitet. ^^
gablin
Huch. Ich kannte einen IBM-Typen, der es immer als "Assembler" beschrieb. Er war sehr schlau.
Erik Reppen
12

Ich denke, die Frage, ob es sich technisch um eine Sprache handelt, ist ein wenig irrelevant, obwohl es nie schadet, genau zu sein (also schließen Sie ja die spezifische Architektur ein, wenn Sie sie auflisten und wahrscheinlich Assembler statt Assembler verwenden, obwohl ich persönlich die lesen würde später als vernünftige Abkürzung und nicht als zu bestrafender Fehler).

Die Dinge, die ich sicherstellen würde, dass ich über mehr nachdenke, sind:

1) Hauptsache: Hilft es Ihnen, den fraglichen Job zu bekommen? Sie sollten Ihren Lebenslauf in Abhängigkeit von der Rolle anpassen und sich für jede Frage selbst fragen, macht mich dies zu einem besseren Kandidaten für diese Position . Es gibt kein Absolut, es ist abhängig und der betreffende Job.

2) Freust du dich, wenn du in einem Interview Fragen dazu hast? Ist Ihr Wissen aktuell und auf einem guten Stand? Grundsätzlich ist es ein faires Spiel für Fragen, wenn Sie es in Ihren Lebenslauf aufnehmen. Stellen Sie also sicher, dass Sie damit zufrieden sind und dass Sie das Gefühl haben, dass die Präsentation Ihren Wissensstand korrekt wiedergibt.

3) Und danach, wo soll man es hinstellen? Angenommen, Sie sagen, Sie haben versucht, die beste Lösung zu finden, finden Sie in einem Abschnitt zu anderen Interessen. Sie können sagen, dass ich ein großes Interesse an Technologie habe und meine eigene Zeit damit verbracht habe, eine Reihe von Sprachen und Plattformen zu untersuchen, die nicht zu meinen Kernkompetenzen gehören, darunter 6800 ( oder was auch immer) Assemblersprache.

Jon Hopkins
quelle
5

Ich würde "Assembler" nicht aus dem gleichen Grund wie "Compiler" setzen.

Obwohl ich zugeben muss, dass ich nicht sicher bin, ob ich irgendetwas aufnehmen möchte, an dem ich mich gerade "versucht" habe.

Auf jeden Fall enthält mein Lebenslauf "6502 Assemblersprache". Interessanterweise erwarte ich nicht, bald wieder für den 6502 zu schreiben (ich bin heutzutage hauptsächlich C # -Programmierer), aber ich beziehe es ein, weil es interessante Dinge über mich und meine Erfahrungen kommuniziert:

  1. Es zeigt, dass ich weiß, wie diese Computer-Dinge tatsächlich auf einem relativ niedrigen Niveau funktionieren. Das heißt, ich verstehe, was beim Schreiben von Code auf hoher Ebene vor sich geht, und dieses Wissen ist immer noch nützlich, um Probleme zu lösen und Code zu debuggen.
  2. Es deutet darauf hin, dass ich Kenntnisse über Techniken zur Speicherverwaltung, Optimierung, aber auch über das Twiddling usw. habe, die häufig bei Programmierern verloren gehen, die sich nicht mit Dingen auf dieser Ebene befasst haben.
  3. Es zeigt, dass ich schon eine Weile als Entwickler gearbeitet habe.
  4. Es deutet darauf hin, dass ich die Arbeit auch dann noch erledigen kann, wenn mich meine modernen Werkzeuge im Stich lassen (wie sie es manchmal tun).
  5. Oft stößt es beim Interview auf Interesse.

Dieser letzte Punkt ist der Schlüssel. Ich habe beim Interview interessante und nützliche Gespräche geführt, die auf meiner Erwähnung des 6502 basierten. Typischerweise hat der Interviewer auch in Assemblersprache programmiert (egal welcher Art, aber insbesondere 6502). Dies hat mir sicherlich keinen Schaden zugefügt und hätte mir auch helfen können, meine derzeitige Position zu sichern.

Kramii setzt Monica wieder ein
quelle
Ah, ich hatte den Eindruck, dass "probiert" bedeutete, dass Sie viel getan haben. Frage überarbeitet. Nochmal. ^^
gablin
4

Ich würde das irgendwie unter "Architekturerfahrung" ablegen, vielleicht in etwa so:

"Erfolgreich portiert (Kernel oder Subsystem) nach [arch], fundierte Kenntnisse über [arch] Assembly."

Ich würde mich in Ihrem Bereich "Ziele" ziemlich genau fassen und explizit angeben, womit Sie arbeiten möchten. Es wäre zum Kotzen, wenn Sie eingestellt würden und dann einen Stapel alternden Müll bekommen würden, der portiert werden musste.

Tim Post
quelle
2

Schreiben Sie Assembler und enthalten Sie die bestimmte CPU-Architektur. Andernfalls geben Sie an, dass Sie Assembler nicht verstanden haben. Ziehen Sie auch in Betracht, Assembler einzuschließen, wenn dies für einen neuen Job relevant ist .

Amir Rezaei
quelle
1

In Ihrem Lebenslauf sollten Sie normalerweise einen Abschnitt für Programmiersprachen, einen weiteren für Assemblersprachen (natürlich, wenn Sie Assemblersprachen kennen) usw. haben. Hier ein Beispiel:

Technische Referenzen:
Programmiersprachen: Algol, COBOL, Pascal, Lisp
Assemblersprachen: x86, x86-64

Stellen Sie einfach sicher, dass Sie verteidigen können, was Sie in Ihrem Lebenslauf geschrieben haben. Wenn Sie bestimmte Projekte in einer Assemblersprache durchgeführt haben, listen Sie diese in einem Abschnitt mit Projektdetails auf. Ich würde auch empfehlen, dass Sie einige der wichtigeren Anweisungen erwähnen, die Sie verwendet haben.

Fanatic23
quelle
1

Ich denke, es gibt verschiedene, fast orthogonale Gründe, Assembler zu schreiben, und es gibt möglicherweise nicht viel Gemeinsamkeit, außer dass man mit der Assembler-Sprache gut vertraut ist. Beispiele wären:

(1) Schaffung einer überragenden Leistung für wichtige Mathematikkerne. Kennt Mathematik, die Computerarchitektur usw.

(2) Schrieb viele Assembler, um neue Hardware zu debuggen. Sie wissen vielleicht wenig über die Leistungseigenschaften des jeweiligen Computers, wissen aber sehr viel über die Hardwareverifizierung.

(3) Kann vom Compiler generierte Assembler als Tool zum Debuggen lesen.

(4) Kann Assembler verwenden, um auf Hardware-Funktionen zuzugreifen, die von höheren Sprachen nicht unterstützt werden.

(5) Schreibt Compiler-Backends und betrachtet generierte Assembler, um Code-Generierungs- / Optimierungsalgorithmen als Teil des Compiler-Teams zu optimieren.

Im Allgemeinen denke ich, dass die Korrelation der Fähigkeiten zwischen diesen unterschiedlichen Aufgaben wahrscheinlich nicht sehr hoch ist. Stellen Sie jemanden mit Erfahrung und nachgewiesenen Fähigkeiten bei Aufgabe M für einen Job ein, der Aufgabe N erfordert, und Sie können ernsthaft von den Ergebnissen enttäuscht sein.

Omega Centauri
quelle
0

Assembly ist eine Sprache, es gibt mindestens eine für jeden Befehlssatz.

Ja, legen Sie es unbedingt dort an, auch wenn Sie Webanwendungen in einer hoch entwickelten Skriptsprache schreiben.

Vielleicht ist die Ausnahme, wo ich arbeite, nicht die Regel (das Netzwerkgeschäft und das Geschäft mit Chips / Prozessoren), aber eine ganze Menge unserer Programmierer wissen und schreiben Assembler, und selbst wenn Sie nach einem Job für eine Linux-Portierung oder einen Gerätetreiber suchen würden, würden wir sehen Stellen Sie Fragen dazu und treffen Sie Entscheidungen auf der Grundlage Ihrer Antworten.

Wie alles andere in Ihrem Lebenslauf, das nichts mit dem Job zu tun hat, für den Sie sich bewerben, wird es einfach übersprungen. Dies ist keine "weniger ist mehr" Sache. Wenn Sie wirklich wissen, dass etwas auf den Tisch kommt, Sprachen, Prozessoren, Protokolle, APIs usw. Wenn Sie Dinge auslassen und erwarten, dass der Interviewer Ihre Gedanken liest, oder gezwungen ist, zu erraten, welche Fragen zu stellen sind, um zu versuchen, diese Dinge herauszuholen, es ist zu deinem Nachteil. Ich hätte lieber einen mehrseitigen Lebenslauf als jemanden, der versucht hat, auf einer Seite alles Mögliche zu stopfen und das "Fleisch" wegzulassen. Oft schafft es ein solcher Lebenslauf nicht durch den Pre-Screening-Prozess. HR durchsucht die Lebensläufe häufig nach Schlüsselwörtern, genug Schlüsselwörtern und Sie ragen an die Spitze des Stapels, nicht genug oder gar nicht, und Sie werden ohne ein Telefoninterview verworfen. Statt weniger ist mehr mehr. Zur gleichen Zeit, wenn Sie die Sprache nicht wirklich beherrschen oder einen Kurs im College belegt haben und es so lange her ist, dass Sie sich wirklich an keine Details erinnern, lassen Sie es aus, und wenn Sie mit solchen Antworten zum Interview kommen, wird Ihr Lebenslauf gefördert um schnell zum Aktenvernichter zu gelangen.

Ja, listen Sie es als Programmiersprache auf, und geben Sie den Prozessor (die Familie) an.

C, C ++, Java, Assemblersprache (x86, ARM, MIPS), Python, Perl ...

Einige Leute listen den Assembler nicht in der Sprache TASM, NASM, MASM auf.

Oldtimer
quelle