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


74

Imparare a gestire lo stress è fondamentale per rimanere in salute mentre si lavora in qualsiasi posto di lavoro. Una sottoattività necessaria sta imparando a riconoscere e limitare le fonti di stress.

Ma, nel mezzo della routine quotidiana, può essere difficile riconoscere le fonti di stress (specialmente per una persona intensa e focalizzata come un programmatore).

Quali tipi di fattori di stress dovrebbero cercare i programmatori e come possono essere gestiti?


2
Domanda meta-discussione correlata: la domanda "stressanti" dovrebbe essere stata lasciata aperta?

I programmatori sono persone ottimiste che si concentrano sulle possibilità, non sui momenti stressanti.
Indipendente,

ci sono sicuramente una quantità sfrenata di wiki della community su questo sito. boo. anche questa domanda è altamente costruttiva.
Garet Claborn,

Risposte:


100

Ecco le cose che trovo che causano più stress a me e agli sviluppatori intorno a me:

  1. Ambiguità : obiettivi, requisiti o altre aspettative dichiarati in modo inefficace. Molte aziende hanno dipendenti che hanno 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 dall'azienda e non dalle capacità realistiche degli sviluppatori del personale. Inoltre, le aspettative per il requisito sono aumentate, ma non lo sono il budget / le risorse.
  3. Cattive ipotesi / aspettative : i programmatori hanno la tendenza ad avere un'alta opinione delle loro capacità (non un tratto non acquisito) e per questo si aspettano che altre persone possano abbinare le loro capacità, comprensione e aspettative. Spesso si suppone che qualcosa sia "common knowledge"o simili, e questo può essere catastrofico nella categoria dello stress. Ora, non solo l'esperto aziendale non ha soddisfatto le aspettative del programmatore, ma è completamente incompetente da avviare. Al 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 tua disciplina significa che sono deboli nella loro. C'è una ragione per cui tutti abbiamo diversi lavori / capacità / aspettative, ed è importante rispettare che l'altra persona è molto probabilmente molto capace nei compiti che gli viene chiesto di svolgere. Solo perché qualcuno non ha le tue capacità non significa che siano incompetenti o incapaci.
  5. Mancanza di autocontrollo : questo può manifestarsi in molte cose. Forse sei un maniaco del lavoro che rifiuta di fare le pause giuste. Questo porta all'accumulo di stress ed è un male. Forse sei un bevitore di Jolt Cola che beve più caffeina che dovrebbe quando lo stress si accumula. Questo fa male alla salute e peggiora la risposta allo stress. Devi conoscere i tuoi limiti, sapere cosa innesca le tue risposte specifiche allo stress e, soprattutto, sapere come alleviare quella risposta allo stress. Assumerlo con colleghi o 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 riguardo a cose che non comprendono. Anche se pensi di capire, non fa male chiarire. Ricorda che una metrica di business può significare qualcosa di diverso per i diversi dipartimenti di un'organizzazione.
  7. Sanguinamento dei limiti : mantenere il lavoro al lavoro e a casa a casa. Solo perché il tuo bambino di 7 anni sta lasciando le scarpe in mezzo al pavimento e non sta pulendo dopo la colazione non significa che devi masticare Tiffany dal conto di una nuova perché non ti ha dato il foglio di calcolo dei requisiti di fatturazione . Allo stesso modo, solo perché Tiffany sta allentando con il foglio di calcolo non significa che tua moglie merita di essere trattata male durante il tragitto verso casa. (tra l'altro, la povera Tiffany non merita neanche quel trattamento)

17

Penso che il principale fattore di stress per qualsiasi programmatore sia la mancanza di fiducia .

Sì, molte riunioni (certamente non riunioni di per sé) non sono necessarie, ma ci sono molte cose che io programmatore posso fare al riguardo. Se devo regolarmente partecipare a riunioni che - a mio avviso - non sono necessarie, è mia responsabilità alzarmi e dire "ehi, non ho bisogno di partecipare a quella riunione - posso passare il mio tempo in modo più produttivo".

Lo stesso vale per le interruzioni: sì, è una seccatura. L'ho visto in parecchie compagnie. Tuttavia, molte volte, ancora una volta, ci sono diverse cose che possono essere fatte. Un programmatore non ha bisogno di controllare il suo account di posta ogni cinque minuti e rispondere a ogni posta istantaneamente. Allo stesso modo, se non voglio essere disturbato per un certo periodo di tempo, spengo la mia messaggistica istantanea e inoltro il telefono.

Questi sono solo due esempi: ce ne sono molti di più. Sì, a volte il gioco è difficile. Ma la maggior parte delle volte, i problemi di cui stiamo parlando potrebbero essere risolti abbastanza facilmente con un po 'più di fiducia. Di 'alle persone dall'altra parte del circuito di comunicazione "sì, ti ho sentito e ho ricevuto il tuo messaggio ma ci arriverò più tardi".

I maggiori problemi sono quelli che stiamo creando noi stessi! ;-)


