Prześlij kod podczas wywiadu [zamknięte]

20

Przeprowadzam wywiad na stanowisko w startupie internetowym. Stanowisko to dotyczy eksploracji danych w bardzo dużej bazie danych użytkowników. W ramach procedury wywiadu (na odległość), która obejmuje sprawdzenie podzbioru ich bazy danych, poprosili o przesłanie kodu, którego użyłem do analizy.

Moją główną troską jest to, że ten kod jest „zastrzeżony” z powodu braku lepszego słowa. Nie mam problemów z oddaniem im całego mojego kodu, jeśli skończę dla nich, ale biorąc pod uwagę, że mogą potencjalnie wziąć kod, nie zatrudnić mnie i używać go w swojej większej bazie danych do generowania przychodów, waham się. Czy jestem po prostu paranoikiem? Czy to uzasadniona obawa?

dharel
źródło
8
ile godzin spędziłeś na pisaniu tego kodu?
Matthieu,
1
Czy to naprawdę ma znaczenie? Wartość nieodłączna jest taka sama, jeśli wynosi cztery minuty lub cztery dni.
dharel,
8
Myślę, że pytanie Matthieu jest właściwie ważne. Ignorując przez chwilę, że niektórzy ludzie mogą zrobić za godzinę, co może zająć kolejny tydzień, byłbym bardzo podejrzliwy, gdyby poprosili cię o wykonanie zadania, które zajęłoby przeciętnemu pracownikowi więcej niż kilka godzin.
David Ruttka
2
Co powiesz na nałożenie restrykcyjnej licencji na kod przed jego przesłaniem?
fejd
4
@darel: dla mnie tak. więcej niż pewien czas wyglądałby jak te bezpłatne staże, w których istnieje obietnica pracy w zamian za bezpłatną pracę, a nie jak regularny proces rozmowy kwalifikacyjnej.
Matthieu,

Odpowiedzi:

30

Jeśli chcesz zlecenie i jeśli jest to ich proces, prawdopodobnie będziesz musiał go przesłać. Myślę, że rozsądnie jest rozważyć możliwość „kradzieży” twojego kodu, a będziesz pracował za darmo. Jeśli jednak twój kod działa i robi na nim wrażenie, prawdopodobnie będą chcieli go więcej.

Powinieneś także rozważyć potencjalne zarobki związane z zachowaniem kodu dla siebie w porównaniu do wydania go w celu zdobycia pracy.

David Ruttka
źródło
3
Podoba mi się ta odpowiedź. Jeśli jest to specyficzne dla ich bazy danych, co jeszcze z tym zrobisz? Zapisz to jako cenę za rozmowę kwalifikacyjną. Są też szanse, że nie oszalejesz umysłem swoim błyskotliwością ... Nie będąc wrednym, ale znam wystarczająco dużo ludzi, aby wiedzieć, że nigdy nie szukają pracy ani rozmowy kwalifikacyjnej.
Satanicpuppy
@satan - :) bez obrazy, wątpię, że będę.
dharel,
1
@darel - osobiście nie chciałbym na start. Jeśli była to firma o ugruntowanej pozycji, ryzyko jest niższe. Ale zostałem spalony przez konsultantów próbujących odkryć problem podczas przeprowadzania fałszywego wywiadu, zmuszając mnie do napisania kodu, aby zrobić to, czego potrzebują, a następnie nigdy więcej nie otrzymałem od nich odpowiedzi. Dowiedziałem się od kogoś z firmy, że wdrożyli przynajmniej część dostarczonego przeze mnie rozwiązania.
SoylentGray
17
koleś, jeśli zdobędą najlepszy kod z fałszywego wywiadu, i tak zostaną zatopieni w ciągu roku.
Kevin
2
Jeśli zabiorą kod i uruchomią, i tak nie chcesz dla nich pracować.
Styler
7

Zwykle mnie to nie obchodzi, chyba że oczywiste jest, że próbują dostać pracę za darmo. Pisanie odrobiny kodu przy użyciu „żywych” danych lub tym podobnych jest w porządku, ponieważ otrzymano zadanie z rejestru produktu i oczekuje się, że zaimplementuje go za darmo, ponieważ „przykład” jest niedoceniany i wtedy należy odmówić (lub wysłać im rachunek później).

