Invia codice durante l'intervista [chiuso]


20

Sto intervistando per una posizione in una startup su Internet. La posizione riguarda l'esecuzione del data mining sul loro enorme database di informazioni sugli utenti. Nell'ambito della procedura di colloquio (interurbana) che prevede l'esame di un sottoinsieme del loro database, mi hanno chiesto di inviare il codice che ho usato per l'analisi.

La mia principale preoccupazione è che questo codice sia "proprietario", per mancanza di una parola migliore. Non ho problemi a dare loro tutto il mio codice se finisco per lavorare per loro, ma considerando che potrebbero potenzialmente prendere il codice, non assumermi, e usarlo sul loro database più grande per generare entrate, sono titubante. Sono solo paranoico? È una preoccupazione legittima?


8
quante ore hai trascorso scrivendo questo codice?
Matthieu,

1
Importa davvero? Il valore intrinseco è lo stesso se è di quattro minuti o quattro giorni.
dharel,

8
Penso che la domanda di Matthieu sia valida, in realtà. Ignorando per un momento che alcune persone possono fare in un'ora cosa potrebbe volerci un altro a settimana, sarei molto sospettoso se ti chiedessero di svolgere un compito che richiederebbe un lavoratore medio più di un paio d'ore.
David Ruttka,

2
Che ne dici di mettere una licenza restrittiva sul codice prima di inviarlo?
fejd,

4
@dharel: per me lo sarebbe. più di un certo tempo sembrerebbe quei tirocini non retribuiti in cui vi è la promessa di un lavoro in cambio di lavoro gratuito e non come un normale processo di intervista.
Matthieu,

Risposte:


30

Se vuoi il lavoro e se questo è il loro processo, probabilmente dovrai inviarlo. Penso che tu sia saggio considerare la possibilità che possano "rubare" il tuo codice e avrai lavorato gratuitamente. Tuttavia, se il tuo codice funziona e li impressiona, probabilmente ne vorranno di più.

Dovresti anche valutare i potenziali guadagni derivanti dalla conservazione del codice per te stesso rispetto al rilascio per ottenere il lavoro.


3
Mi piace quella risposta. Se è specifico per il loro database, che altro hai intenzione di fare con esso? Annotalo come prezzo per l'intervista. Inoltre, è probabile che non ti lascerai a bocca aperta con il tuo genio ... Non essere cattivo, ma conosco abbastanza gente del genere per sapere che non cercano mai lavoro o interviste.
Satanicpuppy,

@satan - :) nessuna offesa, dubito che lo sarò anch'io.
dharel,

1
@dharel - Personalmente non vorrei iniziare. Se fosse un'azienda affermata, i rischi sarebbero inferiori. Ma sono stato bruciato dai consulenti che cercavano di capire un problema mettendo in scena una falsa intervista, facendomi scrivere un codice per fare ciò di cui avevano bisogno, senza mai più sentirli. Ho scoperto da qualcun altro in azienda che hanno implementato almeno una versione della soluzione che ho fornito.
SoylentGray

17
amico se stanno ottenendo il loro miglior codice da una falsa intervista saranno comunque affondati entro un anno.
Kevin,

2
Se prendono il tuo codice ed eseguono, non vuoi lavorare comunque per loro ..
Styler

7

Di solito non mi interessa se non è ovvio che stanno cercando di ottenere un lavoro gratis. Scrivere un po 'di codice usando dati "live" o simili va bene, ricevere un'attività dal backlog del prodotto e ci si aspetta che venga implementato gratuitamente come "esempio" è sottovalutato ed è allora che dovresti rifiutare (o inviare loro un fattura in seguito).

Usa il tuo giudizio sulla questione, ma se il lavoro ne vale la pena, non sarei troppo preoccupato fintanto che non stanno palesemente cercando di farti fare un vero lavoro senza pagare.


5

Se ci mancano solo due ore, puoi aspettarti che i loro programmatori possano farlo più velocemente e molto probabilmente hanno trascorso più tempo a fare le interviste e a trovare un lavoro interessante da fare per te di quello che potrebbero mai guadagnare rubando il tuo codice. La tua domanda sarebbe pertinente solo se hai scritto una quantità molto grande di codice o hai avuto qualche conoscenza del dominio che non hanno se stessi. Il furto di lavoro inizierebbe a pagare solo se si ottiene almeno diversi giorni di codice professionale da ciascun intervistato. E non sai mai in anticipo se il codice avrà una buona qualità.


4

Dovresti lasciar perdere questo lavoro. Scherzi a parte - se davvero pensi che ci sia anche una possibilità su dieci che la società sia così malvagia da realizzare un piano per ottenere lavoro gratuito attraverso un processo di assunzione fasulla, c'è chiaramente una mancanza di fiducia tra te e loro. Se non puoi fidarti di loro con un paio d'ore di lavoro, come puoi fidarti di loro con il tuo sostentamento?

In alternativa, prova a guardarlo dal loro punto di vista: ti assumeresti senza una certa misura del tuo livello di abilità?


3

Ho inviato piccoli frammenti di codice che hanno impiegato solo un paio d'ore per scrivere ma hanno risolto due volte un vero problema per le persone. Entrambe le volte non ho ottenuto il lavoro. Entrambe le volte non sono sicuro che ci fosse davvero un lavoro.

