Dev dovrebbe essere admin sul proprio computer? [chiuso]


35

In un ambiente aziendale, gli sviluppatori dovrebbero avere i diritti di amministratore sul proprio computer? Perché?

Ambiente tecnologico:

  • Windows 7
  • Visual Studio 2008 e 2010
  • server SQL




3
Sto votando per riaprire questo perché, nonostante la natura alquanto soggettiva della domanda, questo è uno di quasi tutti gli amministratori di Windows (non posso commentare su altre piattaforme) che affronteranno durante la sua carriera. Le risposte pubblicate finora forniscono informazioni che credo possano aiutare gli altri di fronte a questo problema.
John Gardeniers,

2
Se potessi votare per riaprirlo, lo farei.
jmort253,

Risposte:


52

Dovrebbero? Dipende dalla società. Personalmente penso che vada bene fintanto che ci sono alcune regole comprese.

  1. Essere amministratore sulla tua scatola è un privilegio NON un diritto.
    1. La cattura di virus in più occasioni farà revocare il diritto
    2. Disabilitando gli agenti aziendali verrà revocato il diritto: AV / inventario / distribuzione software / ecc
    3. Fondamentalmente se fai qualcosa che rischia la rete verrà revocata nel modo giusto
  2. Tutti gli strumenti installati non devono essere dipendenti dal progetto senza averli inseriti nell'elenco ufficialmente approvato. Chiedi di non arrenderti in crash nel giorno della distribuzione e richiedi che $ random_library sia installato su tutti i server senza test
  3. Per qualsiasi cosa al di fuori delle normali applicazioni installate ovunque, il supporto sarà lo sforzo migliore. L'help desk e / o gli amministratori di sistema non impiegheranno 5 ore a cercare di eseguire il debug dei conflitti di DLL.

18
Buona lista. Aggiungerei anche che se il prodotto alla fine verrà eseguito dagli utenti senza diritti di amministratore, sarà necessario testarlo di conseguenza (test di usabilità reale). Troppi sviluppatori eseguono il test del povero in cui testano sulla loro macchina di sviluppo su cui hanno i diritti di dio. Il prodotto funziona bene e gli danno un timbro di approvazione solo per sapere che soffoca in un ambiente non privato.
Shawn Anderson,

4
@Shawn, c'è un motivo per cui hai bisogno di tester e sviluppatori.
Ian Ringrose,

11
Questa è una tipica risposta dell'amministratore di rete che non capisce perché gli sviluppatori richiedono i privilegi di amministratore. Questo dovrebbe essere deciso da una persona di livello manageriale che ha gestito o è stato uno sviluppatore in passato. In caso contrario, manterrai le macchine libere da virus e l'ufficio libero dagli sviluppatori.
Muhammad Hasan Khan,

11
@Hasan e questa è una tipica risposta dello sviluppatore che non ha mai avuto a che fare con una rete infestata che satura un DS3 con il traffico che abbatte l'intero ufficio. Non ti sto chiedendo di fare nulla di così oneroso qui.
Zypher,

9
In una casa di sviluppo sei in affari grazie al software che il team di sviluppo sta sfornando. Ho lavorato in diverse aziende in cui le macchine erano bloccate a un livello tale da rendere impossibile il lavoro e abbiamo avuto difficoltà a convincere le persone che avevamo bisogno dei privilegi di amministratore per eseguire gli strumenti di sviluppo. O dove è stato interrotto l'accesso a Internet in modo che non potessimo nemmeno leggere la documentazione online. O un prodotto antivirus che ha scansionato tutti gli inserti dei record del database e quindi ha danneggiato così tanto le prestazioni che è stato impossibile per noi sviluppatori far funzionare correttamente il software.
Matt

35

In genere direi di sì. Cose come i debugger richiedono piuttosto alti se non i diritti di amministratore per funzionare correttamente. Gli sviluppatori devono spesso installare un software casuale che può richiedere giorni o settimane per essere installato quando si passa attraverso i canali. Durante quel periodo lo sviluppatore di solito il lavoro ha smesso di costare all'azienda nient'altro che denaro, specialmente se lo sviluppatore è un consulente.


13
+1 - gli sviluppatori sono (di solito) persone abbastanza intelligenti e tengono pulite le loro macchine
Mark Henderson

9
Non dirlo. :)
mrdenny,

