Dovresti conservare una copia di tutto il codice che scrivi? [chiuso]


197

So che la compagnia per cui lavori possiede il codice e ovviamente verrai arrestato se provi a venderlo. Ma è raro che gli sviluppatori conservino una copia personale del codice che hanno scritto (per riferimento futuro)?

Apparentemente questo ragazzo è stato mandato in prigione per aver copiato il codice sorgente.


13
potrebbe essere un grave problema legale se in qualche modo lo vendi / riutilizzi alla società concorrente.
EL Yusubov,

19
Si noti che nell'articolo collegato, è un caso piuttosto specifico mentre si allontanava con il codice che molto probabilmente era coperto dagli NDA (considerando il cliente), e anche se non lo fosse, non sono sicuro che ne approfitterò di andarsene con il codice che è stato sviluppato per la pazza Banca Federale ! Non devi avere tutto lì se pensi che nulla possa andare storto con quello e che non ci saranno almeno alcune persone influenti a cui questa idea non piacerebbe affatto se sentissero che hai portato il codice con te .
Hayylem,

10
Supponendo che fosse un lavoro a noleggio e che il tuo ex datore di lavoro sia quindi proprietario del copyright sul codice che hai scritto per loro e non lo abbia rilasciato come open source, direi che conservare copie del codice che hai scritto è esattamente inappropriato come mantenere copie del codice scritto dai tuoi colleghi.
Keith Thompson,

37
@DavidPeterman - perché un datore di lavoro che ti ha assunto non possiede tutto ciò che fai per loro? Pensi che parte della tua casa appartenga al falegname che ha fatto l'inquadratura?
Reactgular,

10
@MathewFoscarini Capisco quello che stai dicendo, ma sto parlando degli algoritmi. Sarebbe come dire che il falegname non possiede i passi che fa per costruire la casa
David Peterman,

Risposte:


303

Ma è raro che gli sviluppatori conservino una copia personale del codice che hanno scritto (per riferimento futuro)?

Non so quanto sia comune, ma comune o no, è ancora una cattiva idea.

I programmatori spesso operano nella mentalità secondo cui risolvere lo stesso problema due volte è una perdita di tempo. Cerchiamo di progettare il nostro codice in modo che sia riutilizzabile (a volte). Costruiamo librerie di classi e funzioni da riutilizzare in futuro. A volte diamo anche via il nostro codice in modo che nessun altro dovrà mai scrivere codice per risolvere lo stesso problema che abbiamo appena fatto. Quindi può essere comprensibile voler portare con te il "tuo" codice quando passi da un lavoro a un altro. Ma non dovresti ancora farlo, per i seguenti motivi:

  1. Non è il tuo codice da prendere.

  2. Il codice che hai scritto per il tuo ex datore di lavoro fa parte dell'attività che ha costruito. Il loro codice fa parte del loro vantaggio competitivo. Certo, i concorrenti potrebbero scrivere il proprio codice per risolvere lo stesso problema, ma non dovrebbero trarre vantaggio dal lavoro che il datore di lavoro ha pagato, possiede e non ti ha autorizzato ad accettare.

  3. Se hanno alcun senso, il tuo nuovo datore di lavoro non vuole alcuna parte del codice che hai preso dal tuo ex datore di lavoro. Più "fai riferimento" al lavoro svolto per un precedente datore di lavoro, più metti a rischio il tuo nuovo datore di lavoro.

  4. Se mai casualmente lasciati sfuggire a New Employer che hai ancora una copia delle cose che hai fatto per Old Employer, il tuo capo di New probabilmente si renderà conto che prenderai una copia del loro codice quando parti per qualche altro lavoro. Potrebbe non stare bene con lui o lei.

  5. Anche se non stai paralizzando le linee reali o solo vaghe idee dalle tue vecchie cose, solo avere le tue vecchie cose in tuo possesso potrebbe sollevare il sospetto che potresti usarlo per qualcosa. Immagina che il vecchio datore di lavoro citi in giudizio il nuovo datore di lavoro e come uno dei pochi impiegati che si sono trasferiti dal vecchio al nuovo, improvvisamente ti ritrovi a fare una deposizione. Nessuno di voi ha effettivamente copiato il codice di Old nel prodotto di New, ma l'avvocato di fronte a voi chiede: "Mr. SuperFoo, adesso o ti ha in qualsiasi momento da quando hai lasciato Old Employer aveva in tuo possesso una copia di qualsiasi codice che tu o qualcun altro ha scritto mentre lavorava in Old Employer? "

  6. Non hai bisogno del codice che hai scritto il mese scorso, l'anno scorso o più tempo fa. Hai risolto il problema una volta e ora sai come risolverlo di nuovo. Oppure potresti sapere come non risolvere il problema: la tua nuova implementazione sarà migliore perché hai esperienza.

  7. Ci sono modi migliori. È difficile tornare indietro e imparare qualcosa di utile leggendo il vecchio codice fuori dal contesto. Un diario o un diario che descriva ciò che apprendi, le idee che hai, ecc. È molto più utile in seguito.

  8. Anche se vecchio datore di lavoro sa che hai il loro codice ed è d'accordo con questo, è ancora non lo vuoi! L'unica cosa che può capitare di averla è una telefonata alle 3 del mattino: "Ehi, SuperFoo? Come va? Senti, hai una copia delle nostre cose, giusto? Senti, abbiamo un problema con il sistema, e l'abbiamo ridotto a un paio di file che hai scritto che il nostro nuovo ragazzo non capisce. So che è tardi, ma potresti guidarlo attraverso SuperDuper.pl? "