Skorzystaj z własnego osądu w tej sprawie, ale jeśli praca jest tego warta, nie byłbym zbytnio zaniepokojony, dopóki nie będą rażąco próbować nakłonić cię do prawdziwej pracy bez zapłaty.

Wayne Molina
źródło
5

Jeśli poświęcisz na to tylko dwie godziny, możesz spodziewać się, że ich programiści mogliby zrobić to tak szybko i najprawdopodobniej spędzili więcej czasu na przeprowadzaniu wywiadów i znalezieniu interesującej pracy do wykonania, niż kiedykolwiek mogliby zdobyć dzięki kradzieży Twój kod. Twoje pytanie byłoby odpowiednie tylko wtedy, gdy napisałeś poważnie dużą ilość kodu lub miałeś wiedzę o domenie, że oni sami nie mają. Kradzież pracy zacznie się opłacać tylko wtedy, gdy uzyskasz przynajmniej kilka dni profesjonalnego kodu od każdego rozmówcy. I nigdy nie wiadomo z góry, czy kod będzie dobrej jakości.

Thorsten Müller
źródło
4

Powinieneś zwolnić za kaucją tę pracę. Poważnie - jeśli naprawdę uważasz, że jest nawet jedna szansa na dziesięć, że firma jest tak nikczemna, że ​​wymyśliła plan uzyskania bezpłatnej siły roboczej poprzez pozorny proces rekrutacji, to wyraźnie brakuje ci zaufania między tobą a nimi. Jeśli nie możesz im zaufać przez kilka godzin pracy, to jak możesz im zaufać, jeśli chodzi o środki utrzymania?

Alternatywnie, spróbuj patrząc na to z ich perspektywy: czy pan zatrudnić się bez pewnej mierze od poziomu umiejętności?

Caleb
źródło
3

Przesłałem małe fragmenty kodu, których napisanie zajęło tylko kilka godzin, ale rozwiązałem prawdziwy problem dla ludzi dwa razy. Za każdym razem nie dostałem pracy. Za każdym razem nie jestem pewien, czy naprawdę była praca.

W twoim przypadku możesz mieć tę zaletę, że jeśli kiedykolwiek odkryjesz swój kod w ich produkcie, prawdopodobnie będziesz miał świetną sprawę przeciwko nim w procesie sądowym, więc przed przesłaniem go, jeśli tak, może powinieneś zrobić coś, co pozwoli ci udowodnić napisałeś to i kiedy to napisałeś.

psr
źródło
2
Aby rozwinąć - przynajmniej w Stanach Zjednoczonych, może to być tak proste, jak wydrukowanie go i wysłanie do siebie (ale nie otwieraj go!). Dzięki temu otrzymasz zapieczętowaną wersję papierową i popierany przez rząd zapis daty.
Shauna
1

Nie marnuj zbyt wiele czasu na pracę nad kodem podczas procesu rekrutacji (tj. Dłużej niż jeden dzień), ponieważ jest to zasadniczo darmowa praca dla twojego potencjalnego pracodawcy. Jeśli tak się stanie, nie zachowują się bardzo profesjonalnie i powinieneś rozważyć delikatne ucieczkę od nich.

Zwykle podczas tego rodzaju wywiadów, w których przesyłasz kod w celu rozwiązania konkretnego małego problemu, głupio jest jedynie zakładać, że będziesz mieć z nim problemy. Dlaczego?

  • Jeśli jest to kod napisany dla jednego, bardzo specyficznego problemu polegającego na odrzuceniu, a kod może wymagać ponownej analizy, aby był użyteczny.
  • W lokalizacjach geograficznych, w których obowiązują patenty na oprogramowanie, może to i tak być przedmiotem naruszenia patentu, a żadna ilość praw autorskich nie ochroni cię przed taktyką strachu stosowaną przez chciwych prawników. (Oświadczenie: Nie jestem prawnikiem.)
Łup
źródło
0

