Stres apa yang dihadapi programmer pada pekerjaannya, dan bagaimana Anda menghadapinya? [Tutup]

74

Belajar mengelola stres sangat penting untuk tetap sehat saat bekerja di pekerjaan apa pun. Subtugas yang diperlukan adalah belajar mengenali dan membatasi sumber stres.

Tetapi, di tengah kesibukan sehari-hari, mungkin sulit untuk mengenali sumber-sumber stres (terutama untuk kepribadian yang intens dan terfokus seperti seorang programmer).

Apa jenis stressor yang harus diperhatikan oleh programmer, dan bagaimana mereka dapat dikelola?

pengguna8
sumber
2
Pertanyaan diskusi meta terkait: Haruskah
Coder adalah orang-orang optimis yang fokus pada kemungkinan, bukan momen yang menekan.
Independen
pasti ada sejumlah besar wiki komunitas di situs ini. boo. juga pertanyaan ini sangat konstruktif.
Garet Claborn

Jawaban:

100

Berikut adalah hal-hal yang menurut saya paling membuat saya stres dan pengembang di sekitar saya:

  1. Ambiguitas : Tujuan, persyaratan, atau harapan lain yang dinyatakan secara tidak efektif. Banyak perusahaan memiliki karyawan yang memiliki sikap"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. Tenggat waktu yang tidak pantas : Sebagian besar tenggat waktu ditetapkan oleh bisnis tidak perlu oleh kemampuan realistis dari pengembang pada staf. Selain itu, harapan untuk persyaratan meningkat tetapi anggaran / sumber daya tidak.
  3. Asumsi / harapan buruk : Programer memiliki kecenderungan untuk memiliki pendapat yang tinggi tentang kemampuan mereka (bukan sifat yang tidak diterima), dan karena ini mereka berharap orang lain dapat mencocokkan kemampuan, pemahaman, dan harapan mereka. Seringkali akan dibuat asumsi bahwa ada sesuatu "common knowledge"atau sejenisnya, dan ini bisa menjadi bencana besar dalam kategori stres. Sekarang, tidak hanya pakar bisnis tidak memenuhi harapan programmer, tetapi juga tidak kompeten untuk melakukan booting. Sebaliknya, jika programmer gagal memenuhi harapan bisnis, programmer dibiarkan frustrasi karena dia tidak diberi informasi yang mereka butuhkan untuk melanjutkan.
  4. Kurangnya rasa hormat : Banyak orang cenderung percaya bahwa hanya karena seseorang lemah dalam disiplin Anda, itu berarti mereka lemah dalam disiplin mereka. Ada alasan mengapa kita semua memiliki pekerjaan / kemampuan / harapan yang berbeda, dan penting untuk menghargai bahwa orang lain sangat mungkin sangat cakap dalam tugas yang diminta. Hanya karena seseorang tidak memiliki kemampuan Anda tidak berarti mereka tidak kompeten atau tidak mampu.
  5. Kurangnya kontrol diri : Ini dapat dimanifestasikan dalam banyak hal. Mungkin Anda seorang pekerja holistik yang menolak mengambil istirahat yang tepat. Ini mengarah pada membangun stres dan buruk. Mungkin Anda seorang peminum Jolt Cola yang meminum lebih banyak kafein dibandingkan saat stres menumpuk. Ini buruk bagi kesehatan Anda dan membuat respons stres Anda semakin buruk. Anda harus mengetahui batasan Anda, tahu apa yang memicu respons stres spesifik Anda, dan yang paling penting tahu bagaimana cara meredakan respons stres itu. Membawanya pada rekan kerja atau kolega tidak tepat dan hanya akan meningkatkan stres.
  6. Kurangnya keterampilan komunikasi : Seringkali kita tidak berbicara bahasa yang sama, dan saya tidak berbicara tentang bahasa Inggris, Jerman, atau India. Kami menggunakan kata-kata yang sama, tetapi kami tidak mengatakan hal yang sama. Orang harus spesifik dan terbuka tentang hal-hal yang tidak mereka pahami. Bahkan jika Anda pikir Anda mengerti, tidak ada salahnya untuk mengklarifikasi. Ingatlah bahwa metrik bisnis dapat berarti sesuatu yang berbeda dengan departemen yang berbeda dalam suatu organisasi.
  7. Pendarahan batas : Tetap bekerja di rumah dan di rumah. Hanya karena anak Anda yang berusia 7 tahun meninggalkan sepatunya di tengah lantai dan tidak membersihkan setelah sarapan tidak berarti Anda perlu mengunyah Tiffany dari yang baru karena dia belum memberi Anda spreadsheet persyaratan penagihan . Tanda yang sama, hanya karena Tiffany malas dengan spreadsheet tidak berarti bahwa istrimu layak diperlakukan dengan buruk di perjalanan pulang pergi. (Btw, Tiffany yang malang juga tidak pantas mendapatkan perawatan itu)