Lasciarlo andare. Non ne hai bisogno.


7
Inoltre, se i media su cui conservi il contenuto vengono persi o rubati, è un sacco di problemi. A dire il vero, preferisco evitare di avere qualsiasi tipo di connettività VPN o fonti sui miei PC personali, se possibile. Il tuo PC potrebbe far parte della botnet senza che tu lo sappia, perché rischiare?
Coder

8
Risposta eccellente! Mi è stata effettivamente offerta una copia del codice (o accesso continuo) quando ho lasciato il mio vecchio datore di lavoro. Ho rifiutato, esattamente per ragioni vicine al numero 8. Dopotutto, c'era una ragione per dimettersi da loro. Se avessi ancora voglia di sborsare per loro, sarei rimasto :)
Harald

79
+1: Non ne hai bisogno La parte difficile è capire cosa scrivere, non effettivamente scriverlo. Se lo scrivi una seconda volta, probabilmente sarà anche meglio.
Kevin Cline,

6
Quando risolvo un problema con il mio codice, tendo a scrivere la soluzione su un blog. Non codice sorgente dal mio lavoro, ma codice generico che segue lo stesso schema (una riga o poche righe per raggiungere l'obiettivo, non i colossi del codice). Trovo che questo sia un ottimo metodo per memorizzare ciò che ho imparato in precedenti lavori. +1 per il proiettile # 7!
Gaʀʀʏ

11
Non dovrebbe esserci una soglia di qualche tipo per la quantità di codice che si qualifica? Se uso for (int i=0; i < N; ++i)nel mio codice, sicuramente non è illegale usarlo altrove in un'altra società ...
vsz

159

Tengo sempre una copia del codice che scrivo e lo prendo tra i lavori. I datori di lavoro successivi non riescono mai a vedere / eseguire il codice, ma lo uso come riferimento a casa: "Ah sì, non ho fatto qualcosa di simile a quello sul Progetto X?".

È legale? Dipende dalla giurisdizione e dalle circostanze, ma è abbastanza comune. Moralmente, non ho alcun problema, a condizione che tu non stia semplicemente dando codice ai nuovi datori di lavoro ... È un promemoria e una dimostrazione di ciò che hai fatto, piuttosto che una risorsa gratuita per il tuo datore di lavoro.

[Il rovescio della medaglia di questo è l'inevitabile vergogna che si presenta quando si guarda il codice più vecchio: 'Che cosa stavo pensando ?? Perché mai l'ho fatto in quel modo ?? ']


35
+1 E non è nemmeno rilevante se è legale. Molti di noi lo fanno comunque. Non danneggia il tuo precedente datore di lavoro (non stai vendendo il codice a un concorrente) e non può essere regolato comunque. In un certo senso, se "ricordi" come hai risolto un problema per un precedente datore di lavoro, stai "rubando" questo segreto per loro - in un modo che non può essere regolato fino a quando non inventano il controllo mentale;)
Andres F.

89
@AndresF. Non è altro che una razionalizzazione. Il codice è di proprietà del tuo vecchio datore di lavoro, i tuoi ricordi no. Se ricordi come hai risolto un problema non hai bisogno del codice, quindi che senso ha prenderlo?
Caleb,

10
+1 per fare l'argomento morale. Personalmente seguo questo, principalmente perché la maggior parte del mio codice non è specifica del dominio. Ricordo come ho risolto qualcosa, ma non necessariamente le sfumature di esso.
Telastyn,

