Práce programátora v assembleru

Honza

Práce programátora v assembleru
« kdy: 02. 11. 2013, 16:24:20 »
Nazdar

jak je to v dnešní době s assemblerem? Umím základy x86 (32-64) architektury (x87 FPU [vím, nepoužívá se], SIMD, SSEx) a zajímalo by mne jestli se dá sehnat práce kde by bylo možné vyžít těchto znalostí. Koukal jsem se různě na pracovní servery, a abych řek pravdu, nenašel jsem žádnou nabídku (no, jednu jo). Abych upřesnil na co se ptám když sem si v druhé větě odpověděl ... zhruba 60% pracovních nabídek není na netu (někde sem to čet ...) a proto je toto pokus prozkoumat těch 60% pracovního trhu jež sem ještě neprozkoumal (obrazně řečeno xD).
« Poslední změna: 02. 11. 2013, 17:02:02 od Petr Krčmář »


PANKapitanRUM

Re:Práce programátora v assembleru
« Odpověď #1 kdy: 02. 11. 2013, 17:28:56 »
Paradox: Programátoři pracující v ASM bývají dramaticky méně placení než Java/.NET/C++.
Důvod: Pokud se nepovede sehnat pozici reverzního engineera nebo vývojáře ovladačů, kde v obou profesích to stejně chce kromě ASM i C, pak zůstávají pozice programátorů mikročipů, které bývají "neoprávněně" dost mizerně placené.
Mnoho přátel, kteří s ASM pracovali, přesedlalo buď na Cčko nebo třeba začali programovat CNC, protože CNC programátor s ~35 měsíčně si vydělá tak 2x tolik, co programátor v ASM.

Neříkám, že nebudou existovat výjimky.

Přirovnání: Programátorský tým je jako kapela, pokud se hraje dechovka, tak hráč na kokosové ořechy naplněné suchým hrachem se buď naučí hrát na housle/buben/trubku nebo vezme práci podržtažky.

Kam zkusit poslat CV a doufat v dobrý plat:
Antivirové společnosti
Vývojáři real-timových aplikací

V obou případech to bude chtít i znalost C.


mares.vit

Re:Práce programátora v assembleru
« Odpověď #2 kdy: 02. 11. 2013, 18:17:05 »
Jestli chcete programovat takhle blízko železa, investujte do znalosti jazyka C, procesorů ARM (Cortex-M, ARM9, Cortex-A), do znalosti programování driverů v Linuxu a hledejte zaměstnání ve vývoji embedded systémů. Takových programátorů, kteří si chcou zašpinit ruce od železa, není nikdy dost. Základních informací o embedded Linuxu najdete na internetu habaděj.

Honza

Re:Práce programátora v assembleru
« Odpověď #3 kdy: 02. 11. 2013, 19:00:02 »
Jazyk C ovládám (C++ taky xD). BTW sem jedinej komu se zdá oficiální ARM dokumentace oproti Intelácký x86 hrozná?

kvas11

Re:Práce programátora v assembleru
« Odpověď #4 kdy: 02. 11. 2013, 19:26:43 »
skus AZD (http://www.azd.cz/), ja som tam bol uz davnejsie na pohovor, kde hladali vyslovenie niekoho na ASM - koli programovaniu zabezpecovacich zariadeni na zeleznici. praca to mohla byt zaujimava, ale nakoniec som dal prednost J2EE (okrem ineho aj koli prachom, presne ako sa pise hore)


Michal Kovacic

Re:Práce programátora v assembleru
« Odpověď #5 kdy: 03. 11. 2013, 16:26:15 »
Kam zkusit poslat CV a doufat v dobrý plat:
Antivirové společnosti
Vývojáři real-timových aplikací

V obou případech to bude chtít i znalost C.

Zkusil bych vývoj her - tam se ASM optimalizace algoritmů hodí velice, C (a jiné) budou chtít také a možná něco navíc...

PANKapitanRUM

Re:Práce programátora v assembleru
« Odpověď #6 kdy: 03. 11. 2013, 19:48:36 »
To mi přijde jako dost velká blbost, sorry, spíš to vypadá, že jsi chtěl jen něco říct.
Opravdu dost pochybuji, že v ČR existuje takové studio, které by to využilo ::)

Aby se zaplatil samostatný člověk na tuhle úroveň optimalizací, muselo by se jednat o vývojáře AAA titulů a vývoj by museli dělat v Cčku, protože .NETtí verze bytecode není ASM, Flash je na tom podobně a Java je joke.