Joel Etherton
sumber
17

Saya pikir stressor terbesar bagi setiap programmer adalah kurangnya kepercayaan diri .

Ya, banyak pertemuan (tentu saja bukan rapat per se) tidak perlu, tetapi ada cukup banyak yang bisa saya lakukan sebagai programmer. Jika saya secara teratur harus menghadiri pertemuan yang - menurut pendapat saya - tidak perlu, daripada tanggung jawab saya untuk berdiri dan mengatakan "hei, saya tidak perlu berada di pertemuan itu - saya dapat menghabiskan waktu saya lebih produktif".

Hal yang sama berlaku untuk interupsi: Ya, itu merepotkan. Saya sudah melihatnya di beberapa perusahaan. Namun, sering kali, sekali lagi, ada beberapa hal yang bisa dilakukan. Seorang programmer tidak perlu memeriksa akun emailnya setiap lima menit dan merespons setiap email secara instan. Demikian juga, jika saya tidak ingin diganggu selama jangka waktu tertentu, saya mematikan pengirim pesan instan saya dan meneruskan telepon saya.

Ini hanya dua contoh - ada banyak lagi. Ya, kadang-kadang keadaan menjadi sulit. Tapi sebagian besar waktu, masalah yang kita bicarakan bisa diperbaiki dengan mudah dengan sedikit lebih percaya diri. Beritahu orang-orang di sisi lain dari loop komunikasi "ya, saya mendengar Anda dan saya menerima pesan Anda, tetapi saya akan membahasnya nanti".

Masalah terbesar adalah itu, yang kita ciptakan sendiri! ;-)

perdian
sumber
2
+1 Jawaban yang bagus. Namun, Anda mungkin bisa mengatakannya dengan kata-kata yang lebih sedikit. :-)
Matthew Rodatus
1 karena tidak hanya merupakan pemicu stres, ini juga dapat memengaruhi produktivitas.
COVAR
Jadi apakah ini kurangnya kepercayaan pada umumnya, atau kurangnya kepercayaan untuk mengatakan -tidak-?
Mitch
1
Bukan hanya mengatakan "tidak" - itu akan terlalu mudah. Ini untuk mengenali kapan harus mengatakan "ini bukan cara yang seharusnya" dan menawarkan alternatif. Mengatakan tidak hanya satu bagian darinya.
perdian
12

Bug komponen pihak ke-3

Ini bisa sangat menegangkan ketika Anda mendapatkan pembaruan pada beberapa komponen pihak ke-3 yang merusak sesuatu. Anda tidak memiliki kode sumber untuk di-debug atau dimodifikasi, tetapi jika sistem Anda bergantung padanya, itu bisa sangat menakutkan. Pergi dalam satu pagi untuk menemukan bahwa server kontrol sumber Anda berkinerja tidak terduga dan Anda mungkin kehilangan 2 minggu check-in dapat memberikan sedikit tekanan. Ini pada dasarnya adalah ide lapisan abstraksi bocor, ketika Anda tidak siap untuk itu. Lihatlah tiket bug terbuka pada teknologi Microsoft stack apa pun dan komentar itu pasti akan memberikan bukti tentang berbagai tekanan itu.

Morgan Herlocker
sumber
2
+1 Saya mengalami masalah yang sama ... sedang bekerja dengan perusahaan pihak ketiga yang layanannya buruk. Kode mereka nyaris tidak berfungsi - sering macet, lambat, dan tidak menghasilkan hasil yang berkualitas. Untungnya perusahaan tempat saya bekerja benar-benar memahami dan tahu masalahnya dengan perusahaan (yaitu mendengarkan pengembang mereka) - bukan saya. Tapi ini tidak terjadi dengan banyak perusahaan, dan pengembang in-house adalah orang yang disalahkan.
Wipqozn
10