46
Nel caso di un'accusa di furto di proprietà intellettuale da parte dell'azienda, avere una copia del codice rappresenterà un grave fattore aggravante nei tuoi confronti. Non averne il ricordo. Questa è la differenza
Oleksi,

13
@Caleb Indipendentemente da ciò, molti sviluppatori prendono pezzi di codice dopo che se ne sono andati. Questa è un'azione completamente separata dall'uso di questo codice per competere o ferire il tuo vecchio datore di lavoro, e di solito viene preso come riferimento, come in "come diavolo ho risolto questo problema / configurato prima questo software? Rail contro tutto vuoi, ma è ancora una pratica diffusa e non fare del male a nessuno. Puoi seppellire le tue teste collettive nella sabbia o affermare che è sbagliato, ma succede ancora. Soprattutto con l'outsourcing / offshoring - se pensi che non lo faccia succede, ti aspetta una sorpresa!
Andres F.

51

Si tratta di una molto cattiva idea. Quel codice non ti appartiene (legalmente parlando) e il possesso di esso può metterti nei guai. Ciò diventa ancora più vero quando si passa a un nuovo lavoro e si mantiene comunque quel codice sorgente. Ancora peggio se è un concorrente. La tua azienda non sarebbe felice se tu avessi accesso al loro codice sorgente quando non lavori più per loro.

Si tratta solo di gestire il tuo rischio. Ovviamente si prevede che conservi le cose di un precedente datore di lavoro che puoi usare altrove. Questo è il motivo per cui fanno firmare clausole di non concorrenza che durano X mesi / anni dopo che li hai lasciati, tuttavia avere il possesso del codice ti rende più vulnerabile a qualcuno che ti accusa di copiare palesemente il codice dell'azienda (anche se non lo hai fatto, e ho appena usato le stesse idee). Avere il codice vale la pena gestire questo rischio?

Sicuramente le cose utili che hai ottenuto scrivendo il codice non sono la sintassi esatta; è la conoscenza che hai acquisito. Probabilmente non vale la pena occuparsi di tutte queste cose legali.


9
Non è una cattiva idea, a meno che non ci siano severi controlli di sicurezza nel tuo ufficio (come vietare e-mail e pendrive). Nessuno cercherà comunque attraverso il tuo computer di casa, e si capisce che gli sviluppatori tolgono conoscenza ai loro lavori passati. Non puoi impedirlo, e sarebbe irragionevole farlo, sia che il codice sia "ricordato" o copiato alla lettera. Quello che puoi fare come datore di lavoro è non applicare clausole di concorrenza o NDA o qualsiasi meccanismo legale disponibile nel tuo paese.
Andres F.

14
@Malfist No, non lo fai. IANAL, ma è abbastanza noto che, almeno negli Stati Uniti, i prodotti di lavoro che qualcuno ti paga per creare sono di sua proprietà, non tuoi. Vedi lavoro a noleggio su Wikipedia.
Caleb,

5
@Malfist Ancora una volta, no. Vedi il link nel mio commento precedente.
Caleb,

4
@Malfist: "se sei l'unico sviluppatore e non ti hanno fatto rinunciare al tuo copyright, puoi portare il codice con te quando lasci (lo faccio sempre)". Non sono sicuro che i tuoi contratti riflettano la maggior parte della realtà però. La maggior parte dei contratti per il noleggio di software afferma esplicitamente che è necessario consegnare tutti i file binari e di origine e passare loro la proprietà e il copyright. Che è abbastanza normale per il freelance. Puoi negoziarlo, ma sono praticamente delle clausole di fatto che mi aspetto di vedere nei contratti (sia per i contratti interni che per quelli indipendenti).
Hayylem,

5
Consideriamo ipoteticamente uno sviluppatore che ricorda ogni singola riga che ha scritto durante la sua carriera. Sarebbe illegale se usasse questa memoria mentre lavorava su progetti futuri? Perché stai facendo distinzioni tra ricordare il tuo codice e salvarne una copia nel tuo hd privato? Se ti è permesso prendere esempio dalla tua esperienza, dovresti essere anche se è scritto sul tuo quaderno invece di essere memorizzato nel tuo cervello. E se non ti è permesso rileggere il tuo vecchio codice, che hai salvato sul tuo PC, non dovresti nemmeno permetterti di "ricordarlo", il che ovviamente non ha senso.
Nadir Sampaoli,

36

Non è raro.