4
@Mark, devo ancora vedere le prove a sostegno di tale affermazione.
John Gardeniers,

4
@Mark Henderson, potresti essere abbastanza fortunato da lavorare davvero con un buon gruppo di persone. Uno se i siti che leggo quotidianamente mi dà l'impressione che non tutti gli sviluppatori siano uguali.
Zoredache,

8
Credo che ci sia un vecchio proverbio Klingon che dice "Attenti ai programmatori che portano cacciaviti".
Bart Silverstrim,

23

C'è sia scienza che arte in sviluppo; non è semplice come "sapere" ciò di cui abbiamo bisogno. Se avessimo già avuto la risposta metà del nostro lavoro sarebbe discutibile; trovare l'approccio corretto è spesso iterativo e può coinvolgere più strumenti in modi imprevedibili. Richiedere a un intermediario di installare ciascuno di questi (spesso con elevata latenza), solo per scoprire (circa un'ora dopo) che per il tuo scenario è necessario il "componente aggiuntivo super-tool" è sciocco.

Mentre una VM è l'ideale per questo, ci sono anche molti strumenti di sviluppo che non possono essere eseguiti (correttamente o per niente) in una VM, perché essi stessi sono una VM - e non intendo cose come JVM; Intendo emus / vms full machine, come ad esempio i toolkit del dispositivo. La compatibilità sta migliorando.

Inoltre, la maggior parte degli strumenti di sviluppo ha un footprint molto ampio, molto più grande degli strumenti "normali" (che rendono l'hosting di macchine virtuali un po 'più doloroso di quanto ci si possa aspettare), e spesso per la natura di essere un debugger di processo richiede un accesso elevato. Per non parlare del fatto che potrebbero essere ad alta intensità di GUI; cercare di eseguire a tempo pieno su una GUI VM è ... estremamente doloroso.

Le prestazioni sono enormi sono qui; penseresti che fosse OK per gli utenti attendere 3 secondi dopo ogni pressione di un tasto in Word per la registrazione della loro chiave? Non sto scherzando: gli strumenti di sviluppo su VM ecc. Possono essere così schizzinosi; per la maggior parte degli scopi di sviluppo hai bisogno di reattività. L'interruzione del flusso di logica complessa dal cervello alla tastiera può rendere praticamente impossibile portare a termine il lavoro. E odio dirlo, ma sì: i tempi di sviluppo sono costosi.


18

In un ambiente Windows, e specialmente quando si utilizzano prodotti per sviluppatori Microsoft, lo sviluppatore richiederà i diritti di amministratore sul proprio computer. Se neghi loro quei diritti, la loro capacità di svolgere il loro lavoro sarà limitata, se non addirittura del tutto impedita.


1
Può essere. Ma dovrebbero essere tenuti a testare il loro codice in un ambiente non privilegiato se stanno realizzando un prodotto per il consumo dell'utente.
Bart Silverstrim,

2
@Bart, sono pienamente d'accordo, ma gli sviluppatori dovrebbero comunque fare i loro test su una macchina separata perché gli strumenti di sviluppo creano un ambiente completamente diverso da quello di un computer "normale".
John Gardeniers,

@BartSilverstrim che non segue sempre. Solo perché la parte utente dell'applicazione viene eseguita come un normale utente non significa che tutti i componenti lo facciano (ad es. Si consideri un servizio-client, è probabile che il server abbia bisogno di privilegi più elevati). E poi considera l'installer ...
Richard

1
@Richard, è anche vero, ma credo che il punto di Bart sia che i test debbano essere eseguiti in un ambiente il più vicino possibile a ciò che il cliente utilizzerà.
John Gardeniers,

1
La risposta corretta a un problema software non correlato alle attività di sistema non dovrebbe quasi mai essere "eseguita come amministratore".
Bart Silverstrim,

9

In quanto sviluppatore, ci colloco un livello di privilegio al di sopra dell'utente di base, ma al di sotto degli amministratori di sistema.

A volte potrei aver bisogno di una libreria aggiuntiva installata per far funzionare l'applicazione che sto sviluppando per lavorare nell'ambiente di produzione, detto questo, ho una regola rigorosa che sviluppo da: "Per qualsiasi applicazione che richiede librerie di terze parti, il le librerie devono essere installate in un ambiente sandbox prima della distribuzione della produzione e, in alcuni casi, prima dello sviluppo dell'applicazione ".

L'amministratore di sistema con cui lavoro e concordo con questo, e tra noi due, applicheremo attivamente tale regola e ritarderemo qualsiasi distribuzione dell'applicazione che non abbia superato i "controlli di dipendenza".

Per rispondere alla tua domanda, sì, gli sviluppatori dovrebbero avere pieno accesso ai propri computer, ma tali computer dovrebbero essere isolati dall'ambiente su cui l'applicazione verrà infine distribuita. In tal caso, anche la distribuzione dell'applicazione dovrebbe essere sottoposta a sandbox fino a quando non sarà considerata sicura da distribuire nell'ambiente di produzione.


9

Disclaimer: sono uno sviluppatore.

Per me, questa domanda (e le risposte) sembrano attaccare il problema con un approccio errato, ovvero il dibattito si concentra su ciò che gli amministratori vogliono / hanno bisogno rispetto a ciò che gli sviluppatori vogliono / hanno bisogno. Ma hai specificato che siamo in un ambiente aziendale, quindi diamo un'occhiata in questo modo.

Immaginiamo quindi di discuterne di fronte al direttore dell'IT o delle operazioni o di chi controlla il nostro budget e di porre queste domande.

  1. Qual è il privilegio minimo richiesto per eseguire le funzioni di reparto? Questa è la nostra base.
  2. Quali sono i rischi di concedere loro un maggiore accesso? (rischi reali, non solo scenari migliori / peggiori)
  3. Qual è il vero costo previsto per garantire loro un maggiore accesso? (costi di supporto, correzione di modifiche involontarie apportate da amministratori inesperti, ecc.)
  4. Qual è il vero costo previsto per non concedere loro più accesso? (perdita di produttività, necessità di supporto IT per eseguire attività quotidiane, turnover delle persone esperte a causa del morale, ecc.)

Con la risposta a queste domande, puoi prendere una decisione informata piuttosto che appassionata.

Per il tuo ambiente specifico , ci sono alcune cose che richiedono diritti di amministratore (vedi Diritti utente e Visual Studio ): se non stanno facendo queste cose, puoi rispondere alle domande 2-4.

Come consulente, ho visto entrambi gli estremi di questa politica e, anche se voglio sempre avere l'accesso come amministratore a una macchina, in alcuni casi non ha senso. E non sono sicuro di quale sia la causa e che cosa sia l'effetto, ma senza eccezione, ogni posto che ho visto fare lo sviluppo di Windows in cui gli sviluppatori avevano accesso come amministratore aveva anche una produttività MOLTO più alta da ogni sviluppatore rispetto ai luoghi in cui erano bloccati.


+1 perché lo metti nella giusta prospettiva. Elimina le preferenze personali di sviluppatori e amministratori e concentrati su ciò che è importante per l'organizzazione nel suo complesso.
Jaap Coomans,

4

Penso che tu stia facendo la domanda sbagliata, dovresti chiedere:

Un buon sviluppatore lavorerà per un datore di lavoro che non gli conferisce i diritti di amministratore sul proprio PC?

Ciò che qualcuno “ha bisogno” e ciò che si aspettano spesso non sono la stessa cosa, dopo tutto non è necessario consentire a uno sviluppatore di bere il caffè durante l'orario di lavoro, ma se non lo fai ...

(Assicurati di chiarire la tua politica in fase di colloquio, altrimenti potresti convincere le persone ad assumere il lavoro che poi disprezzano la tua azienda a causa della mancanza di diritti di amministratore - non aspettarti che i programmatori pensino in modo logico a questo genere di cose! )


Devo ammettere che lavoro entrambi nell'istruzione superiore e sono un "amministratore / programmatore di sistemi", come lo sono tutti nel mio gruppo, quindi immagino che la mia esperienza non sia totalmente pertinente. Ma non riesco a immaginare di lavorare come sviluppatore in un negozio che non mi darebbe il pieno controllo sulla mia workstation (scelta del sistema operativo e installazione, scelta del software, ecc.) E tanto meno i privilegi di root su di esso.
Jason Antman,

4

Dipende in realtà più da chi chiedi, quindi da chi ne ha effettivamente bisogno. Se chiedi ai gruppi IT IT e di gestione dei rischi che saranno ovunque di te con storie horror (e se devono dartelo chiedono una capra sacrificata in un sacro vincolo di promessa che non saranno ritenuti responsabili), gli sviluppatori dall'altro lato richiede i diritti di amministratore principalmente perché il lavoro è abbastanza stressante ed impegnativo senza dover chiedere l'autorizzazione all'help desk per andare a cercare. Il triste stato di cose è che ora è più incentrato sulla lotta di potere e sull'esercizio del potere, quindi sulle esigenze aziendali e di produttività (ad esempio, si riduce a chi farà saltare l'altro)

IMHO, il miglior ambiente di lavoro che ho visto fino ad oggi è dove i due gruppi vengono tenuti separati. Gli sviluppatori hanno il loro dominio nella foresta (per cui l'IT controlla cosa possono fare questo dominio e i suoi utenti nel resto dell'azienda) e sono tutti amministratori locali con ragazzi esperti con MCSE che agiscono come amministratori di dominio locali, hanno il loro ambiente di test e possono fare praticamente ciò che vogliono e di cui hanno bisogno sulla propria LAN locale con un singolo criterio IT (nessun software piratato). L'IT aziendale non è responsabile e non fornisce supporto agli sviluppatori e applica solo alcune regole aziendali di alto livello (niente facebook, porno o simili attraverso il firewall, gli sviluppatori non consentono di confondere con la LAN aziendale) e tutti hanno VPN basate su RSA per lavorare da casa che li mette direttamente nella loro LAN. Pulito, no?


2

È probabile che la risposta sia soggettiva e specifica per ogni singolo scenario, ma nella maggior parte dei casi direi di sì.


2

Direi che i diritti amministrativi sono importanti per il processo di sviluppo. Data la relativa facilità di utilizzo di una VM per sandbox, non c'è motivo per cui non sia possibile inserirli in una VM e mantenere la sicurezza.

Tutto va storto e puoi cancellare e ricostruire in pochi minuti.


2
C'è un ottimo motivo per non bloccarli in una macchina virtuale: le prestazioni. Uno sviluppatore che lavora su una grande applicazione potrebbe facilmente utilizzare ogni bit di una macchina con specifiche elevate con enormi quantità di RAM, HDD veloce, ecc. Metterli su una macchina virtuale è quasi lo stesso che restituire loro le macchine di alcuni anni fa. Ottimo per la sicurezza ma non così buono per la produttività.
John Gardeniers,

1
Ma è ottimo per costringere gli sviluppatori a scrivere nella fascia bassa delle macchine ufficialmente supportate nel progetto. Inoltre, con i server virtuali siamo in grado di supportare la tolleranza agli errori (e in alcuni casi il carico principale) per i prodotti live. Tutta una questione di quale macchina / cluster è in esecuzione la tua VM.
DivinusVox

4
Non si tratta di scrivere per la fascia bassa dei requisiti, si tratta di utilizzare strumenti che richiedono prestazioni più elevate di quelle consentite dalle VM. L'uso di Visual Studio 2010 all'interno di una VM è notevolmente meno reattivo rispetto al bare metal. Il prodotto che stai scrivendo potrebbe funzionare perfettamente in una macchina virtuale, ma ciò non significa che gli strumenti di sviluppo lo facciano sempre.
Michael Shimmins,

2

Decisamente! Di solito gran parte dello sviluppo che si svolge potrebbe o meno essere in un ambiente virtuale. I diritti di amministratore aiutano a superare molte delle sostituzioni di gestione dei servizi, voci di registro e IIS a livello locale. D'altra parte, dipende da quanta fiducia hai nei tuoi sviluppatori.

Come sviluppatore, è frustrante quando qualcosa non funziona perché non abbiamo accesso.


2

Dipende. Come sviluppatore, si dovrebbe sempre operare secondo il principio dei privilegi minimi. Se lavori come appaltatore governativo, potresti essere obbligato per contratto a non avere accesso come amministratore, ad esempio.

Come sviluppatore Java, non avevo quasi bisogno di avere diritti di amministratore sulla mia macchina su base continuativa . Tuttavia, ci sono casi legittimi in cui hai bisogno dell'accesso di amministratore su richiesta (.ie. Devi spostare il tuo laptop su domini fisicamente separati e devi cambiare la tua scheda di rete di conseguenza.) Quella era l'unica volta in cui ne avevo davvero bisogno accesso permanente e permanente all'amministratore della mia macchina.

A volte è necessario l'accesso come amministratore perché l'IT è a corto di personale (o incompetente o impantanato nella burocrazia). Ma se lavori con un dipartimento IT competente, possono installare le cose per te anche in remoto (o fornendo programmi di installazione personalizzati che "funzioneranno come "amministrare e installare le cose per te semplicemente facendo clic su di esse.)

Quindi la risposta (di nuovo) è - dipende. Hai uno staff IT reattivo che può installare le cose su richiesta (o entro un tempo ragionevole)? Gli sviluppatori ne hanno davvero bisogno per le attività per cui sono pagati ?

Se gli sviluppatori ne hanno veramente e legittimamente bisogno (come in "Non sarò letteralmente in grado di fare nulla senza di essa" ) al contrario di una comodità (come in "Voglio installare ciò che voglio" ), e se il supporto IT non è sufficientemente reattivo (per qualsiasi motivo), quindi sì, dovrebbero avere l'accesso come amministratore ai loro computer.

Altrimenti no. Ricorda il principio del privilegio minimo , le persone.


2

Ci sono sviluppatori e ci sono sviluppatori. Se uno "sviluppatore" è un ragazzo java di $ 40 / ora che scrive regole per un motore di regole, ovviamente no. Se uno "sviluppatore" è un ragazzo C / Assembly da $ 350 / ora che fa eseguire il tuo software di editing video il più velocemente possibile su una GPU, allora sì, ovviamente.


1

Per le aziende che sono preoccupate per la sicurezza, avranno persone di sicurezza che dettano e cercheranno di applicare una politica che funziona con il loro modello di sviluppo e sistemi. In un ambiente Windows la maggior parte delle persone ti dirà che devi avere diritti amministrativi sull'host su cui stanno sviluppando per svolgere le loro attività.

Questo non è necessariamente vero ...

È possibile creare una politica personalizzata e far funzionare tutti i programmi e le funzioni con gli utenti dello sviluppo su un sistema. Dovrai solo sporcarti e sporcarti con le autorizzazioni personalizzate per le directory di programma / sistema con gruppi o gruppi personalizzati a seconda del design desiderato.

La maggior parte delle aziende dirà che è molto pericoloso per gli sviluppatori disporre di sistemi su reti aperte perché gli hacker potrebbero ottenere il controllo e iniziare a compilare i propri strumenti, quindi svolgere il compito vale molto il rischio secondo la mia opinione professionale.


Mentre quello che dici è tecnicamente corretto, è anche un incubo implementare, mantenere e creare ambienti fragili.
John Gardeniers,

Preferirei quindi un accesso completo alla rete di sviluppo e quindi connettermi alla rete aziendale su Internet solo con una VPN se questo è un vero problema. Inoltre, ho visto molti dipartimenti aziendali che mi hanno fornito meno di quello che fa un buon ISP !! Come sviluppatore non è necessario trovarsi sulla stessa rete non filtrata del reparto account, ecc.
Ian Ringrose,

1

Gli sviluppatori dovrebbero (idealmente) avere due accessi al dominio.

Uno che ha i diritti di amministratore locale (per il lavoro di sviluppo) e uno che ha gli stessi diritti di tutti gli altri membri dell'azienda. Quindi, possono testare il loro lavoro su un insieme rappresentativo di autorizzazioni.

Ciò dovrebbe quindi ridurre la probabilità di ItWorksOnMyMachine-itis che appare occasionalmente .....


0

Devo (apparentemente) fornire la voce dissenziente e dire non solo no ma "diamine no". Non ho problemi a concedere diritti di amministratore devs su una macchina virtuale in modalità sandbox che non ha accesso alla rete. Zypher aveva quasi ragione (correzione in grassetto):

"1. Essere amministratore sulla mia scatola è un privilegio NON un diritto." Questi sistemi sono beni aziendali di cui alla fine sono responsabile. Quando Joe Developer installa la sua copia piratata di Microsoft Bob ("perché ne avevo bisogno ") non sarà lui a dover spiegare come non è stato trovato prima dell'audit. Gli sviluppatori pensano abitualmente che in qualche modo le regole aziendali non si applichino ad esse. Dando loro una macchina virtuale in modalità sandbox, possono seguire tutte le regole che tutti gli altri devono seguire (dal momento che solo l'IT può copiare i file da e verso il sistema). Magicamente il sistema di richiesta viene utilizzato di nuovo dagli sviluppatori, il cielo non cade più quando Joe Developer manipola la sua casella di sviluppo - ne chiede solo una nuova (o un ripristino se gli vengono richiesti backup)

Il signor Denny ha menzionato gli sviluppatori che costano soldi quando devono aspettare che vengano installate le app, A. ciao ... il mio tempo è di solito prezioso quanto lo sviluppatore Joe (di solito lo è ancora perché continuo a far funzionare l'eccitante crapware - e davvero devo menzionare tutto il tempo impiegato per aiutare lo sviluppatore di Joe a eseguire il debug del suo ultimo capolavoro) e B. quando dev va in overbudget perché stavano aspettando un'applicazione e provando a dare la colpa all'IT per questo direi:

La tua mancanza di pianificazione per ciò di cui hai bisogno per scrivere software non è mia responsabilità, abbiamo un set standard di strumenti e se in quella cassetta degli attrezzi manca ciò di cui hai bisogno dovresti avere le tue richieste per ottenere più strumenti accelerati piuttosto che tentare di farmi saltare attraverso i cerchi per ottenerlo perché la scadenza è domani.

Detto questo, bloccando i desktop degli sviluppatori puzza, se potessi eliminare gli schifosi sviluppatori che pensano che abbiano il diritto di guardare la loro collezione di baywatch e siano indignati nel sapere che non possono installare il babewatch player per visualizzarli ("ma è open source ") potresti essere in grado di scioglierti. Ma per ogni grande sviluppatore quello che lo "capisce", ci sono altri 10 che la tua azienda assumerà per quell'applicazione verticale da 200 milioni di dollari, ed è quello a cui devi fare attenzione.

EDIT: È certamente possibile che gli sviluppatori a cui sono stato esposto siano insolitamente noiosi (il polling del raccolto corrente solo 1 ha sentito parlare di stackoverflow, per dare un certo livello di benchmark). Il punto di vista iniziale con cui comincio è "cosa devi fare per fare ciò che la società ti sta pagando". Se hai bisogno dei diritti di amministratore, li ottieni, ma non dovresti farlo con loro e se posso darti una scatola che sinceramente non mi interessa cosa ci fai e che funziona, allora siamo entrambi pronti a partire.


14
Wow, il BOFH vive in mezzo a noi! Hai fallito il principio di base che il nostro lavoro è principalmente quello di consentire a tutti gli altri di svolgere il proprio lavoro nel miglior modo possibile entro i limiti imposti da politiche, requisiti legali, ecc. NON è uno di dettare arbitrariamente agli altri come lavorare semplicemente perché ci va bene farlo.
John Gardeniers,

+1 per l'ultimo paragrafo. Puoi eliminare tutti gli altri paragrafi se assumi sviluppatori decenti.
Robert Harvey,

6
Caspita - ama la mentalità noi e loro. Hai considerato che la "sua" scadenza è in realtà anche la "tua" scadenza dato che ci sei dentro insieme (presumibilmente) a beneficio dell'azienda. Non ti conosco da una saponetta, ma mi ricordi il cattivo, arrogante, cerca-di-trovare-un-modo-dire-no-piuttosto-che-sì tipico amministratore di sistema. Per tutti coloro che hanno un buon amministratore di sistema, ce ne sono altri 10 che la tua azienda assume che perpetuano lo stereotipo che hai appena esposto e rendono molto più difficile ogni altra cosa nella vita dell'azienda. Dovresti preoccuparti dell'erogazione del servizio, non del vincolo.
Michael Shimmins,

Ho affrontato specificamente la maggior parte di questi punti in una risposta: serverfault.com/questions/232416/…
Marc Gravell

1
Forse TU sei la ragione per cui "gli sviluppatori a cui sei stato esposto sono insolitamente noiosi"…. Un'azienda deve decidere se desidera pensare in modo libero o sviluppatori noiosi e non può agire in un modo che gli sviluppatori di pensiero libero odiano e quindi si aspettano di tenere chiunque a parte gli sviluppatori noiosi. Tuttavia, gli sviluppatori noiosi possono svolgere al meglio molte attività aziendali.
Ian Ringrose,
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.