Bagaimana Anda mengatasi kelelahan pemrograman? [Tutup]

48

Bukan kelelahan seperti pada 'Aku butuh tidur' tetapi kelelahan seperti dalam 'Aku tidak bisa diganggu lagi' yang biasanya muncul ketika kamu mencapai penghalang jalan dalam proyek apa pun yang sedang kamu kerjakan, umumnya semakin dekat kamu ke tenggat waktu.

Itu bisa dalam proyek kerja atau proyek pribadi, tapi itu sesuatu yang terus saya hantam belakangan ini. Saya akan mendapatkan ide, mulai mengerjakannya, memiliki beberapa hari yang sangat baik dan membuat kemajuan, kemudian hanya beberapa hal yang niggly akan membuat saya tersandung, saya tidak dapat membuat hal-hal bekerja seperti yang Anda inginkan, saya telah mencapai batasan dalam kerangka, saya punya masalah yang tidak dapat saya temukan dokumentasi, dll. dan itu terlalu membuat frustrasi.

Atau aku sendirian dalam hal ini?

sevenseacat
sumber
4
Apakah kemajuan Anda dapat diukur dalam proyek Anda bahkan ketika Anda mencapai penghalang jalan? Jika tidak, pertimbangkan untuk membuatnya terukur. Visibilitas dari kemajuan yang mantap adalah yang terbaik yang saya tahu.
7
Ini mengingatkan saya pada Mort (Terry Pratchett) - bagian di mana Mort membersihkan kotoran di kandang. "Lihat Mari, pikirnya, saya sudah melakukan hampir seperempat, sebut saja ketiga, jadi ketika saya sudah melakukan yang pojok hayrack itu akan lebih dari setengah, menyebutnya lima perdelapan, yang berarti tiga beban gerobak ... Itu tidak membuktikan apa-apa kecuali bahwa keindahan alam semesta yang menakjubkan jauh lebih mudah untuk dihadapi jika Anda menganggapnya sebagai serangkaian bongkahan kecil. "
Steve314
@ Steve314: +1 Batu Pratchett.
Orbling
Coba efek Catfish .
rwong
@ rwong: Sebagian besar proyek saya adalah proyek solo (atau tim yang sangat kecil). Memang terdengar seperti ide yang menarik.
sevenseacat

Jawaban:

42

Penundaan

Apa yang Anda gambarkan mungkin menunda-nunda . Ini adalah fenomena yang sangat umum. Klik pada tautan dan baca tentang Teori Motivasi Temporal .

Untuk mengatasi penundaan, saya membuat daftar. Ketika saya merasa saya menunda-nunda, saya membuka daftar dan memaksa saya untuk mengerjakan item pertama. Setelah beberapa menit, saya masuk ke zona atau aliran seperti yang dijelaskan oleh psikolog Mihály Csíkszentmihályi .

Anda harus mengenali Anda dalam gambar ini:

teks alternatif

8bree
sumber
2
+1 untuk memaksa diri sendiri. Saya menemukan hal yang sama dengan saya; Memulai adalah bagian tersulit.
Michael K
2
Apakah Anda tidak menemukan selama bertahun-tahun bahwa semua proyek turun pada sumbu vertikal. Cenderung juga ada pergerakan pada horizontal.
Orbling
Saya telah menunda-nunda sepanjang hari hari ini alih-alih mengkode proyek open source saya. Sialan.
gruszczy
1
+1 untuk mengatasi masalah ini.
Conor
2
Saya menemukan bahwa jika daftar hanya memiliki tugas-tugas yang tidak menyenangkan di atas maka hampir mustahil untuk memaksa diri untuk melakukannya ...
Roman Starkov
10

Yang berhasil bagi saya adalah menjauh dari masalah yang menjadi penghalang. Ini mungkin berarti karena orang lain telah menyarankan untuk mengerjakan bagian lain dari basis kode. Ini mungkin berarti lari. Saya telah menemukan bahwa memukul kepala seseorang terhadap penghalang hanya memperkuat penghalang. Mengubah fokus Anda ke sesuatu yang tidak terkait akan memungkinkan pikiran bawah sadar Anda untuk mengatasi masalahnya. Saya telah terkejut berkali-kali dengan menemukan solusinya saat mandi dll.

Jeff
sumber
4
Mandi pasti tempat yang bagus untuk memperbaiki bug.
Orbling
Itu poin yang sangat bagus tentang hanya memperkuat penghalang. Saya pikir itu yang perlu saya lakukan, memecah proyek menjadi bagian-bagian yang berbeda sehingga ketika otak saya sudah cukup satu, beralih ke yang lain, gunakan bagian otak yang berbeda.
sevenseacat
8

Seorang programmer harus memiliki drive yang lebih besar daripada Green Lantern's . Gatal kecil yang kita miliki ketika sesuatu tidak berfungsi kita mencoba menggali lebih dalam dan mencari tahu mengapa, apakah itu dengan mengajukan pertanyaan atau membaca buku.

Apa yang dapat Anda lakukan untuk menghentikan kelelahan itu adalah menjauh dari masalah sebentar dan mengerjakan aspek lain dari tugas yang diberikan kepada Anda.

Bagi saya, tugas pemrograman yang membuat saya rileks seperti anak kecil sedang mengerjakan GUI. Itu sangat mudah dan memungkinkan saya untuk mematikan otak. Ini juga memberi otak saya efek plasebo yang saya selesaikan.