Nel tuo caso potresti avere il vantaggio che se mai scoprissi il tuo codice nel loro prodotto probabilmente avresti un ottimo caso contro di loro in una causa, quindi prima di inviarlo, se lo fai, forse dovresti fare qualcosa per permetterti di dimostrare l'hai scritto e quando l'hai scritto.


2
Espandersi - negli Stati Uniti, almeno, questo può essere semplice come stamparlo e spedirlo a te stesso (ma non aprirlo!). In questo modo si ottiene una copia cartacea sigillata e un record della data sostenuto dal governo.
Shauna

1

Non perdere troppo tempo a lavorare sul codice durante il processo di assunzione (ovvero più di un giorno) perché è essenzialmente un lavoro gratuito per il tuo potenziale datore di lavoro. Se ciò accade, non agiscono in modo molto professionale e dovresti considerare di scappare delicatamente da loro.

Di solito durante questo tipo di interviste, in cui invii codice per risolvere un piccolo problema specifico, è solo stupido presumere che tu abbia dei problemi. Perché?

  • Se è il codice che hai scritto per un problema molto specifico, da buttare via e il codice potrebbe dover essere sottoposto a refactoring per essere comunque utile.
  • Nelle aree geografiche in cui sono in vigore i brevetti software, potrebbe essere comunque soggetto a violazione dei brevetti e nessuna quantità di copyright ti proteggerà dalle tattiche intimidatorie utilizzate dagli avidi avvocati. (Dichiarazione di non responsabilità: non sono un avvocato.)

0

Se sei preoccupato per le persone che rubano il tuo codice, la migliore protezione contro di esso è di licenziarlo utilizzando le licenze Creative Commons . Personalmente sceglierei Attribution-NoDerivs 3.0 Unported . Tuttavia non impedirai mai alle persone di guardare il tuo codice e riscriverlo, questo è il giubbotto in Kevlar che puoi indossare per proteggerti legalmente dai pirati che cercano di strappare la tua linea di codice per riga.

Se sei serio riguardo a questo lavoro, mostra loro parti e punti salienti del codice. Fai loro sapere cosa stai facendo logicamente senza rivelare i tuoi segreti commerciali. Se pratichi un buon design nel tuo codice, lo vedranno per primo nel tuo codice.


0

Sono solo paranoico? È una preoccupazione legittima?

Penso che tu sia probabilmente paranoico. O mercenario. O entrambi.

Ti preoccupi di qualcosa che è altamente improbabile che abbia un valore intrinseco significativo 1 .

Hai commentato così:

Importa davvero? Il valore intrinseco è lo stesso se è di quattro minuti o quattro giorni.

Ehm ... questo non è realistico. Un programma "ciao mondo" a 2 righe non è lo stesso di qualcosa su cui hai passato giorni, settimane, mesi a lavorare. Ma in entrambi i casi, il valore reale di questo codice (ovvero il potenziale per fare soldi) per TE è molto probabilmente pari a zero. Se si agitano le questioni relative alla proprietà intellettuale, è probabile che un potenziale datore di lavoro lo prenda come un segnale delle cose a venire.

E dal punto di vista etico, ovviamente hanno un legittimo bisogno di vedere come hai implementato il codice. In quale altro modo valuteranno la qualità del tuo lavoro? Hanno anche l'obbligo morale di trattare il tuo codice come proprietà. Ma non hai bisogno di accordi legali e cose per qualcosa del genere. È semplicemente una perdita del tempo di tutti per una quantità banale di sforzi.


Nota 1 - L'eccezione sarebbe che se la tua soluzione al problema dei "colloqui con i compiti" includesse un ampio corpus di codice privato che hai impiegato mesi / anni a sviluppare e che hai piani realistici per trarne profitto. In tal caso, non dovresti utilizzarlo nelle domande "intervista a casa".

Nessun datore di lavoro vuole impiegare un programmatore solo per litigare su chi possiede i diritti di proprietà intellettuale per il codice critico che può o non può essere stato scritto da detto programmatore al di fuori dell'orario di lavoro. E se la tua efficacia come programmatore dipende dall'uso di un sacco di codice privato, il tuo datore di lavoro avrà grossi problemi se / quando "vai avanti".


-3

Sì, imma carillon dopo 2 anni nel caso qualcuno si imbatti in questo in una ricerca su Google come ho fatto io.

Lo vorrei solo inviare. Che tipo di negozio IT fa la loro programmazione inducendo gli intervistati a fare il loro lavoro per loro? Questo è solo al contrario. Se il tuo codice è abbastanza buono da poter essere utilizzato, probabilmente ti assumeranno per scriverne di più. Ecco perché ti stanno intervistando ... per scoprire se il tuo codice è abbastanza buono per la loro applicazione. Non è che stai inviando il codice sorgente per qualcosa di proprietario che hai scritto per qualcun altro ... non possiedi il loro database o i loro prodotti, quindi a te cosa serve? Anche se rubano il tuo codice, questo non ti farà del male. Non hai davvero niente da perdere se non il tuo tempo, che ... lo perderai comunque. Se non hai intenzione di dare loro il codice, mi allontanerei del tutto dalla prospettiva. Se questo è il loro processo che ' s il loro processo. Non otterrai nulla non dando loro il codice.

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.