Dovrei includere `assembly` come linguaggio di programmazione nel CV? [chiuso]


15

Nella risposta a una domanda qualcuno l'ha scritto assembly is not a language, it's a process. Tendo ad essere d'accordo, poiché il "linguaggio" di assemblaggio dipende dall'architettura su cui verrà eseguito, che potrebbe differire abbastanza da una CPU all'altra.

Quindi se hai scritto assembly per un'architettura, significa che puoi includerlo nel CV semplicemente assemblyinsieme agli altri linguaggi di programmazione? O dici esplicitamente di aver scritto assembly per quella particolare architettura?

EDIT: modificato da 'dilettato' a 'scritto'. L'inglese non è la mia lingua madre e ho frainteso il termine, pensando che significasse che l'hai usato molto invece che solo un po '.

Risposte:


22

Forse sono pedante, ma "assemblatore" non è un linguaggio di programmazione, è un software per la traduzione delle istruzioni di montaggio mnemoniche in codici operativi per un particolare processore. Se vuoi dire che conosci il linguaggio assembly , elenca il linguaggio Assembly per il processore XXX nel tuo CV.


10
+1. Completamente d'accordo. A meno che l'OP non abbia effettivamente programmato gli interni di un "Assemblatore", usare Assembly Language for XXX processorsarebbe la strada da percorrere
Jagmag,

2
+1: Questa è probabilmente esattamente la distinzione che la citazione della domanda stava cercando di fare. L'assemblatore non è una lingua; L'assemblea è. Sbagliare probabilmente suona male come dire C + .
doppelgreener,

Sì, intendevo assemblaggio , non assemblatore . Grazie per averlo sottolineato. Domanda rivista. ^^
gablin

Yikes. Conoscevo un ragazzo IBM che lo descriveva sempre come scritto in "assemblatore". Era molto intelligente.
Erik Reppen,

12

Penso che la domanda sul fatto che sia tecnicamente un linguaggio sia un po 'irrilevante, anche se non guasta mai per essere accurati (quindi sì, includi l'architettura specifica se la elenchi e probabilmente metti Assembly Language piuttosto che Assembler, anche se avrei letto personalmente il più tardi come una scorciatoia ragionevole piuttosto che un errore da penalizzare).

Le cose a cui mi assicurerei di pensare più di questo sono:

1) La cosa principale: ti aiuterà a ottenere il lavoro in questione? Dovresti modificare il tuo CV a seconda del ruolo e per ognuno chiediti questo mi fa sembrare un candidato migliore per questa posizione . Non c'è assoluto, dipende e il lavoro in questione.

2) Sei felice di ricevere domande al riguardo in un'intervista? Le tue conoscenze sono aggiornate e di buon livello? Fondamentalmente se lo metti nel tuo CV è un gioco equo per le domande, quindi assicurati di essere soddisfatto e che ti senti comunque che scegli di presentare rappresenta il tuo livello di conoscenza correttamente.

3) E a seguito di ciò, dove metterlo? Dato che dici di esserti dilettato, forse la soluzione migliore è nella sezione Altri interessi, puoi dire "Ho un grande interesse per la tecnologia e ho trascorso il mio tempo a studiare una vasta gamma di lingue e piattaforme al di fuori del mio set di competenze di base tra cui 6800 ( o qualsiasi altra cosa) Lingua dell'assemblea.


5

Non metterei "assembler" per lo stesso motivo per cui non inserisco "compilatore".

Anche se devo ammettere che non sono sicuro che vorrei includere qualsiasi cosa in cui ho appena "dilettato".