sumber
Jadi pada dasarnya, tetap terbenam dalam proyek, tetapi dalam kesibukan? Dan ya itu perasaan terburuk - ketika Anda telah menempatkan semua waktu ini dalam sesuatu, dan masih merasa seperti Anda belum mencapai apa pun.
sevenseacat
3
@ Karpie Anda masih melakukan sesuatu. Melakukan beberapa 'kesibukan' memungkinkan Anda untuk terus mengerjakan sesuatu yang perlu dilakukan, tetapi itu bukan sesuatu yang mengharuskan otak Anda untuk menembaki semua silinder.
Saya tidak tahu - pekerjaan GUI sepertinya selalu berjalan di tempat bagi saya. Membuatnya berfungsi dengan benar dan bisa digunakan itu menyenangkan dan menantang, tetapi membuatnya terlihat bagus sangat sulit bagi saya.
Michael K
Ketika saya menjauh sebentar seperti ini, sekitar 50% dari waktu saya tidak pernah kembali ...: /
Roman Starkov
6

Saya memiliki kecenderungan untuk jatuh ke daerah ini, hampir sepanjang waktu.

Memulai sebuah proyek itu mudah, semuanya baru, hal-hal untuk diteliti dan dicari tahu, prototipe untuk dibangun, semuanya menyenangkan. Namun seiring tantangan itu memudar, minat saya pun berkurang. Memperoleh versi produksi dari perangkat lunak yang dibangun, menghilangkan bug kecil konyol yang ada karena masalah yang tidak jelas dengan beberapa platform yang harus Anda gunakan.

Cukup membuatmu bosan sampai mati.

Saya tidak pernah menemukan sesuatu yang terlalu membantu dengan ini, saya hanya bekerja atau bermain dengan sesuatu yang sangat berbeda (stackoverflow bagus untuk ini), sampai saya bosan dengan hal-hal lain dan mulai merasa bersalah. Kemudian lakukan sedikit pekerjaan yang membosankan. Produktivitas berkurang hingga sekitar 20%, tetapi itu adalah beban pengkodean yang membosankan.

Ada satu solusi, pemrograman tim, sangat sulit untuk diam ketika orang lain terlibat langsung.

Orbling
sumber
1
+1, membangun tim bekerja dengan sangat baik. Sayangnya, sangat sulit untuk membuat orang lain tertarik pada proyek pribadi Anda.
dan_waterworth
@dan_waterworth: Benar, meskipun sudah bertahun-tahun sejak saya memprogram untuk diri saya sendiri. 60-80 jam minggu, dengan liburan kecil yang berharga selama bertahun-tahun agak menghilangkan keinginan.
Orbling
2
+1 untuk kejujuran: "... sampai aku bosan dengan hal-hal lain dan mulai merasa bersalah ... Produktivitas berkurang menjadi sekitar 20% ..."
Kavka
Bisakah Anda memberikan lebih spesifik dalam pemrograman tim?
Esqarrouth
6

Pemrograman Pasangan

Saya menemukan pemrograman pasangan sangat membantu dalam kasus ini. Temukan seseorang yang cocok dengan Anda dan seranglah masalah, tidak ada yang lebih baik dari pendapat lain atau papan suara untuk melewati blok jalan. Begitu Anda mulai membuat kemajuan lagi, antusiasme cenderung kembali dengan sendirinya.

Sayangnya ini tidak disukai di perusahaan kami, jadi saya cenderung hanya melakukan ini ketika saya benar-benar dapat merasakan masalah yang mempengaruhi produktivitas saya.

Andy Lowry
sumber
+1, karena itulah satu-satunya hal yang saya sarankan dalam jawaban saya, meskipun menyebutnya pemrograman tim, karena lebih dari dua adalah baik. ;-)
Orbling
3

Belajar bahasa baru. Tidak ada yang seperti belajar bahasa baru untuk memicu minat Anda. Saya sarankan Haskell.

dan_waterworth
sumber
1
+1 Untuk bahasa baru, +1 untuk Haskell. Namun, penghitungan suara tampaknya menghasilkan 1 + 1 = 1.
Orbling
1
@Orbling, itu karena1 | 1 = 1
dan_waterworth
Saya pikir 1 & 1 = 1akan lebih dekat dengan niat saya. ;-)
Orbling
1
@Orbling, bagaimana P(vote) = S((1 + 1)/t), di mana S(x)fungsi sigmoid? (Anda dapat memilih suhu sistem).
dan_waterworth
Itulah yang saya coba dengan proyek terbaru saya, saya mencoba belajar Ruby and Rails! Itu adalah bagian tentang dokumentasi yang tidak ada di sana, heh ...
sevenseacat
2

Saya mulai memukul daerah lain selama satu jam atau. Saya menggunakan Eclipse di tempat kerja, dan Eclipse memungkinkan Anda memasukkan // TODO:kode Anda dan menyusun semuanya di jendela untuk Anda. Jika saya melihat sesuatu yang ingin saya ubah atau perbaiki saat saya mengerjakan sesuatu yang lain, saya memasukkan TODO jadi saya tidak merusak momentum saya. Ketika saya macet terlalu lama, (lebih dari satu atau dua jam) saya akan mulai mengerjakan daftar. Ini memberikan perubahan pemandangan dan sebagian besar waktu perubahannya cukup sederhana, yang membantu saya bersantai. Seringkali jawabannya akan muncul, sementara masih membiarkan saya merasa bahwa saya sedang melakukan sesuatu.

Catatan: Saya suka refactoring dan membuat bagian kode lebih baik dan lebih baik. Jarak tempuh Anda mungkin beragam.

Michael K.
sumber
1
+1 Ini adalah sesuatu yang selalu saya lakukan, terutama membantu memastikan kelancaran aliran kode. Tentu saja, jika mengikuti doktrin pengkodean yang biasa, kode pseudo penuh di muka adalah ide yang baik, perlahan-lahan dikerjakan menjadi kode nyata.
Orbling