Ho una copia di quasi 1 ogni pezzo di codice che ho scritto professionalmente, e sicuramente tutto il codice dei miei progetti attuali, indipendentemente da chi lo ha scritto 2 . Insieme al codice ho una grande pila di documenti legali che definiscono chiaramente cosa posso e non posso farci. Il solo fatto di avere il codice non equivale a provare a trarre profitto dal codice.

Detto questo, è un problema legale e le questioni legali tendono ad essere estremamente complicate e localizzate. In caso di dubbio, devi davvero parlare con un avvocato. Potrei mantenere il mio codice in giro, ma sono sicuro al 99% che non mi metterò nei guai per farlo.

1 Quello che manca è soprattutto ciò che non mi importava di archiviare. Manca solo un codice di un piccolo progetto per motivi legali.
2 Natura dei progetti e ruolo in essi, sono uno dei ragazzi che devono avere almeno un'idea di ciò che accade, anche se non sono stato coinvolto nella costruzione di un modulo specifico.


4
@haylem Non sono mai nei locali dell'azienda;)
yannis

3
ma sono sicuro che sai cosa intendevo dire e che probabilmente non importa molto dove ti trovi fisicamente :)
haylem

3
Ho sentito uno sviluppatore parlare in una conferenza di WordPress e ha detto qualcosa del tipo "Se lavoro in appalto per te, mi assicuro che tu sia il proprietario del codice che scrivo per te, ma ciò non significa che non ho imparato nulla nuovo scrivendo il tuo codice ".
programmatore

3
@Caleb Avere la documentazione corretta potrebbe non essere comune (non lo so), tuttavia non credo che conservare copie del codice lo sia. Mi capita di avere entrambi;)
yannis il

2
@Krelp, le chiavi di crittografia, come le chiavi delle cassette di sicurezza, possono essere richieste tramite una citazione.
Malfist,

29

Vedo il tuo cinese arrestato e ti allevo con un "codice non è proprietà, quindi non può essere rubato".

Rif .: codice "non proprietà fisica", norme del tribunale nel caso di spionaggio di Goldman Sachs

Detto questo.

  • Conservo il codice che scrivo? Assolutamente.
  • Mantengo progetti completi? Assolutamente.
  • Devo assicurarmi di guidare il mio codice con il pollice dal mio PC di lavoro su una macchina domestica? Scommetto!
  • Riutilizzo mai quel codice in un'altra azienda o in un progetto personale. No.
  • Guardo spesso il vecchio codice e vado WtF !? Tutto il tempo.

14
+1 Hehe, una risposta simpatica e onesta. La parte migliore è che è vero che in realtà non si torna mai al vecchio codice. Ti senti più sicuro se lo porti con te, per non rivederlo mai più nella tua vita!
Andres F.

Non è stato questo un grosso problema anche nel recente caso Oracle v Google?
robertc,

1
Totalmente d'accordo con te. Sto facendo lo stesso. È un ottimo riferimento.
Andrea Girardi,

2
il codice non è proprietà, quindi non può essere rubato è un terribile riassunto di quel caso Goldman Sachs. Il ragazzo russo è stato assolto, non perché non avesse fatto nulla di male, ma perché il suo furto non era qualificato ai sensi della legge che il pubblico ministero stava cercando di usare contro di lui. Ciò non significa che non abbia violato il suo contratto con GS, né abbia violato le leggi sulla proprietà intellettuale. Si prega di leggere l'articolo con più attenzione e forse prendere alcuni dei commenti qui sotto.
Nate,

Articolo correlato: Goldman Sachs ha fatto passi da gigante nel caricare penalmente il suo ex programmatore? . Questo è anche un buon esempio del fatto che anche se alla fine vinci, la stessa battaglia legale può fare molto male.
CodesInCos

10

Ecco una semplice domanda per te. Vai dal tuo capo e digli: "Ho una copia di tutto il codice che ho scritto mentre lavoravo qui. Solo il codice che ho scritto, non altre persone. Questo è per la mia educazione e non lo distribuirò mai".

Le loro prossime azioni detteranno (sì, quella parola esiste in Nord America / Mondo) se hai torto o ragione ai loro occhi.

Indipendentemente dalla tua "etica", lavori per un datore di lavoro. Se ritengono che ciò che stai facendo sia sbagliato, allora è sbagliato in base alla loro etica. Mentre ti pagano e tu sei assunto da loro, allora è nella tua corte o essere d'accordo con loro, o in disaccordo, che potrebbe farti licenziare.

