Quali fattori di stress incontrano i programmatori sul lavoro e come li gestisci? [chiuso]

74

Imparare a gestire lo stress è fondamentale per mantenersi in salute mentre si lavora in qualsiasi posto di lavoro. Una sottotask necessaria è imparare a riconoscere e limitare le fonti di stress.

Ma, nel mezzo della routine quotidiana, può essere difficile riconoscere le fonti di stress (specialmente per un personaggio intenso e concentrato come un programmatore).

Quali tipi di fattori di stress dovrebbero essere esaminati dai programmatori e come possono essere gestiti?

    
posta 8 revs, 3 users 71%user8 20.11.2011 - 18:29
fonte

10 risposte

100

Ecco le cose che trovo più stressanti per me e per gli sviluppatori intorno a me:

  1. Ambiguità : obiettivi, requisiti o altre aspettative dichiarate in modo inefficace. Molte aziende hanno dipendenti con un atteggiamento di "I don't know what I want, but I'll know it when I see it. Oh, and by the way I need it tomorrow."
  2. Scadenze inadeguate : la maggior parte delle scadenze sono stabilite dalle esigenze aziendali non dalle capacità realistiche degli sviluppatori sul personale. Oltre a questo, le aspettative per il requisito sono aumentate ma il budget / le risorse non lo sono.
  3. Cattive ipotesi / aspettative : i programmatori hanno la tendenza ad avere un'opinione elevata delle proprie capacità (non una caratteristica non acquisita), e per questo si aspettano che altre persone possano eguagliare le loro capacità, comprensione e aspettative. Spesso si asserisce che qualcosa è "common knowledge" o simili, e questo può essere catastrofico nella categoria dello stress. Ora, non solo l'esperto di business non ha soddisfatto le aspettative del programmatore, ma è un completo incompetente. Nel contrario, se il programmatore non riesce a soddisfare le aspettative dell'azienda, il programmatore rimane frustrato perché non gli sono state fornite le informazioni necessarie per procedere.
  4. Mancanza di rispetto : molte persone hanno la tendenza a credere che solo perché qualcuno è debole nella propria disciplina che significa che sono deboli nel loro. C'è una ragione per cui tutti noi abbiamo diversi lavori / capacità / aspettative, ed è importante rispettare il fatto che l'altra persona è molto probabilmente molto capace nei compiti che viene loro richiesto. Solo perché qualcuno non ha le tue capacità non significa che sono incompetenti o incapaci.
  5. Mancanza di autocontrollo : questo può manifestarsi in molte cose. Forse sei un lavoro-a-holic che si rifiuta di fare le pause appropriate. Questo porta ad accumulare stress ed è cattivo. Forse sei un bevitore di Jolt Cola che beve più caffeina che dovrebbe quando si accumula lo stress. Questo fa male alla salute e peggiora la tua risposta allo stress. Devi conoscere i tuoi limiti, sapere cosa scatena le tue specifiche risposte allo stress e, soprattutto, sapere come alleviare quella risposta allo stress. Darlo ai collaboratori o ai colleghi non è appropriato e servirà solo ad aumentare lo stress.
  6. Mancanza di abilità comunicativa : spesso non parliamo la stessa lingua, e non sto parlando di inglese, tedesco o indiano. Stiamo usando le stesse parole, ma non stiamo dicendo le stesse cose. Le persone devono essere specifiche e aperte su cose che non capiscono. Anche se pensi di capire, non fa male a chiarire. Ricorda che una metrica aziendale può significare qualcosa di diverso per i diversi reparti di un'organizzazione.
  7. Sanguinamento dei limiti : mantieni il lavoro al lavoro e a casa a casa. Solo perché il tuo bambino di 7 anni lascia le scarpe nel mezzo del pavimento e non pulisce dopo la sua colazione non significa che devi masticare Tiffany dal renderne conto una nuova perché non ti ha dato il foglio di calcolo dei requisiti di fatturazione . Lo stesso token, solo perché Tiffany sta rallentando con il foglio di calcolo non significa che tua moglie meriti di essere trattata male nella casa dei pendolari. (a proposito, la povera Tiffany non merita neanche questo trattamento)