ASM je "skutečně" "potřeba" při tvorbě ovladačů zařízení, jenže společnost, která by vyvíjela takové zařízení, aby se jim vyplatilo si držet člověka na ASM. Skutečně i potřeba jsou v uvozovkách, protože ovladače se píšou v Cčku a těch věcí, kde je ASM opravdu, opravdu potřeba  až tolik není. Zase to může být tak jedna firma v ČR. Tj. taky jsem o tom nemluvil.

Ale výrobců antivirového software tu máme několik, Avas, AVG, Eset má v Praze tuším centrum a ještě jedna společnost.
Před reverzním Engineering-u je ASM k nezaplacení a těch lidí se tam uživí spousta.

No a nebo dělat cracky do her a brát za to bitcoiny  ;D

whata

Re:Práce programátora v assembleru
« Odpověď #7 kdy: 04. 11. 2013, 09:21:39 »
Na ovladače stačí znát protokoly a mapování, a mít zhruba hardware přehled, assembler je potřeba minimálně, pokud vůbec. Ten je nutný na úrovni OS, aby byla pro drivery přístupná platform-independent vrstva.

Kde je skutečně assembler zajímavý, jsou následující místa:
- vývoj OS (ale taky poměrně malá část)
- zmíněné antiviry, analýza kódu apod.
- kompilátory
- různé matematicky orientované knihovny (video, šifrování, big number, obecně něco, co využívá typicky složitější operace na SIMD)
- grafické knihovny/ovladače, speciální případ předchozího, ale opět to jsou spíš menší kousky třeba pro operace s maticemi než obrovské bloky kódu
- počítačové hry ze stejného důvodu, pokud nepouživají už nějakou existující 3rd-party knihovnu
- embedded software, ale taky bych v dnešní době už víc čekal posun k C

Zajímavé firmy tedy jsou:
- RedHat, Intel, Oracle (Sun), Microsoft - pokud se dostaneš ke kompilátorům, pořád je to ale věda primárně o něčem jiném
- herní vývojáři - částečně, není toho tak moc
- nVidia, AMD - viz výše
- zmíněné antivirové společnosti

j

Re:Práce programátora v assembleru
« Odpověď #8 kdy: 04. 11. 2013, 14:13:14 »
Zkusil bych vývoj her - tam se ASM optimalizace algoritmů hodí velice, C (a jiné) budou chtít také a možná něco navíc...

Kdepak, to by musel delat na vyvoji enginu (a kdovi jestli), hry se dneska stavej jako lego - vemes engine, ten ma vetsinou i nejakej ten editor, a zacnes mastit hru.

gamer

Re:Práce programátora v assembleru
« Odpověď #9 kdy: 04. 11. 2013, 14:30:32 »
Ani v enginu by si s assemblerem moc neužil, v assembleru bývají jen low-level funkce pro oprerace s vektory/maticemi a toho zase tak moc není.

Vitek

Re:Práce programátora v assembleru
« Odpověď #10 kdy: 04. 11. 2013, 22:12:15 »
Ahoj,

pokud by te zajimala prace v assembleru, ale na jine platforme nez PC je to IBM os380, tak muzes zkusit CA v Praze.
Zdar
V

randolf

Re:Práce programátora v assembleru
« Odpověď #11 kdy: 05. 11. 2013, 19:01:52 »
Doporucuji zkusit SysGo, nyni uz vlastnene firmou Thales Aerospace
http://www.sysgo.com/company/jobs/job-offers-czech-republic/

Je to super firma, s dobrou firemni kulturou a super odborniky (alespon ty v nemecke pobocce, ktere znam).

Pokud budes spokojeny, zves na pivo :)

mhi_

Re:Práce programátora v assembleru
« Odpověď #12 kdy: 05. 11. 2013, 22:10:23 »
Nabidnu moznost prace: ne ciste assembler (ale low-level znalosti se uplatni) pripadne reverse engineering (+spojene prace s programovanim pro dane platformy) ovsem uz ne na x86 (PowerPC, TriCore, HC(S)12, atd). Praha. Pokud mate zajem si popovidat, nechte mi tu nejaky kontakt.

ksfj

Re:Práce programátora v assembleru
« Odpověď #13 kdy: 06. 11. 2013, 09:37:55 »
jeste na to muzes jit obracene. Reverzni inzenyrstvi. Analyzovani crash dumpu a tak.

Bud win platforma - pak si zacit hrat s WinDBG nebo jinde ...

xavyer

Re:Práce programátora v assembleru
« Odpověď #14 kdy: 27. 11. 2013, 21:41:57 »
Někdo tu zmínil ten reverse engeneering, to možná. U nás připadá v úvahu AVG. Assembler jako optimalizace už je dnes asi na nic, protože každý procesor se optimalizuje jinak, což zvládne dobrý překladač C a grafiku dělá GPU. Dneska už si i C bere jako hardcore.