Macchine di lavoro degli sviluppatori - in che modo sono solitamente standardizzati o limitati? [chiuso]

7

Il mio capo vuole introdurre nuove linee guida per i computer nella nostra azienda. Ciò significa che gli ambienti software saranno completamente standardizzati con un set predefinito di strumenti. L'obiettivo è che tutte le macchine siano completamente riproducibili e scambiabili.

Mi chiedo quali sono le linee guida per i computer degli sviluppatori nelle grandi aziende, come Google o Microsoft, in particolare le aziende che sono certificate secondo alcuni standard (ad esempio ISO 9001). Permettono agli sviluppatori di installare software da Internet se ne hanno bisogno per qualche piccola attività? (ad esempio uno strumento di confronto del codice, CygWin, Service Pack di Windows) o vogliono veramente tutti gli strumenti necessari in un ambiente predefinito fisso in cui tutte le modifiche proposte devono essere discusse prima con un amministratore di sistema?

    
posta Felix Dombek 09.05.2012 - 21:19
fonte

3 risposte

3

In questo caso stai facendo molte domande separate, ma correlate.

Hardware

Primo: tutte le società per le quali ho lavorato hanno avuto una sorta di standardizzazione delle macchine desktop. Come minimo, l'hardware e il sistema operativo erano standardizzati su grandi gruppi (possibilmente in categorie mobili: si ottiene la macchina di quest'anno quando si avvia, e poi 2 anni dopo si ottiene la macchina di quell'anno, ecc.).

Per quanto riguarda l'hardware: una grande azienda darà a tutti nell'edificio un hardware fantastico con CPU veloci, monitor giganti e un'enorme quantità di RAM, anche se non ne hanno bisogno. Una buona compagnia si assicurerà almeno che tu abbia un hardware adeguato al tuo lavoro (il che significa almeno che gli ingegneri avranno schermi più grandi e più RAM di quanto non faccia l'addetto alla reception).

Software standard

Non solo, ma tutte le società per le quali ho lavorato hanno avuto anche una sorta di software standard. Come minimo, ciò significa cose come email / calendario / groupware, software per ufficio, ecc. Ognuno ottiene la stessa cosa per impostazione predefinita; in alcune aziende è possibile ottenere qualcos'altro se si dispone di un motivo giustificabile (anche se potrebbero esserci molte pratiche burocratiche). Inoltre, si otterrà il software standard della linea di business della società (sebbene in questi giorni tali applicazioni siano spesso basate sul Web). Di solito ti vengono date queste applicazioni e di solito sei bloccato con loro.

Software specializzato

Poi c'è il software specializzato di cui hai bisogno per svolgere il tuo lavoro: compilatori, IDE, strumenti di modifica delle immagini, ecc. A prescindere dal fatto che stiamo parlando di software libero (es. Eclipse) o di software costoso (ad es. Visual Studio, Photoshop) , la compagnia di solito standardizzerà su una versione. Quindi tutti quelli che ricevono Visual Studio ottengono il 2010, non il 2008 (o qualcosa del genere).