2
+1 buona risposta. Tuttavia, probabilmente potresti dirlo in meno parole. :-)
Matthew Rodatus,

+1 poiché non solo è un fattore di stress, ma può anche influire sulla produttività.
Covar,

Quindi questa è una mancanza di fiducia in generale o una mancanza di fiducia per dire -no-?
Mitch,

1
Non è solo dire "no", sarebbe troppo facile. È riconoscere quando dire "non è così che dovrebbe essere" e offrire un'alternativa. Dire di no è solo una parte di esso.
perdian,

12

Bug di componenti di terze parti

Può essere estremamente stressante quando ricevi un aggiornamento su un componente di terze parti che rompe qualcosa. Non hai il codice sorgente per il debug o la modifica, ma se il tuo sistema dipende da esso, può essere abbastanza terrificante. Passare una mattina per scoprire che il tuo server di controllo del codice sorgente funziona in modo imprevisto e potresti perdere 2 settimane di check in che possono causare 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 dei bug aperti su qualsiasi tecnologia stack Microsoft e i commenti daranno sicuramente prova di quella varietà di stress.


2
+1 Mi sono imbattuto nello stesso problema ... lavoravo con una società di terze parti il ​​cui servizio era decisamente terribile. Il loro codice funzionava a malapena - spesso si bloccava, era lento e non produceva risultati di qualità. Fortunatamente la società con cui lavoro è davvero comprensiva e sapeva che il problema era con la società (cioè in realtà ascolta i loro sviluppatori) - non io. Ma questo non è il caso di molte aziende, e gli sviluppatori interni sono quelli che ottengono la colpa.
Wipqozn,

10

Aspettative non realistiche. Vedo i clienti che si aspettano che possano trascorrere 6 settimane di un periodo di progettazione di 7 settimane per ottenere il file necessario per iniziare e mi chiedo perché non venga eseguito il giorno successivo. Ho visto persone che si aspettano che possano consegnarti un nuovo incarico il venerdì alle 4:30 e si aspettano che trascorrerai l'intero fine settimana per farlo svolgere per la presentazione lunedì al CEO. Ho visto persone che ti toglievano un compito prioritario per fare un secondo compito prioritario e poi si arrabbiavano che il primo non fosse fatto in tempo. Tutte queste cose sono stressanti anche quando hai fatto del tuo meglio per spiegare chiaramente dall'inizio perché la loro aspettativa è irrealistica.

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


8

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

Alcuni dei maggiori stress che incontro provengono

  • Inheriting Spaghetti Code

    • Ho avuto alcune esperienze folli in cui la ruota aveva sicuramente bisogno di essere reinventata. Immagina di essere assunto dopo che un altro sviluppatore aveva costruito da solo una base di codice per circa un anno o giù di lì solo per scoprire che non avevano idea di quello che stavano facendo, fallire miseramente e essere licenziato. All'arrivo ti viene detto che il tuo lavoro è "far funzionare". Naturalmente c'è circa una riga di note per 4000 righe di codice. Estrema mancanza di modularità e poca o nessuna direzione. Inoltre, tutto va ben oltre l'avere nomi "bizzarri" (che sono comprensibili e talvolta grandi imho) in un semplice "wth-ness"
    • Dovresti avere due punti secondari: P (Il codice spaghetti è male, ok?)
  • C'è un bug. È SAI per un fatto assoluto che deve essere il tipo che coinvolge uno o due piccoli cambiamenti di carattere. La scadenza è domani, hai 3 funzioni da completare. Questo bug richiede 5 ore per essere trovato e non puoi ignorarlo. ; (Ahi lol.

  • Cercando di spiegare il precedente

  • Rimanere bloccati su una scrivania a causa di vincoli di lavoro mentre se potessi andare a fare un'ora a piedi in un parco e tornare, avresti il ​​codice d'oro in attesa di saltare dalla punta delle dita. Il mio peggio personale, devo vedere degli alberi e del cielo se vuoi che faccia un buon codice e rapidi progressi. Dopo tutto, almeno la metà della programmazione è un'arte. Trova ispirazione.

  • Non essere bloccato su una scrivania quando devi andare a casa a causa di vincoli d'affari e non puoi semplicemente lavorare 20 ore oggi mentre sei nella zona. A volte clicco con quello che sto facendo e se non riesco a fare una notte tutta in quel momento , non è più lo stesso il giorno successivo .. Ricorderò la maggior parte di esso ma ci vorrà tre volte di più per ottenerlo giù e non essere altrettanto bravo comunque.

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

  • 15 minuti di pausa. Quanto basta per buttarmi via, non abbastanza per rinfrescare il cervello. 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 addirittura va bene, è adorabile. Ogni tanto quando va male ... oh ragazzo. Puoi sederti lì a manovrare mentre prova infiniti test di stili diversi e ti riempi la testa di troppe interfacce che parti della mia mente iniziano a spegnersi e dicendo "no, no ... Non lo farò. male. Vattene. " Solo per essere costretto a batterli nella 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 nei tuoi 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 orrore di personaggi di fuga molto complicato e senza documenti. Questo a parte il fatto che le informazioni nella colonna attuale che stavamo estraendo erano piene di personaggi funky, ... mi perseguita ancora. Continuavo a pensare "aha ora funziona !! ....! ............ oh ... non importa .."


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 opinioni tecniche su direzioni future) in modo più efficiente.
  2. La programmazione è un'attività che è meglio svolgere in lunghi periodi di tempo ininterrotto.
  3. Comprensione della premessa n. 1 >> Comprensione della premessa n. 2.