Ora è una questione di integrità. Ho lasciato che un precedente dipendente prendesse parte del nostro codice, ma prima ho controllato tutto.

Solo perché credi di avere ragione, non ti rende giusto. Di solito gli sviluppatori di software firmano contratti quando vengono impiegati. Se ne hai firmato uno, devi vivere secondo la tua parola.


"mentre ho lavorato qui" implica che la persona in questione non è più il tuo capo. Se è il tuo ex capo, perché dovrebbe interessarglielo?
Alexander,

Perché? I contratti? Integrità?
Ryan Ternier,

Puoi conservare il codice che hai scritto mentre non lo usi per nulla e comunque mantenere i tuoi contratti e mantenere la tua integrità.
Alexander

2
Se firmi un contratto che afferma che tutto il codice è di proprietà del tuo datore di lavoro, portarlo a casa costituisce una violazione di quel contratto se non sanno di averlo o ti hanno dato il permesso di averlo. È effettivamente un furto. Sì, è "codice", 0 e 1 digitali, ma nella maggior parte dei casi è in bianco e nero.
Ryan Ternier,

È la classica discussione "la pirateria è un furto".
Alexander,

8

è raro che gli sviluppatori conservino una copia personale del codice che hanno scritto

Rispondendo direttamente alla domanda, nelle mie esperienze dirò che non è comune. L' eccezione a ciò che ho visto sono le persone che fanno molto freelance e tengono a portata di mano il codice per i futuri progetti di manutenzione e miglioramento dei loro clienti, e immaginerei che questo sia chiaramente indicato nel contratto (anche se non sono in l'abitudine di rivedere i contratti freelance dei miei amici, quindi chi lo sa). Le persone che conosco che lavorano in aziende più grandi non hanno mai ammesso di mantenere il codice degli ex datori di lavoro.

So che non lo farei perché non riesco a pensare a un'unica situazione in cui sarebbe utile (per non dire che sono abbastanza sicuro che il mio attuale datore di lavoro proibisca tali cose - dovrei solo cercare i documenti per essere certo ). Il codice che ho scritto / corretto di solito è così specifico per un particolare requisito aziendale che non riesco a immaginare che possa mai ripresentarsi in futuro in modo tale che sarebbe più facile riutilizzare il vecchio codice piuttosto che scrivere nuovo codice.


3
Come libero professionista, terrò tutto il codice. Riutilizzarlo è estremamente improbabile, ma alla fine manterremo, lo terrò (ad esempio se il datore di lavoro assume qualcun altro che rovina il codice e mi assume di nuovo per risolverlo).
Camilo Martin,

1
Nel mio freelance trovo che c'è molto codice che viene comunemente riutilizzato. Quante volte finisco per scrivere lo stesso codice di accesso dell'utente prima di riutilizzarlo. Mentre tengo il codice in giro per manutenzione, le aree comuni di codice vengono in genere copiate. Se ho trovato un codice sostanzialmente identico tra due progetti, ne faccio una copia in forma generalizzata e lo copierò in altri progetti, se necessario.
Chris,

8

Ai tempi era comune per gli sviluppatori avere la loro libreria personale di routine che avrebbero usato per risolvere i problemi nel lavoro attuale. La fonte sarebbe rimasta indietro quando lo sviluppatore se ne fosse andato, ma anche eventuali miglioramenti andavano con lui.

Ciò ha comportato una situazione vantaggiosa per tutti. Era anche solo un sottoinsieme di tutto il codice scritto.

Naturalmente la maggior parte di ciò che era nelle biblioteche personali sarebbe oggi nelle biblioteche standard.


In alcuni ambienti, esiste una chiara delimitazione tra codice libreria o componente o classi esplicitamente progettate per il riutilizzo (parser, ecc.) E quelle specifiche del dominio del problema. Il codice specifico per il dominio del problema (la principale app in-house o entità commerciale di XWare) potrebbe non essere utile al di fuori di quel luogo, ma il componente / le librerie di basso livello o riutilizzabili potrebbero effettivamente essere molto utili.
Warren P,

6

In base al rapporto tra datore di lavoro e dipendente nella maggior parte del Nord America, è illegale trasferire o trasmettere materiale digitale (ad esempio codice sorgente) dalle apparecchiature del datore di lavoro senza previa autorizzazione legale da parte del datore di lavoro.

Parte delle leggi legali relative alla definizione di un dipendente sul posto di lavoro, è la descrizione che il dipendente non fornisce le proprie attrezzature di lavoro se non diversamente indicato nel contratto del dipendente, ad eccezione delle operazioni che richiedono che il dipendente acquisti la propria attrezzatura (es. operaio edile).