Harapan yang tidak realistis. Saya melihat klien yang berharap bahwa mereka dapat menghabiskan 6 minggu dari periode desain 7 minggu untuk mendapatkan Anda file yang Anda butuhkan untuk memulai dan bertanya-tanya mengapa itu tidak dilakukan pada hari berikutnya. Saya telah melihat orang-orang yang berharap bahwa mereka dapat memberi Anda tugas baru pada 4:30 pada hari Jumat dan berharap bahwa Anda akan menghabiskan seluruh akhir pekan Anda untuk menyelesaikannya pada hari Senin untuk CEO. Saya telah melihat orang-orang yang membawa Anda keluar dari tugas prioritas tinggi untuk melakukan tugas prioritas tinggi kedua dan kemudian menjadi marah karena tugas pertama tidak selesai tepat waktu. Semua hal ini membuat stres bahkan ketika Anda telah melakukan yang terbaik untuk menjelaskan dengan jelas sejak awal mengapa harapan mereka tidak realistis.

Kurangnya kemampuan membaca pikiran. (Saya akan membuat keberuntungan saya pernah menemukan modul membaca pikiran itu.) Sangatlah sulit untuk mengetahui dalam pengujian pengguna bahwa apa yang mereka katakan kepada Anda bahwa yang mereka inginkan bukanlah apa yang sebenarnya mereka inginkan.

HLGEM
sumber
8

Banyak dari jawaban yang diberikan ini sangat bagus, terutama tekanan Joel yang tercantum dan yang berkaitan dengan kehilangan uang dan manajemen yang memaksa yang tidak mengerti apa yang mereka minta.

