it-swarm-eu.dev

Proč jsou rozhovory s technikem SW nepřiměřeně obtížné (vs. rozhovory s výzkumem)?

Nejprve na mě nějaké pozadí. Mám doktorát v CS a pracoval jsem jako softwarový inženýr a jako výzkumný pracovník ve výzkumu a vývoji, a to jak ve velkých korporacích, které dobře znáte. Nedávno jsem změnil zaměstnání a pohovoroval jsem o obou typech pozic (jak jsem to dělal v minulosti).

Moje pozorování: Pracovní pohovory s technikem SW jsou způsobem, způsobem nepřiměřeně obtížnějším než pracovní pohovory s výzkumným pracovníkem CS, ale práce výzkumného pracovníka je vyšší plat, konkurenceschopnější, obohacující, zajímavější a má vyšší vzestup.

Zde je typická smyčka rozhovoru pro vědce:

  • Telefonický rozhovor, abychom zjistili, zda je můj výzkum v souladu s výzkumem laboratoře
  • Osobně: přednáším na můj nedávný výzkum jednu hodinu (což představuje možná 9měsíční práce) a odpovídejte na otázky publika
  • Individuální osobní rozhovory s asi 5 vědci, kde mi kladou velmi rozumné otázky o mé práci/publikacích/patentech, včetně: technických otázek, kde moje práce zapadá do související práce a jak mohu svou práci rozšířit na nové oblasti

Zde je typická smyčka rozhovoru pro softwarového inženýra:

  • Telefonický rozhovor, kde mi byly položeny otázky týkající se algoritmů a možná i nějaké kódování. Docela standardní.
  • Osobní rozhovory na tabuli, kde z vás vyvrtají F *** na esoterické C++ minutie (např. Jak funguje volání polymorfní virtuální funkce), algoritmy (způsobí, že algoritmus all-pair-shortest-path funguje pro 1B vertices) , návrh systému (navrhněte vyvažovač zatížení databáze) atd. Pokračuje to pro šest nebo sedm rozhovorů. Směšný.

Proč by to někdo chtěl snášet? Jaký je smysl požádat o drobnosti C++ nebo psaní kódu, abych se dokázal? Proč neudělat rozhovor s SE spíše jako rozhovor s badatelem, kde hovoříte o tom, co jste udělali?

Jak jsou technické pohovory pro práci v jiných oborech, jako je fyzika, chemie, stavebnictví, strojírenství?

40

Je poměrně snadné zjistit, zda jste dostatečně technicky způsobilí k výzkumu - máte publikace, které mohou vedoucí pracovníci číst, a ty publikace pravděpodobně naznačují jiné lidi, s nimiž mohou mluvit, aby vás zkontrolovali.

Softwarové inženýrství, na druhé straně, je disciplína tak plná nekompetentních plýtvání prostorem, které je třeba udělat spoustu due diligence a ujistit se, že ten, kterého najímáte, může ve skutečnosti napsat kód, který hodláte najmout, aby napsal.

45
Wyatt Barnett

Chodím sem na končetinu.

Jako výzkumný pracovník s doktorským titulem jste již více uznávaným organizacím prokázaly svou hodnotu a minimální kvality jako výzkumný pracovník. Úspěšně jste obhájili diplomovou práci před tabulí svých kolegů a přesvědčili jste alespoň jednu recenzovanou publikaci, aby publikovala svou práci.

Vývoj softwaru na druhé straně nemá žádné kvalifikační standardy. Lidé běžně nadouvají svou znalostní základnu. Výsledkem je, že rozhovory o vývoji softwaru musí vykonávat veškerou práci, kterou PhD obhajoba a vzájemné hodnocení provádějí na akademické půdě. Přinutí vás dokázat, že opravdu víte, o čem to mluvíte.

30
Ryan Michela

Zvažte to na chvíli.

Kdybych se pokusil ucházet o tuto práci CS výzkumníka, nechtěl bych se podívat na můj životopis/životopis. Nejprve bych se nedostal na pohovor. Dostal bych standardizovaný dopis „bez pokročilého stupně“, který mi říká, že jsem nebyl ani kvalifikovaný, aby se na mě mohl podívat na můj životopis.

Moje otázky jsou tyto: „Proč je tak těžké získat doktorát?“ A "Proč potřebuji PhD, abych byl CS výzkumníkem?" "Proč tolik překážek a překážek?"

Proč by to někdo chtěl snášet?

Jaký má smysl dělat veškerou práci na tomto kurzu a tisknout výzkum v časopisech a konferencích? Proč nemohu jen udělat výzkum a dostanu zaplaceno více, než za inženýrství?