La maggior parte delle leggi sul lavoro in Nord America definisce il datore di lavoro come il principale responsabile del rischio in un rapporto dipendente-datore di lavoro. Il dipendente viene pagato per il suo tempo mentre il datore di lavoro fornisce materiali, attrezzature e controlla le attività lavorative del dipendente.

A che ora durante questa relazione è corretto rubare materiale prezioso dal datore di lavoro, che ha pagato e rischiato di aver creato il materiale?

Il problema chiave con questo era la domanda "codice sorgente che hai scritto?". No signore, non sei stato tu a scriverlo. Sotto la guida del tuo datore di lavoro sono loro a scriverlo. Sei solo la mano assunta che l'ha scritta. Non esiste un tribunale del Nord America che si schiererà con te qualora il tuo datore di lavoro intraprenda azioni legali per garantire la propria proprietà. Basta copiare il codice sorgente su una chiavetta USB per portarti in acqua calda.

Detto questo, se un datore di lavoro ti ha permesso di utilizzare la tua attrezzatura (ad esempio un laptop) o di trasmettere il materiale, allora è una questione diversa. Il datore di lavoro deve notificare al licenziamento che qualsiasi materiale deve essere restituito / distrutto.

Ho pensato di pubblicare questa risposta, perché sembra che alcune persone pensassero che si trattasse di un'area grigia. Non credo davvero che se sei uno sviluppatore, dovresti andare in giro per la pubblicazione su Internet di conservare copie dei materiali del datore di lavoro. Voglio dire, chiaramente conoscevi già la risposta a questa domanda perché hai creato un nuovo account membro solo per porre questa domanda. ;)


Il datore di lavoro deve notificare al licenziamento che qualsiasi materiale deve essere restituito / distrutto. È davvero vero? Il datore di lavoro ha l'obbligo legale e / o contrattuale di farlo?
Radu Murzea,

Il datore di lavoro non ha l'obbligo legale di farlo, ma può richiedere in qualsiasi momento la restituzione di qualsiasi materiale che gli appartiene da un dipendente, a meno che non esista un accordo tra il datore di lavoro e il dipendente che consenta al dipendente di conservare tale materiale.
Reactgular,

5

L'ho fatto in passato alcuni lavori fa.

Tuttavia non sono mai tornato indietro e l'ho guardato. Occasionalmente ho riutilizzato idee e cose che ho imparato, ma non ho trovato una volta un motivo per tornare indietro e guardare il codice.

Quindi non mi preoccuperei più. È legalmente discutibile e in realtà non l'ho mai trovato utile.


4

Sicuro. Mi piace conservare una copia di tutto il lavoro che faccio, che si tratti di scrivere codice o altro. Chiamalo un album, se vuoi. Rompere le regole? Forse.

I commenti sul vantaggio competitivo sono irrilevanti a meno che il tuo prossimo datore di lavoro non sia un concorrente diretto. Se passi da una compagnia telefonica a una software house o da uno sviluppatore di giochi a uno sviluppatore di database, non importa. Se stai pianificando di riutilizzare il codice, beh, questa è una storia diversa.

È interessante notare che spesso si sente parlare di sviluppatori Web che portano con sé una "scatola di strumenti", con un set standard di librerie JavaScript e fogli di stile CSS . Ma non ho visto quello menzionato qui.


3

Di recente ho cancellato tutto il vecchio codice che avevo conservato dal mio precedente datore di lavoro. Conservavo solo pezzi di codice che pensavo fossero buoni per riferimenti futuri. In realtà ho scoperto che sono passato molto da quando sono partito e non ho mai fatto riferimento al vecchio codice. Ho trovato / scoperto / imparato modi molto migliori per risolvere gli stessi problemi.

È stato un bel viaggio nella memoria però :)


2

Penso che ci debba essere una distinzione tra un modello di progettazione e un codice reale (copia riga per riga)

Annotare qualche codice psuedoc qualcosa di simile - questo è un ottimo modo per caricare pigro X in Y è una cosa. Annotare tutto il codice è qualcos'altro.


1

Con il permesso del datore di lavoro, pubblica il codice riutilizzabile come progetti open source che possono essere utilizzati da altre persone. Quindi il tuo datore di lavoro può anche beneficiare dei contributi di altre persone a questo codice.