risposta data 09.05.2011 - 23:30
fonte
17

Penso che il più grande fattore di stress per qualsiasi programmatore sia una mancanza di fiducia .

Sì, molti incontri (certamente non gli incontri di per sé) non sono necessari, ma posso fare molto su un programmatore. Se devo regolarmente partecipare a riunioni che, a mio avviso, non sono necessarie, è mia responsabilità alzarmi in piedi e dire "hey, non ho bisogno di partecipare a quell'incontro - posso passare il mio tempo in modo più produttivo".

Lo stesso vale per le interruzioni: Sì, è una seccatura. L'ho visto in molte aziende. Tuttavia, molte volte, ancora una volta, ci sono molte cose che possono essere fatte. Un programmatore non ha bisogno di controllare il suo account di posta ogni cinque minuti e di rispondere ad ogni mail istantanea. Allo stesso modo, se non voglio essere disturbato per un certo periodo di tempo, spengo il mio instant messanger e inoltro il mio telefono.

Questi sono solo due esempi: ce ne sono molti di più. Sì, a volte le cose vanno male. Ma la maggior parte delle volte, i problemi di cui stiamo parlando potrebbero essere risolti abbastanza facilmente con un po 'più di sicurezza. Dì alla gente dall'altra parte del ciclo di comunicazioni "sì, ti ho sentito e ho ricevuto il tuo messaggio ma ci arriverò più tardi".

I problemi più grandi sono quelli che stiamo creando noi stessi! ; -)

    
risposta data 09.05.2011 - 16:30
fonte
12

Bug di componenti di terze parti

Può essere estremamente stressante quando si ottiene un aggiornamento su alcuni componenti di terze parti che rompono qualcosa. Non hai il codice sorgente per eseguire il debug o modificare, ma se il tuo sistema dipende da esso, può essere piuttosto terrificante. Andando in una mattina per scoprire che il tuo server di controllo del codice sorgente sta funzionando in modo imprevisto e potresti perdere 2 settimane di check-in, puoi fornire un po 'di stress. Questa è fondamentalmente l'idea di uno strato di astrazione che perde, quando non sei preparato per questo. Dai un'occhiata ai ticket bug aperti su qualsiasi tecnologia Microsoft stack e i commenti daranno sicuramente prova di quella varietà di stress.

    
risposta data 20.12.2011 - 09:38
fonte
10

Aspettative non realistiche. Vedo i clienti che si aspettano di poter passare 6 settimane di un periodo di progettazione di 7 settimane per ottenere il file necessario per iniziare e chiedersi perché non viene eseguito il giorno successivo. Ho visto persone che si aspettano di poterti consegnare un nuovo compito alle 4:30 di venerdì e si aspettano che trascorrerai l'intero fine settimana per completarlo per la presentazione di lunedì all'Amministratore Delegato. Ho visto persone che ti tolgono un compito ad alta priorità per svolgere un secondo compito ad alta priorità e poi arrabbiarsi perché il primo non viene fatto in tempo. Tutte queste cose sono stressanti anche quando hai fatto del tuo meglio per spiegare chiaramente fin dall'inizio perché le loro aspettative non sono realistiche.

Mancanza di capacità di leggere le menti. (Farò la fortuna di aver mai inventato quel modulo per la lettura della mente.) È stressante scoprire nei test degli utenti che quello che ti hanno detto che volevano non era quello che volevano davvero.

    
risposta data 20.12.2011 - 09:39
fonte
8

Molte di queste risposte fornite sono grandiose, specialmente gli stress elencati da Joel e quelli relativi alla perdita di denaro e alla gestione invadente che non capiscono cosa stanno chiedendo.