Proč se spoléhat na postgraduální školy a publikace k vytvoření pověřovacích listin? Proč neudělat výzkumný rozhovor spíše jako rozhovory se SE, kde vše závisí na tom, co si můžete během pohovoru vzpomenout právě teď?

17
S.Lott

No, mám teorii. Výzkum je obvykle hrazen z grantů, takže nabídka hotovosti je vysoká. Mají kbelík peněz, který utratí, a prostě potřebují najít někoho, kdo by je utratil. Ať už ve své pozici skutečně něco dosáhnete nebo ne, společnost/instituce nezaznamená čistou ztrátu, protože i tak to byla jen účtovaná částka. Najmutí špatného člověka existuje jen malé riziko. Nejhorší scénář je, že zahodí všechno, co jste udělali.

Na druhé straně úspěch nebo neúspěch existujících produktů spočívá na plecích každodenních vývojářů. Zejména pokud jste ve vývoji produktů, jste ziskové centrum pro společnost. Dobří nebo špatní vývojáři mají obrovský dopad, který je daleko za náklady na jejich plat. Špatný vývojář skutečně způsobuje poškození. Mohou vrátit tým, uvedení produktu na trh atd. Důsledky najímání špatného SW inženýra jsou mnohem vyšší.

6
Scott Whitlock

Krátká odpověď: na trhu je spousta lidí, kteří tvrdí, že znají programování, ale nemohou programovat.

Vedlejší poznámka: Jsem překvapen, že nikdo neposlal odkaz na FizzBuzz esej .

5
Nikita Barsukov

Naše společnost také „klade mnoho tvrdých otázek“ a vysvětlím proč. Záleží nám na tom, zda opravdu víte, jak se provádí volání virtuální funkce, ale ne proto, že je to tak kriticky nutné pro práci, kterou budete dělat.

Místo toho nám záleží, protože musíme vědět, jak rychle se můžete naučit základní věci. Tvrdíte, X let zkušeností? Dobře, položíme těžké otázky, abychom zjistili, zda máš solidní znalosti.

Nevíte, jak se provádí virtuální volání pod kapotou, ale víte vše o profilování a optimalizaci? Skvělé, pravděpodobně vás najmeme - získali jste solidní znalosti v jednom oboru a tak jistě získáte solidní znalosti v jiném.

Tvrdíte, že máte dlouholetou zkušenost s „vývojem, laděním a opravou kódu C++“ a nemůžete jednoduše vysvětlit, jak ukazatel ukazuje na objekt? Litujeme, nemůžeme vás najmout - pokud to nedokážete, jak vysvětlíte obtížnější problémy, když potřebujeme složitá technická rozhodnutí?

5
sharptooth

Jsem vývojář softwaru (c/c ++) s více než 20 lety v oboru. Typ rozhovorů, které nyní běžně vidíme (hlavolamy, implementace datových struktur, vyhledávací algoritmy atd. Na tabuli), se s výjimkou novorozenců příliš nevyskytoval. Pokud osoba pracovala pro renomovanou společnost po přiměřenou dobu, to se považovalo za důkaz schopnosti člověka psát kód. Nyní je velmi školní a nejsem si jistý proč. Opravdu, typické věci, které vás žádají o kód, lze zapamatovat, takže to na tabuli opravdu nic neprokazuje. Na pracovním projektu byste pomocí internetu něco zkoumali a vy byste nepsali btrees nebo propojené seznamy od nuly. Společnosti, které nyní skutečně potřebují, jsou inovátoři a požádat někoho, aby prokázal, že umí psát z paměťových struktur z vysoké školy, neprokazuje inovace.

Myslím, že je to další manažerský výstřelek - stejně jako scrum - s tím, že ten pravděpodobně začal Google, Amazon a Microsoft. Všichni ostatní zkopírovali, jako to udělali s hodností Jacka Welcha a trhají ... pamatujete GE?

Pokud jste nájemním manažerem, který čte moje komentáře, Měli byste se ptát kandidátů, JAK by šli vyřešit určité problémy. Místo toho, abyste je požádali, aby kódovali hashovací tabulku, dejte jim problém týkající se hashovací tabulky a zeptejte se, jak ji vyřeší.

Souhlasím také s vývojářem nad tímto příspěvkem, který řekl: „Dejte jim skutečný světový problém, který společnost musela vyřešit“!

„Ale rád bych bombardoval otázky OOP/dědičnosti. Proč? Protože jakmile byla přidána podpora šablon, používal jsem C++ téměř výhradně pro obecné programování.“

Souhlasím také s výše uvedeným. Když pracujete pro společnost, píšete kód THEIR způsobem. Občas si stále pamatuji volání C++ pomocí syntaxe referencí z hlavy, protože vedoucí architekt ve společnosti, pro kterou jsem pracoval 15 let, raději používal ukazatele, nikoli odkazy. Byl to starý C programátor. To je to, co jsme všichni použili.