Inevitabilmente, questo porta ad avere un posto ufficialmente approvato per le versioni standard delle cose da sedersi, se non altro per impedire che tutti scarichino nuovamente Eclipse. Allo stesso modo, per i software che dispongono di server o repository di aggiornamento, è comune che la società esegua il proprio repository mirror interno (e possibilmente per bloccare l'accesso ai mirror esterni) per garantire che (1) i grandi pacchetti vengano scaricati solo una volta e (2) tutti hanno la stessa versione.

In generale, qualsiasi software che si trova in un repository ufficialmente autorizzato dalla compagnia (dove potrebbe essere un repository di pacchetti del sistema operativo, o solo una condivisione di file con programmi di installazione, o anche solo un file cabinet con dischi di installazione) può essere installato sul tuo computer. La maggior parte dei luoghi in cui ho lavorato ti consentono di installare autonomamente questo tipo di software, indipendentemente dal fatto che si tratti di software gratuito o di pagamento.

What About Everything Else?

Ma questo ci porta a quella che sembra essere la tua vera domanda, che è duplice:

  1. E il software che non è ufficialmente sanzionato (ancora)?
  2. Che tipo di personalizzazioni posso apportare al software? (O, in modo equivalente, che tipo di diritti amministrativi ho sulla mia macchina?)

Per la prima domanda, dipende dalla società e dal software in questione . Ho sentito dire che alcune aziende sono piuttosto draconiane riguardo al software non sanzionato, ma ovunque ho lavorato le politiche sono state abbastanza rilassate, specialmente per gli ingegneri. A volte un particolare pacchetto software non è consentito perché incide le risorse aziendali (ad esempio la condivisione di file peer-to-peer) o è fondamentalmente non sicuro (ad esempio vari tipi di software di accesso remoto per PC) - in questo caso, di solito c'è un'alternativa approvata dall'azienda .

Per tutto il resto, di solito una sorta di processo di approvazione . In alcune aziende, questo è semplice come chiedere al proprio manager "hey, posso installare questo software?", Mentre in altre società potrebbe essere necessario che il software abbia diversi livelli di accesso. I software e i software costosi che comunicano con i servizi esterni sono quelli con maggiori probabilità di essere attentamente esaminati, come dovrebbero.

La seconda domanda riguarda più quanta libertà un singolo dipendente dovrebbe dover apportare modifiche alla propria macchina. Nella maggior parte dei luoghi in cui ho lavorato, gli ingegneri hanno un ampio margine di manovra, con l'avvertenza che alcuni cambiamenti "annullano la garanzia" - l'helpdesk aziendale non ti supporterà più e avere a che fare con eventuali problemi. Il personale non tecnico di solito ha meno margine di manovra, soprattutto perché l'helpdesk non si fida di loro per non rompere qualcosa.

Ad esempio, al mio attuale lavoro (in una grande azienda di software menzionata nella tua domanda) non ho accesso root alla mia macchina, ma ho accesso sudo per fare tutto ciò di cui ho bisogno. In un precedente lavoro in una società più piccola in cui eravamo su Windows, ero nel gruppo Administrators sulla mia macchina, quindi avevo un regno molto libero.

    
risposta data 10.05.2012 - 19:38
fonte
7

Anche la standardizzazione per gli sviluppatori è una pazzia. Non ho mai lavorato in nessun posto dove tutti gli utenti abbiano esattamente lo stesso set di strumenti. Comprerà 100 posti di Photoshop perché i 2 ragazzi del team grafico ne hanno bisogno?

Ciò che accadrà è che avrai bisogno di uno strumento specifico per il tuo compito nel progetto. Non lo compreranno perché poi dovranno comprare 100 posti.

Sto avendo alcuni elementi comuni di configurazione e un certo grado di standardizzazione è importante. (come tutto linux, Mac, Windows, stessa marca, modello, ecc.) Assicurati che siano disposti a impegnare le risorse per equipaggiare il team di sviluppo in modo che sia il migliore.

Combattuto questa battaglia una volta dove abbiamo dovuto usare le stesse macchine dei fan del servizio clienti. È durato alcune settimane e abbiamo dovuto aggiornare la memoria, ma non è stato sufficiente perché hanno acquistato la macchina comune più bassa che potevano e non supportava la maggiore quantità di memoria, arrivava con dischi rigidi lenti e nessun supporto per doppio display.

Un professionista IT ha esigenze diverse rispetto alla segretaria. Abbiamo cercato di convincerli a creare alcune classi di macchine (come workstation e desktop) ma senza dadi.

Triste a dirsi, la compagnia non c'è più. Non solo su questo argomento, ma è indicativo di una cattiva gestione o consente a un gruppo (acquisti e supporto IT) di prendere decisioni per un altro (sviluppo IT)

    
risposta data 09.05.2012 - 21:31
fonte
7

Nella mia esperienza, la maggior parte delle aziende ha tre livelli di standardizzazione:

  1. Immagini di sviluppo standard - Hardware standard e software che lo sviluppatore deve comunicare con il resto dell'azienda. Email, Office (o equivalente), browser standard, IM, service pack, a volte Visual Studio se TFS è richiesto universalmente, ecc.

  2. App standard - App di cui alcune persone hanno bisogno, ma non altre. Forse non hai bisogno di 4 app di vernice diverse in giro per l'azienda, o non vuoi pagare le licenze per le persone che ignorano l'app. Questi sono buoni per ottenere e avere in una posizione centrale per ridurre la larghezza di banda / tempo di attesa troppo.

  3. App una tantum - Cose che gli sviluppatori vogliono / hanno bisogno. La maggior parte delle aziende che ho visto consentono agli sviluppatori di intervenire liberamente su ciò che desiderano / hanno bisogno. Browser alternativi, profili di scelta, plug-in di Visual Studio, ecc. Cose gratuite, non supportate dall'IT e che non causano problemi di compatibilità con altri.

risposta data 09.05.2012 - 21:47
fonte

Leggi altre domande sui tag