Alcuni dei principali stress che incontro provengono da

  • Inheriting Spaghetti Code

    • Ho avuto alcune esperienze folli in cui la ruota aveva sicuramente bisogno di essere reinventata. Immagina di essere ingaggiato dopo che un altro sviluppatore ha costruito da solo una base di codice in un anno o giù di lì solo per scoprire che non avevano idea di cosa stessero facendo, fallendo miseramente e venissero licenziati. All'arrivo ti viene detto che il tuo lavoro è "fai questo lavoro". Ovviamente c'è una riga di note per 4000 righe di codice. Estrema mancanza di modularità e poca o nessuna direzione. Al di sopra di tutto, tutto è molto al di là di avere nomi "bizzarri" (che sono comprensibili e talvolta fantastici) in semplici "wthness"
    • Dovresti avere due punti secondari: P (Il codice degli spaghetti è cattivo, m'kay?)
  • C'è un bug. Tu KNOW per un fatto assoluto che ha è l'ordinamento che implica uno o due cambiamenti di caratteri minuscoli. La scadenza è domani, hai 3 funzioni da completare. Questo bug impiega 5 ore per trovarlo e non puoi ignorarlo. ; (O lol.

  • Cerca di spiegare il precedente

  • Essere bloccati a una scrivania a causa di limiti di lavoro mentre se potessi semplicemente andare a fare un'ora di cammino in un parco e tornare indietro, avresti il codice d'oro in attesa di saltare dalla punta delle dita. Il mio peggior personale, devo vedere alcuni alberi e il cielo se vuoi che io faccia buon codice e progressi veloci. Dopotutto, almeno la metà della programmazione è un'arte. Trova ispirazione.

  • Non rimanere bloccato a una scrivania quando devi tornare a casa a causa di vincoli lavorativi e non puoi lavorare solo 20 ore oggi mentre sei nella zona. A volte clicco con quello che sto facendo e se non riesco a tirare un tutto chiaro , allora non è lo stesso il giorno dopo ... Ne ricorderò la maggior parte, ma sarà prendi tre volte più a lungo per abbassarlo e non essere comunque abbastanza buono.

  • A volte il caffè / altri materiali di consumo peggiorano le cose e il mio cervello non ascolterà mai la mia mente come vorrei. =)

  • interruzioni di 15 minuti. Quanto basta per buttarmi fuori, non abbastanza per rendere il cervello fresco. Boooooo.

  • Ci sono state volte in cui ho scelto una nuova libreria o ... peggio..un nuovo framework. Questo è stato uno dei compiti più sorprendentemente stressanti che ho incontrato. Quando va bene o anche ok-ish, è adorabile. Ogni tanto quando va male ... oh ragazzo. Puoi stare lì a gironzolare cercando prove infinite di stili diversi e ottenere la tua testa così piena di troppe interfacce che parti della mia mente iniziano a chiudere e dire "no, no ... non lo farò. male, vai via. " Solo per essere costretti a batterli in sottomissione. Le sospiro.

  • Il cattivo tipo di errori del linker. Non sono sicuro di come descriverli.

  • Importazione di grandi quantità di dati da un fastidioso formato di file agli oggetti. Questo a volte è piuttosto divertente e spesso ti brucia molto velocemente quando non lo è. Ricordo di aver lavorato con questo vecchio formato excel che aveva un personaggio horror molto difficile e non documentato. Questo a parte il fatto che le informazioni nella colonna reale che stavamo estraendo erano piene di personaggi funky, ... mi perseguitano ancora. Continuavo a pensare "aha funziona ora !! ....! ............ oh ... non importa .."

risposta data 09.05.2011 - 21:25
fonte
6

Penso che gran parte dello stress sia il risultato delle seguenti premesse:

  1. I bravi programmatori sono spesso le persone che possono svolgere alcune attività non di programmazione (supporto alla produzione / risoluzione dei problemi, documentazione, risposta alle domande dell'azienda o di altri membri del team, offrendo pareri tecnici sulle indicazioni future) in modo più efficiente.
  2. La programmazione è un'attività che viene eseguita al meglio in lunghi periodi di tempo ininterrotto.
  3. Comprensione di Premise # 1 > > Comprensione di Premessa # 2.

Di conseguenza, i programmatori sono spesso chiamati a fare una serie di cose diverse, che erodono la loro produttività e qualità del loro lavoro nella loro imbarcazione scelta. Il manager che fa questa chiamata vede questo come una "vittoria", perché il problema acuto è stato risolto rapidamente ed efficientemente, e il costo non è immediatamente evidente.

Esistono alcune strategie per gestirlo, con vari vantaggi e svantaggi.

  1. Gestione del tempo - dedica un po 'della tua giornata alla programmazione e un'altra parte della giornata ad altri lavori, e sii disciplinato a riguardo. Uno svantaggio di questo è che ho finito col lasciare che il lavoro di non-programmazione occupasse tutto il mio tempo di 8-5, e ha fatto il mio lavoro di programmazione durante la notte, il che è negativo per il lavoro / il bilancio della vita.
  2. Istruzione - È qui che le persone come Joel stanno facendo il lavoro degli yeoman - facendo sapere che il costo di un'interruzione di 15 minuti può essere molto maggiore di 15 minuti. (ad es. link )
  3. Sviluppo del team, documentazione - Assicurati di non essere l'unica fonte di conoscenza per i pezzi critici della tecnologia della tua azienda.
  4. Nasty Personality - Sto solo scherzando. Se sviluppi la reputazione di rispondere con un ringhio alle interruzioni, le persone tenderanno a trovare altri modi per ottenere qualcosa. Sarà meglio essere bravi a tirarlo fuori, però.
risposta data 09.05.2011 - 19:59
fonte
6

Il principale fattore di stress che incontro è quello che mi piace chiamare " Sindrome di Mort ". Fondamentalmente è l'atteggiamento di alcuni sviluppatori che la mediocrità va bene, e non c'è bisogno di migliorare o fare le cose in modo diverso, mai. Come qualcuno che trascorre del tempo fuori dal lavoro leggendo blog e libri, ascoltando i podcast e guardando video di modi migliori di fare le cose professionalmente, trovo questo davvero stressante perché il 95% delle volte sono l'unica persona del team , se non in tutta l'azienda, che capisce perché, ad esempio, scrivere test di unità sono buoni o perché è male avere migliaia di linee di codice in una singola classe (o classi che fanno mezza dozzina di cose diverse), e provare a educare i risultati dei miei collaboratori in entrambi gli sguardi vuoti, le scuse di "Non abbiamo tempo per sistemarlo", "Non useremo mai perché non l'abbiamo mai usato prima". oppure "Non è così che facciamo le cose", o, nel peggiore dei casi, mi viene mostrata la porta e licenziata per aver provato a cambiare le cose in meglio.

    
risposta data 12.05.2011 - 18:26
fonte
4

Sarebbe difficile ottenere una risposta generale a questa domanda. Le persone prosperano in condizioni diverse.

  1. troppo lavoro in un tempo troppo breve
  2. troppo poco feedback dagli utenti
  3. colpa della cultura
  4. mancanza di atmosfera di fiducia.

Tendo a scoprire che il lavoro è la meno causa di stress per la maggior parte delle persone, non per i programmatori in particolare. Sono gli elementi estranei come cultura aziendale, atmosfera unitaria, problemi di comunicazione che causano maggior stress per la maggior parte delle persone. Non è che non possano gestire il lavoro; è che non riescono a gestire l'atmosfera in cucina, se vuoi.

Una discussione più utile potrebbe concentrarsi maggiormente sulle soluzioni a tali problemi.

    
risposta data 09.05.2011 - 16:35
fonte
4

"Altri compiti assegnati".

Ho dovuto rispondere ai telefoni. Ho dovuto lavorare nel magazzino. Ho dovuto fare l'inventario. Sono stato in riunioni di società per tutto il giorno. Ho persino dovuto uscire e fare manutenzione limitata del prato.

Non so se prenderò mai un altro lavoro che lo ha come parte della descrizione.

    
risposta data 09.05.2011 - 18:46
fonte
2

Cattiva gestione. Non posso dirti quante storie ho vissuto o visto di manager (specialmente senior manager e top company) che prendono decisioni scandalose senza consultare nessuno che sappia davvero qualcosa sull'area che hanno deciso, o che non consultino note delle riunioni precedenti prima di andare avanti nella direzione opposta, come deciso.

    
risposta data 12.05.2011 - 18:38
fonte

Leggi altre domande sui tag