Jeśli martwisz się, że ludzie kradną Twój kod, najlepszą ochroną przed nim jest udzielenie licencji przy użyciu licencji Creative Commons . Osobiście wybrałbym Attribution-NoDerivs 3.0 Unported . Jednak nigdy nie będziesz powstrzymywał ludzi przed przeglądaniem twojego kodu i jego ponownym pisaniem, to kamizelka Kevlar, którą możesz założyć, aby prawnie chronić cię przed piratami próbującymi zgrać linię kodu na linię.

Jeśli poważnie podchodzisz do tej pracy, pokaż jej fragmenty lub fragmenty kodu. Poinformuj ich, co robisz logicznie, bez ujawniania tajemnic handlowych. Jeśli ćwiczysz dobry projekt w kodowaniu, zobaczą go w twoim kodzie.

lokówki
źródło
0

Czy jestem po prostu paranoikiem? Czy to uzasadniona obawa?

Myślę, że prawdopodobnie jesteś paranoikiem. Lub najemnik. Lub oba.

Martwisz się o coś, co najprawdopodobniej nie będzie miało żadnej istotnej wartości 1 .

Skomentowałeś w ten sposób:

Czy to naprawdę ma znaczenie? Wartość nieodłączna jest taka sama, jeśli wynosi cztery minuty lub cztery dni.

Eee ... to nie jest realistyczne. Dwuwierszowy program „witaj świecie” to nie to samo, co coś, nad czym spędziłeś dni, tygodnie lub miesiące. Ale tak czy inaczej, rzeczywista wartość tego kodu (tj. Potencjał do zarabiania pieniędzy) dla Ciebie najprawdopodobniej wynosi zero. Jeśli robisz zamieszanie z powodu problemów związanych z własnością intelektualną, potencjalny pracodawca prawdopodobnie uzna to za znak przyszłych wydarzeń.

A jeśli chodzi o etykę, oczywiście mają uzasadnioną potrzebę zobaczenia, jak zaimplementowałeś kod. Jak jeszcze ocenią jakość twojej pracy? Mają także moralny obowiązek traktowania twojego kodu jako własności. Ale nie potrzebujesz umów prawnych i innych podobnych rzeczy. To po prostu strata czasu każdego na trywialny wysiłek.


Przypis 1 - Wyjątkiem jest sytuacja, w której rozwiązanie problemu „pracy domowej podczas rozmowy kwalifikacyjnej” zawiera dużą część prywatnego kodu, nad którym spędziłeś miesiące / lata, i że masz realistyczne plany zarabiania na tym. Jeśli tak jest, nie powinieneś używać go w pytaniach „praca domowa”.

Żaden pracodawca nie chce zatrudniać programisty tylko po to, by wdawać się w bójki o to, kto jest właścicielem praw własności intelektualnej do krytycznego kodu, który mógł zostać napisany przez programistę poza godzinami pracy. A jeśli Twoja efektywność jako programisty zależy od tego, jak korzystasz z własnego prywatnego kodu, wtedy twój pracodawca będzie miał poważne problemy, jeśli / kiedy przejdziesz dalej.

Stephen C.
źródło
-3

Tak, imma chime za 2 lata później, na wypadek, gdyby ktoś natknął się na to podczas wyszukiwania Google, tak jak ja.

Po prostu to prześlę. Jakiego sklepu informatycznego zajmuje się ich programowanie, nakłaniając rozmówców do wykonania dla nich pracy? To tylko wstecz. Jeśli twój kod jest wystarczająco dobry, aby go użyć, prawdopodobnie zatrudnią cię, aby napisać więcej. Dlatego przeprowadzają z tobą wywiady ... aby dowiedzieć się, czy Twój kod jest wystarczający do ich zastosowania. To nie jest tak, że przesyłasz kod źródłowy do czegoś, co napisałeś dla kogoś innego ... nie jesteś właścicielem jego bazy danych ani ich produktów, więc co to dla Ciebie? Nawet jeśli ukradną ci kod, to cię nie skrzywdzi. Naprawdę nie masz nic do stracenia oprócz czasu, który ... i tak to stracisz. Jeśli nie planujesz dać im kodu, po prostu całkowicie odejdę od potencjalnego klienta. Jeśli to ich proces, że „ to ich proces. Nic nie zyskasz, nie dając im kodu.

Shonenknife
źródło