3
guest

Budu se vydat jinou cestou a říci, že problém nemusí být natolik, že rozhovory v softwarovém inženýrství jsou ze své podstaty těžší, ale spíše to, že různé sektory hledají různé věci, které se projevují v jejich stylu pohovoru.

Rozhovor jsem vedl v poměrně širokém spektru odvětví (např. Začínající společnost, malá společnost, velká společnost, interní oddělení IT, softwarová společnost, výzkumná organizace) a všichni mají jiný způsob pohovoru, o kterém jsem zjistil, že obvykle postupujte podle následujícího vzorce:

  • Start-upy se obvykle zajímají o to, že můžete začít psát kód právě teď a zvládnout rychle se pohybující prostředí. Jako takové mají sklon se zabývat tím, kolik toho znáte z temene hlavy, protože zdánlivě nechtějí vidět, jak trávíte spoustu času hledáním toho, co považují za „základní“ znalosti. Přiznání, že něco nevíte, nemusí být v tomto prostředí tak dobré, pokud to očekávají.
  • Malé společnosti mají tendenci hledat stejné věci jako začínající podniky, co se týče toho, kolik toho víte, ale netýkají se toho, jak dobře zvládáte rychle se pohybující prostředí (záleží na práci) a více s tím, jaké měkké dovednosti máte přinést a jak dobře se vejde do společnosti.
  • Zdá se, že velké společnosti a interní IT oddělení se více zajímají o to, že máte danou úroveň technických znalostí, ale nejsou tak znepokojeni, pokud nevíte všechno z vaší hlavy, protože očekávají, že budou nějaké čas na to, aby vás vyškolili na to, co společnost očekává. Jedná se tedy o prostředí, ve kterém lze přiznat, že něco nevíte, ale jste ochotni se učit a studovat, považovat za přínos.
  • Ve výzkumném prostředí (tj. Podpora vývoje softwaru pro vědce podle mých zkušeností) mají sklon se zabývat tím, jestli dokážete psát software, ale spíše pokud jste ochotni udělat to, co je potřeba, abyste zajistili, že se můžete dozvědět, co dělají. když se snažíte vyřešit problém, nemusí vás držet za ruku. Protože se jedná také o výzkumné prostředí, zdá se, že se také zajímají o to, jak vás zajímají nové věci.

Nyní jsem opomněl zmínit softwarové společnosti (tj. Google, Microsoft), protože mají sklon dělat své vlastní věci a v závislosti na tom, jak je společnost zralá a na jakou skupinu se ptáte, hledají různé věci.

Na konci dne a stejně jako u většiny věcí v životě to všechno záleží. Osobně jsem zjistil, že některé společnosti se velmi zaměřují na „knižní znalosti“, které by mohly na úkor schopnosti řešit problémy na vyšší úrovni, kde se jako jiné společnosti zdá, že se velmi zajímají o to, jak dobře zvládáte problémy na vyšší úrovni. (tj. můžete navrhnout schéma pro x) a pracovat za předpokladu, že jsou ochotni investovat tři až šest měsíců, aby vás plně využili, než budete plně produktivní.

3
rjzii

Technický rozhovor je opět libovolný a rozmarný.

Je velký rozdíl mezi grilováním osoby na markýzách a viděním, zda zná jejich CS. Jak jsem řekl výše, mám s C++ více než desetileté zkušenosti, ale rád bych bombardoval otázky OOP/dědičnosti. Proč? Protože jakmile byla přidána podpora šablon, používal jsem C++ téměř výhradně pro obecný Programování.

Rozhovor s několika společnostmi BigHouseHoldNameTech v oblasti Bay a Seattle a jedna z nejlepších rozhovorů zahrnovala skutečné otázky, s nimiž se museli vypořádat v práci zahrnující datové struktury a algoritmy [tj .: Máte 300 miliard datových bodů sestávajících z XYZ. Jak efektivně ukládat a hledat? ].

To do značné míry umožňuje zjistit, jak může kandidát vstoupit a pomoci vyřešit skutečné problémy, kterým čelíte. Absolutně horší bylo také u jiné společnosti BigHouseHoldNameTech, ale zeptali se hodin na neuvěřitelně tajemné otázky, které byste měli opravdu vyhledat v manuálu [, tzn. popište hlavní rozdíly mezi PCB v Windows vs. Linux - a to nebylo pro pozici na úrovni jádra ]

Zajišťovací fondy jsou bizarní s úmyslem mučit ... očekávejte 8 hodin řešení knapsack problémy typu na tabuli.

2
red-dirt