In questo modo puoi mantenere il codice legalmente, creare un portafoglio pubblico di codice che hai scritto e il codice può essere di beneficio ad altre persone.


1

Per un numero diverso di motivi, come lavorare da casa, potresti già averne una copia, e io per primo non andrei a cancellarli dopo un lavoro, perché? Non va contro le mie convinzioni o qualcosa del genere.

Ma, per quanto riguarda l'utilizzo, non è così utile come un post sul blog!

In conclusione: scrivi il tuo codice, blog sui problemi che hai affrontato e su come li hai risolti (soprattutto quando si tratta di cose generiche e generiche) e non ti dispiace conservare un souvenir (possibilmente crittografato) dall'ultimo lavoro.


1

In finanza il CFA affronta questo problema. Non è consentito acquisire informazioni relative ai clienti o al proprio lavoro per l'azienda (in questo caso il codice). Ma nulla ti impedisce di memorizzare ciò che puoi e di scriverlo più tardi.

Non sono sicuro di quanto sia legittimo, ma penso che la cosa migliore da fare sia lasciare il codice sorgente ma scrivere le tue idee e come l'hai fatto non appena torni a casa. Rubare è rubare e in tribunale tutto ciò che stanno cercando di scoprire è se hai copiato il codice o meno.


Tieni presente che alcuni datori di lavoro faranno del loro meglio per impedirti di "scrivere le tue idee" quando torni a casa. Lo scenario perduto per loro non è il codice copiato, ma la concorrenza contro di loro - e per questo, le idee sono molto migliori. Non sono sicuro che sia esecutivo, ma alcuni provano a farti intimidire pensando di possedere idee che potresti avere durante l'orario di lavoro.
Andres F.

1
@AndresF. Una volta ho lavorato presso un hedge fund che ha cercato di impedirlo. Onestamente non hanno potuto impedirlo, quindi hanno costretto le persone a firmare contratti di non concorrenza e hanno pagato per non lavorare per 1-2 anni dopo le dimissioni. Sebbene estremamente costoso (stai pagando 2 anni di stipendio a qualcuno che non lavora per te), rende la tua conoscenza viziata quando parti e inutile come minaccia competitiva.
Lostsoul,

+1 solo per idee e non per il codice. È stato coinvolto con una società che ha citato in giudizio un ex programmatore per aver rubato codice e venduto un prodotto simile. Il giudice ha stabilito che, poiché i bug erano identici, doveva aver rubato il codice.
jqa,

Ho visto molti datori di lavoro richiedere a un nuovo dipendente di concordare per iscritto che non si impegneranno in altre attività commerciali mentre sono impiegati dal datore di lavoro, e tutti gli altri progetti che il dipendente fa sul lato sono anch'essi di proprietà del datore di lavoro. Penso che questo argomento sia di per sé un'altra questione, ma questi accordi sono presenti nella maggior parte dei contratti di lavoro.
Reactgular,

@MathewFoscarini Sono d'accordo. Nella mia azienda richiediamo che i dipendenti abbiano l'approvazione scritta prima di impegnarsi in qualsiasi cosa ricevano un vantaggio (include progetti collaterali, attività di beneficenza, ecc.). Se aggiusti l'auto dei tuoi vicini e ti compra una birra, sarebbe di qualità anche se i dipendenti si rendono conto che molto probabilmente non la perseguiremo.
Lostsoul,

1

Se stai salvando il tuo codice con l'obiettivo di riutilizzarlo in seguito, ho due problemi con questo:

  • Se il codice è specifico del dominio, probabilmente è anche proprietario. Comunque, non esistono due aziende o problemi esattamente uguali e cercare di risolvere un problema con la soluzione per un altro non è un buon modello.

  • Se il codice che stai salvando risolve un problema comune, dovresti mettere in discussione il tuo approccio. Perché stai impegnando molto per risolvere un problema comune quando sono probabilmente esistenti (e migliori) soluzioni open source?

    Se ritieni di avere la migliore soluzione a un problema comune, dovresti davvero provare a condividere il codice pubblicamente su un repository pubblico e / o blog di codice quando lo scrivi, non tenerlo per te. Il tuo capo non dovrebbe opporsi alla condivisione di una biblioteca generica o forzarti a reinventare la ruota (se lo fa, trova un nuovo lavoro).

Se stai salvando il tuo codice perché vuoi mostrarlo a un potenziale datore di lavoro o per migliorare le tue competenze, ti suggerisco invece di contribuire a un progetto open source.