Ad ogni modo, il mio CV include "6502 assembly language". È interessante notare che non mi aspetto di scrivere presto per il 6502 (presto sono principalmente programmatore C # in questi giorni) ma lo includo perché comunica cose interessanti su di me e sulla mia esperienza:

  1. Indica che so come funzionano queste cose al computer a un livello abbastanza basso. Ciò significa che capisco cosa succede quando scrivo codice di alto livello e questa conoscenza è ancora utile per risolvere problemi e eseguire il debug del codice.
  2. Mi suggerisce di conoscere tecniche di gestione della memoria, ottimizzazione, ma-twiddling ecc. Che spesso si perdono nei programmatori che non hanno affrontato le cose a questo livello.
  3. Dimostra che sono in giro da un po ', con una vasta esperienza come sviluppatore.
  4. Mi suggerisce che posso ancora fare il lavoro anche quando i miei strumenti moderni mi deludono (come fanno a volte).
  5. Spesso suscita interesse all'intervista.

Quest'ultimo punto è la chiave. Durante l'intervista ho avuto conversazioni interessanti e utili sulla base della mia menzione del 6502, in genere in cui l'intervistatore ha anche programmato in linguaggio assembly (di qualsiasi tipo, ma in particolare 6502). Questo certamente non mi ha fatto alcun male e potrebbe avermi aiutato a proteggere la mia posizione attuale.


Ah, avevo l'impressione che "dilettarsi" significasse che l'hai fatto molto. Domanda rivista. Ancora. ^^
gablin

4

In qualche modo lo classificherei sotto "esperienza di architettura", forse qualcosa del genere:

"Portato con successo (kernel o sottosistema) su [arch], approfondita conoscenza dell'assemblaggio [arch]."

Sarei piuttosto conciso nella tua area "obiettivi", indicando esplicitamente con cosa speri di lavorare. Farebbe schifo se venissi assunto, quindi ti sarebbe stata consegnata una pila di spazzatura invecchiata che doveva essere trasferita.


2

Scrivi assemblatore e includi la particolare architettura della CPU. In caso contrario, si indica che non si capiva l'assemblatore. Considera anche di includere l'assemblatore se è rilevante per un nuovo lavoro.


1

Nel tuo curriculum, in genere dovresti avere una sezione per i linguaggi di programmazione, un'altra per i linguaggi assembly (ovviamente se conosci il linguaggio assembly che è) ecc. Ecco un esempio:

Credenziali tecniche:
Linguaggi di programmazione: Algol, COBOL, Pascal, Lisp
Assembly Languages: x86, x86-64

Assicurati solo di poter difendere ciò che hai scritto nel tuo CV. Se hai realizzato progetti specifici utilizzando un linguaggio assembly, elencalo chiaramente nella sezione Dettagli progetto . Consiglio anche di menzionare alcune delle istruzioni più importanti che hai usato.


1

Penso che ci siano diverse ragioni quasi ortogonali per scrivere assemblatore, e potrebbe non esserci molta comunanza oltre a essere passabile conversatore nel linguaggio assemblatore. Esempi potrebbero includere:

(1) Creazione di prestazioni di livello mondiale per kernel matematici importanti. Conosce la matematica, l'architettura del computer, ecc.

(2) Ha scritto un sacco di assemblatore per eseguire il debug di nuovo hardware. Può sapere poco sulle caratteristiche prestazionali di una determinata macchina, ma sa molto sulla verifica dell'hardware.

(3) Può leggere l'assemblatore generato dal compilatore come strumento per il debug.

(4) Può utilizzare l'assemblatore per accedere alle funzionalità HW non supportate da linguaggi di livello superiore.

(5) Scrive backend del compilatore e osserva l'assemblatore generato al fine di modificare gli algoritmi di generazione / ottimizzazione del codice come parte del team del compilatore.

In generale, penso che la correlazione nelle competenze tra questi compiti distinti non sia probabilmente molto elevata. Assumi qualcuno con esperienza e comprovata abilità nell'attività M per un lavoro che richiede l'attività N e potresti essere deluso seriamente nei risultati.


0

Il montaggio è una lingua, ce n'è almeno una per ogni set di istruzioni.

Sì, mettilo assolutamente lì anche se scrivi applicazioni web in un linguaggio scripty di alto livello.

Forse dove lavoro è l'eccezione non la regola (il business della rete e il business dei chip / processori) ma una buona parte dei nostri programmatori conosce e scrive assembly, e anche se stessimo cercando un porting di Linux o un lavoro di driver di dispositivo vedremmo l'esperienza di assemblaggio, porre domande al riguardo e prendere decisioni in base alle risposte.

Come qualsiasi altra cosa nel tuo CV che non si riferisce al lavoro per il quale ti stai candidando, semplicemente lo salteranno. questo non è un tipo di cosa "less is more". Se sai davvero qualcosa che lo mette giù, lingue, processori, protocolli, API, ecc. Se lasci le cose fuori e ti aspetti che l'intervistatore legga la tua mente o sia costretto a indovinare quali domande porre per provare a tirar fuori queste cose, è a tuo svantaggio. Preferirei avere un CV / curriculum di più pagine da guardare quando intervista un candidato piuttosto che qualcuno che ha cercato di stipare ciò che potevano su una pagina e ha lasciato fuori la "carne". Spesso un curriculum del genere non riesce a superare il processo di pre-screening. Le risorse umane spesso eseguono la scansione dei curricula alla ricerca di parole chiave, abbastanza parole chiave e si sale in cima alla pila, non abbastanza o nessuna e si viene scartati senza nemmeno un'intervista telefonica. Invece di meno è di più, di più è di più. Allo stesso tempo, se non conosci davvero la lingua, o hai preso una lezione al college ed è stato tanto tempo fa che non ricordi davvero alcun dettaglio, lascialo fuori, andare all'intervista con risposte come quelle che incoraggia il tuo curriculum / CV per farsi strada rapidamente verso il trituratore.

Sì, elencalo come linguaggio di programmazione, ovvero quello che è e specifica il processore (famiglia).

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

Alcune persone elencheranno l'assemblatore non la lingua TASM, NASM, MASM.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.