Di conseguenza, i programmatori sono spesso chiamati a fare una serie di cose diverse, il che erode la loro produttività e qualità del loro lavoro nel mestiere scelto. Il manager che fa questa chiamata vede questa come una "vittoria", perché il problema acuto è stato risolto in modo rapido ed efficiente e il costo non è immediatamente evidente.

Ci sono alcune strategie per gestirlo, con vari vantaggi e svantaggi.

  1. Gestione del tempo: dedica parte della tua giornata alla programmazione e un'altra parte della giornata ad altri lavori e sii disciplinato al riguardo. Uno svantaggio di questo è che ho finito per lasciare che il lavoro di non programmazione occupasse tutto il mio tempo di 8-5 e facessi il mio lavoro di programmazione di notte, il che è un male per l'equilibrio tra lavoro e vita.
  2. Istruzione - Qui è dove persone come Joel stanno facendo il lavoro di yeoman - facendo capire che il costo di un'interruzione di 15 minuti può essere molto maggiore di 15 minuti. (ad es. http://www.joelonsoftware.com/articles/fog0000000022.html )
  3. Sviluppo del team, documentazione - Assicurati di non essere l'unica fonte di conoscenza per i componenti 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 fare qualcosa. È meglio essere davvero bravi a farlo, però.

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 cose diversamente, mai. Come qualcuno che trascorre del tempo fuori dal lavoro leggendo blog e libri, ascoltando podcast e guardando video di modi migliori per fare le cose in modo professionale, trovo che questo mi stressi davvero perché il 95% delle volte sono l'unica persona del team, se non nell'intera azienda, che capisce perché, ad esempio, scrivere test unitari è buono o perché è male avere migliaia di righe di codice in una singola classe (o classi che fanno una mezza dozzina di cose diverse), e cercare di educare i miei colleghi si traduce in entrambi gli sguardi vuoti, le scuse di "Non abbiamo tempo per sistemarlo "," Non lo useremo mai perché non l'abbiamo mai usato prima. "O" Quello "s non come facciamo le cose ", o nel peggiore dei casi mi viene mostrato la porta e licenziato per aver cercato di cambiare le cose in meglio.


Dopo essere stato licenziato da un lavoro nel luglio '12 per aver cercato di cambiare le cose in meglio, posso tranquillamente dire che questa è la rovina della mia esistenza.
Wayne Molina,

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. feedback insufficiente da parte degli utenti
  3. incolpare la cultura
  4. mancanza di atmosfera di fiducia.

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

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


4

"Altre funzioni assegnate".

Ho dovuto rispondere ai telefoni. Ho dovuto lavorare in magazzino. Ho dovuto fare l'inventario. Ho partecipato a riunioni aziendali per tutto il giorno. Ho persino dovuto uscire e fare una manutenzione limitata del prato.

Non so se prenderò mai un altro lavoro che lo ha incluso nella descrizione.


Ho trascorso metà di ieri a districare un casino di cavi che inizialmente sembrava che il Cheshire Cat avesse vomitato sul pavimento una gigantesca palla di pelo arcobaleno. Non esattamente nella descrizione del mio lavoro ...
Beekguk,

Questo è certamente vero, soprattutto in molti ambienti di piccoli uffici. Alcune persone trovano divertente la varietà, ma la maggior parte no.
PeterAllenWebb,

Odio il fatto che la maggior parte delle aziende includa quella linea come un tuttofare per significare "Tutto ciò che il capo ti dice di fare". No, idiota - mi stai pagando per fare il LAVORO X perché sono un professionista del LAVORO X. Ciò non significa che farò qualsiasi cosa tu dica.
Wayne Molina,

2

Cattiva gestione. Non posso dirvi quante storie ho vissuto o visto di manager (soprattutto senior manager e persone delle migliori aziende) che prendono decisioni scandalose senza consultare qualcuno che in realtà sa qualcosa sulla zona che hanno deciso o che non consultano gli appunti delle precedenti riunioni prima di procedere nella direzione opposta, come deciso.

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.