1
Il secondo elemento presuppone che ci sarebbe una soluzione open source, che è tutt'altro che certo. Ma soprattutto, parte del codice che ho conservato è il codice che dimostra come ho usato componenti / servizi di terze parti. Ad esempio, se sviluppo una soluzione di pagamento decente che si integra con Paypal, prenderò il codice a cui fare riferimento in seguito, quindi non ho bisogno di reinventare la ruota la prossima volta.
cjmUK,

0

Non ho ancora conservato alcun codice che ho fatto per i datori di lavoro. Roba da freelance che ho tenuto (può essere difficile supportare un cliente se perdo il mio codice).

Tuttavia, sto pensando di mantenere il codice che ho creato per questo datore di lavoro. Il motivo è che sono uno sviluppatore web e ho sviluppato molte cose sul lato client che sembrano piuttosto belle. Non li ho progettati, ma li ho implementati e spesso mi è venuta l'idea. Vorrei conservare una copia di queste cose per creare un portafoglio online. Come tutti sappiamo, i siti non durano per sempre, quindi non posso realisticamente contare sul fatto che il mio lavoro rimanga online. Avere una copia di backup mi permetterebbe di avere un portafoglio online.

So che i progettisti spesso conservano copie del loro lavoro (anche se era un lavoro a noleggio) per scopi di portfolio.

Non sono sicuro di quale sia la legalità di ciò (non è esplicitamente menzionato nel mio contratto).


4
but what are your thoughts on this?Per favore non invitare apertamente una conversazione sulla tua risposta introducendo un'altra domanda. Diteci se dovremmo conservare una copia di tutto il codice che scriviamo. Puoi migliorare la risposta modificandola.
maple_shaft

1
Penso che ci sia una differenza nel mantenere i file di origine originali (nel tuo caso file grafici come .ai o .psd) rispetto ad avere uno screenshot del prodotto finale per il tuo portafoglio. Dovresti comunque chiedere il permesso al tuo datore di lavoro, ma dovrebbero essere più graditi a quest'ultimo.
Sarel Botha,

Poiché il lavoro è spesso di natura interattiva, uno screenshot non lo taglierà per un portfolio. Ciò mostrerebbe solo il design (che per lo più non è mio). Potrei farmi una panoramica di me usando il lavoro in questione, ma ciò non trasmette ancora cose come latenza, prestazioni, compatibilità tra browser.
Xandor Schiefer,

0

Bene, per lo sviluppo della logica aziendale per la mia azienda, non riesco a conservare il codice perché è proprietà illegale e personale dell'azienda. Come sviluppatore, so come sviluppare quella logica, così posso mantenere quella logica nella mia mente. Fondamentalmente per impostazione predefinita è memorizzato nella tua mente, e se ne hai bisogno la prossima volta, allora automaticamente dovresti implementare la logica / logica migliore della precedente. È la natura e l'intelligenza umana. :)

Ma il problema si crea quando si sviluppa una logica di utilità, sono riutilizzabili e sempre importanti, potresti averne bisogno frequentemente in diversi progetti. Quindi dovresti voler tenerlo con te.

Ho una soluzione alternativa a questo. Basta creare un JAR senza origine / documentazione per l'utilità e aggiungerlo come JAR di terze parti esterno nel progetto. Probabilmente facendo questo puoi confermare la tua responsabilità e la tua autostima di avere il codice ;)


1
L'altro approccio per questo è che quando incontro un bit di codice utile / riutilizzabile che mi piacerebbe "portare con me" ... Torno semplicemente a casa e scrivo un post sul blog sulla particolare API o tecnica che ha interessato me. Questo post sul blog ovviamente non fa riferimento al mio datore di lavoro, né utilizza, riga per riga, il codice scritto sul mio dime di lavoro.
Joel Martinez,

Se ci sono regole, allora devono essere anti-regole. Che puoi usare a tuo favore. Sono tecniche diverse per raggiungere questo obiettivo. La cosa più importante è: mantenere il lavoro chiaro.
Soumyadip Das,

0

Non conservo il codice per un semplice motivo: la società mi ha pagato per scrivere il codice per loro. Io do loro il mio codice e loro mi danno il mio stipendio. Il tipo che ha preparato il mio pranzo non riesce a tenerne una parte per sé, perché il codice dovrebbe essere diverso?

Inoltre, prima di tutto, esco dal lavoro, tutti quei mal di testa rimangono lì, nuovo lavoro, nuovo inizio, ma con un po 'più di esperienza e comprensione dei tipi di problemi nel dominio di quel vecchio lavoro.

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.