Beberapa stres utama yang saya temui datang dari

  • Inheriting Spaghetti Code

    • Saya sudah memiliki pengalaman gila di mana roda pasti perlu diciptakan kembali. Bayangkan dipekerjakan setelah pengembang lain membangun sendiri basis kode lebih dari setahun atau lebih hanya untuk mengetahui mereka tidak tahu apa yang mereka lakukan, gagal total dan dipecat. Setibanya Anda diberitahu pekerjaan Anda adalah untuk 'membuat ini berfungsi'. Tentu saja ada sekitar satu baris catatan per 4000 baris kode. Kurangnya modularitas dan sedikit atau tanpa arah. Di atas itu semua, semuanya jauh melampaui memiliki nama 'aneh' (yang dapat dimengerti dan kadang-kadang hebat) menjadi sekadar 'kesederhanaan'
    • Anda seharusnya memiliki dua sub poin: P (kode Spaghetti buruk, m'kay?)
  • Ada bug. Anda TAHU untuk fakta mutlak bahwa itu memiliki menjadi semacam melibatkan satu atau dua perubahan karakter kecil. Tenggat adalah besok, Anda harus menyelesaikan 3 fitur. Bug ini membutuhkan waktu 5 jam untuk menemukannya dan Anda tidak dapat mengabaikannya. ; (Aduh lol.

  • Mencoba menjelaskan yang sebelumnya

  • Terjebak di meja karena kendala bisnis sementara jika Anda bisa berjalan kaki satu jam di taman dan kembali, Anda akan memiliki kode emas yang menunggu untuk melompat dari ujung jari Anda. Terburuk pribadi saya, saya harus melihat beberapa pohon dan langit jika Anda ingin saya membuat kode yang baik dan kemajuan cepat. Setidaknya setengah dari pemrograman adalah seni. Temukan inspirasi.

  • Tidak terjebak di meja ketika Anda harus pulang karena kendala bisnis dan tidak bisa hanya bekerja 20 jam hari ini saat Anda berada di zona tersebut. Kadang-kadang saya mengklik dengan apa yang saya lakukan dan jika saya tidak bisa menarik semua yang tepat saat itu, itu tidak sama pada hari berikutnya .. Saya akan mengingat sebagian besar tetapi perlu tiga kali lebih lama untuk mendapatkannya turun dan tidak cukup baik pula.

  • Terkadang kopi / bahan habis pakai lainnya memperburuk dan otak saya tidak mau mendengarkan pikiran saya seperti yang saya inginkan. =)

  • Istirahat 15 menit. Cukup untuk mengusir saya, tidak cukup untuk membuat otak segar. Boooooo.

  • Ada saat-saat saya memilih perpustakaan baru atau..worse..a kerangka baru. Ini telah menjadi salah satu tugas paling mengejutkan yang membuat saya stres. Ketika berjalan dengan benar atau bahkan ok-ish, itu indah. Kadang-kadang ketika memburuk ... oh boy Anda dapat duduk di sana sambil mencoba melakukan tes tanpa henti dari gaya yang berbeda dan membuat kepala Anda dipenuhi dengan terlalu banyak antarmuka sehingga bagian-bagian pikiran saya mulai menutup dan berkata "tidak, tidak ... saya tidak akan melakukannya. Terlalu buruk. Pergi. " Hanya untuk dipaksa untuk mengalahkan mereka agar tunduk. Le menghela nafas.

  • Jenis kesalahan linker yang buruk. Saya tidak yakin bagaimana menggambarkannya.

  • Mengimpor data dalam jumlah besar dari format file yang mengganggu ke objek Anda. Ini kadang-kadang sangat menyenangkan dan sering membuat Anda cepat sekali padahal sebenarnya tidak. Saya ingat bekerja dengan format excel lama ini yang memiliki beberapa horor karakter pelarian yang sangat rumit dan tidak berdokumen. Ini bersamaan dengan fakta bahwa informasi di kolom aktual yang kami ekstrak penuh dengan karakter yang funky, ... masih menghantui saya. Aku terus berpikir "aha itu bekerja sekarang !! ....! ............ oh ... tidak apa-apa .."

Garet Claborn
sumber
6

Saya pikir banyak tekanan adalah hasil dari premis berikut:

  1. Pemrogram yang baik sering kali adalah orang-orang yang dapat menyelesaikan beberapa tugas non-pemrograman (dukungan produksi / pemecahan masalah, dokumentasi, menjawab pertanyaan dari bisnis atau anggota tim lainnya, menawarkan pendapat teknis tentang arah masa depan) paling efisien.
  2. Pemrograman adalah kegiatan yang paling baik dilakukan dalam waktu yang lama tanpa gangguan.
  3. Memahami Premis # 1 >> Memahami Premis # 2.

Akibatnya, programmer sering diminta untuk melakukan sejumlah hal berbeda, yang mengikis produktivitas dan kualitas pekerjaan mereka dalam kerajinan yang mereka pilih. Manajer yang melakukan panggilan ini melihat ini sebagai "menang," karena masalah akut telah diselesaikan dengan cepat dan efisien, dan biayanya tidak segera terlihat.

Ada beberapa strategi untuk mengelolanya, dengan berbagai kelebihan dan kekurangan.

  1. Manajemen waktu - Luangkan sebagian hari Anda untuk pemrograman, dan bagian lain dari hari Anda untuk pekerjaan lain, dan disiplinkan tentang hal itu. Salah satu kelemahan dari ini adalah bahwa saya akhirnya membiarkan pekerjaan non-pemrograman menghabiskan semua waktu saya 8-5, dan melakukan pekerjaan pemrograman saya di malam hari, yang buruk untuk keseimbangan kerja / kehidupan.
  2. Pendidikan - Di sinilah orang-orang seperti Joel melakukan pekerjaan yeoman - menyampaikan bahwa biaya interupsi 15 menit bisa jauh lebih besar dari 15 menit. (mis. http://www.joelonsoftware.com/articles/fog0000000022.html )
  3. Pengembangan tim, dokumentasi - Pastikan Anda bukan satu-satunya sumber pengetahuan untuk bagian penting teknologi perusahaan Anda.
  4. Kepribadian Nasty - Saya hanya setengah bercanda. Jika Anda mengembangkan reputasi merespons dengan menggeram terhadap gangguan, orang akan cenderung menemukan cara lain untuk menyelesaikan sesuatu. Anda lebih baik melakukannya dengan baik.
JohnMcG
sumber
6

Stresor utama yang saya temui adalah apa yang saya suka sebut " Sindrom Mort". Pada dasarnya itu adalah sikap beberapa pengembang yang biasa-biasa saja baik-baik saja, dan tidak perlu meningkatkan atau melakukan hal-hal yang berbeda, selamanya. Sebagai seseorang yang menghabiskan waktu di luar pekerjaan membaca blog dan buku, mendengarkan podcast dan menonton video cara yang lebih baik untuk melakukan hal-hal secara profesional, saya menemukan ini benar-benar membuat saya stres karena 95% dari waktu saya satu-satunya orang di tim, jika tidak di seluruh perusahaan, yang mengerti mengapa, misalnya, tes unit menulis baik atau mengapa itu buruk untuk memiliki ribuan baris kode dalam satu kelas (atau kelas yang melakukan setengah lusin hal yang berbeda), dan mencoba mendidik rekan kerja saya menghasilkan tampilan yang kosong, alasan "Kami tidak punya waktu untuk memperbaikinya "," Kami tidak akan pernah menggunakannya karena kami belum pernah menggunakannya sebelumnya. "Atau" Itubukan bagaimana kita melakukan sesuatu ", atau dalam skenario yang lebih buruk saya ditunjukkan pintu dan dipecat karena mencoba mengubah sesuatu menjadi lebih baik.

Wayne Molina
sumber
Setelah dipecat dari pekerjaan Juli '12 karena mencoba mengubah keadaan menjadi lebih baik, saya dapat dengan aman mengatakan bahwa ini adalah kutukan dari keberadaan saya.
Wayne Molina
4

Akan sulit untuk mendapatkan jawaban umum untuk pertanyaan ini. Orang berkembang di bawah kondisi yang berbeda.

  1. terlalu banyak pekerjaan dalam waktu yang terlalu singkat
  2. umpan balik terlalu sedikit dari pengguna
  3. budaya menyalahkan
  4. kurangnya atmosfer kepercayaan.

Saya cenderung menemukan bahwa pekerjaan adalah penyebab stres paling kecil bagi kebanyakan orang, bukan programmer khususnya. Ini adalah hal-hal asing seperti budaya perusahaan, suasana unit, masalah komunikasi yang paling menyebabkan stres bagi kebanyakan orang. Bukannya mereka tidak bisa menangani pekerjaan; itu karena mereka tidak bisa menangani suasana di dapur jika Anda suka.

Diskusi yang lebih bermanfaat mungkin lebih fokus pada solusi untuk masalah tersebut.

temptar
sumber
4

"Tugas lain seperti yang ditugaskan".

Saya harus menjawab telepon. Saya harus bekerja di gudang. Saya harus melakukan inventaris. Saya telah menghadiri rapat perusahaan sepanjang hari. Saya bahkan harus keluar dan melakukan pemeliharaan halaman yang terbatas.

Saya tidak tahu apakah saya akan pernah mengambil pekerjaan lain yang memiliki itu sebagai bagian dari deskripsi.

John Kraft
sumber
Saya menghabiskan setengah dari kemarin mengurai berantakan kabel yang awalnya tampak seperti Kucing Cheshire telah memuntahkan bola rambut pelangi raksasa ke lantai. Tidak persis dalam uraian tugas saya ...
Beekguk
Ini tentu benar, terutama di banyak lingkungan kantor kecil. Beberapa orang menganggap variasi itu menyenangkan, tetapi kebanyakan tidak.
PeterAllenWebb
Saya benci kenyataan bahwa sebagian besar perusahaan memasukkan garis itu sebagai tanda "berarti apa pun yang diperintahkan bos kepada Anda." Tidak, jackass - Anda membayar saya untuk melakukan JOB X karena saya seorang profesional di JOB X. Itu tidak berarti saya akan melakukan apa pun yang Anda katakan.
Wayne Molina
2

Manajemen yang buruk. Saya tidak bisa memberi tahu Anda berapa banyak kisah yang pernah saya alami atau lihat tentang manajer (terutama manajer senior dan karyawan perusahaan papan atas) membuat keputusan yang keterlaluan tanpa berkonsultasi dengan siapa pun yang benar-benar tahu apa-apa tentang bidang yang telah mereka putuskan, atau mereka tidak berkonsultasi catatan dari pertemuan sebelumnya sebelum bergerak maju ke arah yang berlawanan seperti yang diputuskan.

Tom A
sumber