it-swarm-id.com

Berurusan dengan frustrasi ketika segalanya tidak berhasil

Anda pernah mencoba menerapkan sesuatu yang sederhana tetapi untuk beberapa alasan aneh itu tidak berhasil.

Jadi Anda mencoba solusi yang mungkin tetapi kemudian sesuatu yang lain tidak berhasil. Anda terus mencoba solusi yang berbeda tetapi setiap kali sesuatu yang berbeda tidak berhasil.

Setiap kali Anda mendapatkan satu langkah lebih dekat, Anda juga mendapatkan satu (atau lebih) langkah lebih jauh dari penyelesaian masalah ini dan sekarang sudah 3 jam ketika ini seharusnya memakan waktu Anda 10 menit. Dan masih belum terpecahkan.

Tidak ada seorang pun di perusahaan Anda yang dapat membantu, dan Anda akan mengepalkan layar Anda.


Pada titik ini Anda sangat frustrasi sehingga Anda tidak bisa lagi memikirkan masalah dengan jelas. Apa yang harus Anda lakukan pada titik ini? Atau apa yang dapat Anda lakukan untuk menghindari mencapai titik ini?

63
JD Isaacks

Meskipun ini adalah masalah nyata, ini tidak khusus untuk pemrograman. Namun, ini IMHO sangat penting sehingga layak mendapat tempat di forum ini.

Saran saya: istirahat. Berjalan-jalan, bermeditasi, tidur, melakukan aktivitas fisik * - melakukan sesuatu yang sama sekali berbeda untuk biarkan otak Anda untuk rileks dan keluar dari kebiasaan mental, sambil membiarkan alam bawah sadar Anda mengerjakan masalah dengan tenang. Biasanya itu memberikan hasil yang sangat cepat - hanya perlu memberi tahu Anda tentang hal itu. Tetapi sementara pikiran sadar Anda mati-matian mengulangi siklus pemikiran yang sama berulang-ulang, ia tidak akan dapat mendengarkan hal lain.

apa yang dapat Anda lakukan untuk menghindari mencapai titik ini?

Teknik relaksasi dan perhatian adalah kunci untuk mengatasi reaksi stres dan memungkinkan pikiran Anda untuk fokus dengan jelas. Dan berlatih ini benar-benar bermanfaat. Ketika seseorang berpengalaman dalam hal ini, dia sudah bisa perhatikan tingkat stres naik sebelum frustrasi bisa mengambil alih. Kemudian seseorang dapat mengganggu siklus pemikiran, mis. dengan menarik napas dalam-dalam, atau melakukan latihan relaksasi selama beberapa menit. Mungkin inilah yang dibutuhkan pada saat itu.

* Cium pasanganmu, belai peliharaanmu - saran dari istriku :-)

70
Péter Török

sekarang sudah 3 jam ketika ini seharusnya memakan waktu 10 menit.

Kata ajaibnya adalah harus. Tegaskan itu dari kosakata Anda.

Siapa bilang butuh 10 menit? Khususnya siapa? Apa dasar faktual untuk klaim mereka?

Jika Anda telah melakukan 3 kali sebelumnya, dan setiap kali Anda hampir 10 menit, Anda memiliki dasar rasional untuk harus.

Jika Anda belum pernah melakukannya sebelumnya, mengatakan seharusnya hanya mengatur diri sendiri untuk kegagalan. Anda harus berhenti menggunakan harus hari ini.

35
S.Lott

Temukan seseorang untuk digunakan sebagai papan suara

Bahkan jika tidak ada yang memiliki keahlian dalam apa yang Anda kerjakan, itu ide yang baik untuk sering membicarakan hal-hal ini. Hanya tindakan semata menggunakan seseorang sebagai papan suara dapat membuat pikiran Anda mulai berputar. Anda akan menemukan diri Anda memikirkan hal-hal baru untuk dicoba. Ini juga akan mengurangi stres Anda untuk melampiaskan sedikit dan berpotensi membuat teman baru. Secara umum juga sehat bagi tim untuk merasa nyaman berbagi dan bersimpati satu sama lain untuk menghasilkan suasana yang berorientasi pada tim untuk memecahkan masalah-masalah semacam ini.

22
Doug T.

Pergi sebentar dan lakukan sesuatu yang lain. Tidur nyenyak dan kembali ke masalah di pagi hari.

Juga, jangan menyalahkan diri sendiri. Perkiraan sepuluh menit Anda jelas tidak benar, dan itu terjadi setiap saat.

9
jprete

Saya memiliki beberapa langkah ketika saya mencapai titik ini. Biasanya saya bisa mencari solusi jika saya mengambil waktu untuk mundur dan berefleksi.

Langkah 1: Berjalan menjauh dari masalah dan menjernihkan pikiran Anda. Kembalilah ketika Anda tidak frustrasi dan dapat melihatnya dengan pikiran yang segar.

Langkah 2: Kembali ke kode dan lihat apakah ada sesuatu yang Anda lewatkan. Minta seseorang datang dan menjadi mata kedua jika Anda tidak bisa membuat kepala atau ekornya.

Langkah 3: Hapus kode dari persamaan. Apa masalah yang Anda coba selesaikan? Tuliskan di selembar kertas atau papan tulis. Bicarakan masalah dengan seseorang untuk mendapatkan pendapat mereka tentang masalah dan solusi.

Langkah 4: Jangkau komunitas untuk melihat apakah mereka memiliki solusi atau apakah ada orang lain yang pernah menabrak tembok yang sama.

Pada dasarnya, ini dapat disimpulkan sebagai 'Hentikan peretasan dan menjauhlah dari kode'.

9
Tyanna

Saya akan mengajukan pertanyaan di sini dan minta komunitas membantu Anda menyelesaikannya. Kurang stres seperti itu.

2
Bernard

Saya memiliki nama khusus untuk situasi seperti ini: pertempuran pemrograman epik.

Jika saya belum memiliki setidaknya satu pertempuran pemrograman epik dengan bahasa atau alat pemrograman tertentu, dan memecahkan masalah, saya tidak dapat mengatakan pada diri sendiri bahwa saya dapat menggunakan bahasa atau alat pemrograman tersebut.

Jadi ada solusi saya: sebutkan itu seperti pertarungan dan ujian keberanian dan daya tahan. Jika saya tidak dapat menyelesaikan masalah, maka saya "hidup untuk bertarung di hari lain".

Ini mungkin terdengar agak konyol, tetapi, akan lebih menyenangkan dan memuaskan untuk memikirkannya dalam istilah ini (seperti itu adalah semacam permainan yang harus Anda menangkan) daripada menderita sepanjang jalan karena Anda harus menghadapi fakta itu Anda tidak tahu segalanya.

1
dukeofgaming

Saya memiliki solusi yang berbeda - TIDUR !!

Ketika Anda frustrasi dengan masalah, Anda tidak bisa dengan mudah keluar dari masalah itu. Jadi lebih baik jika Anda menjadi begitu lelah mencoba menyelesaikan masalah dan kemudian tertidur.

Ketika Anda bangun Anda akan memiliki perasaan segar dan lagi Anda dapat berpikir jernih dengan masalah tersebut. Terkadang saya melakukannya.

1
ruben

Temukan sesuatu untuk membantu membangun kembali kepercayaan diri adalah apa yang cenderung saya lakukan ketika saya mencapai titik ini. Ini bisa memecahkan teka-teki Sudoku atau Kenken, melakukan beberapa tugas administrasi sederhana tanpa berpikir seperti mengisi lembar waktu saya, atau keluar untuk berjalan-jalan. Kuncinya di sini adalah bagi saya untuk memiliki rasa prestasi dalam apa pun gangguan sisi kecil ini adalah untuk membantu memompa saya cukup untuk kembali naik kuda dan naik ke sana ke sana, untuk mencampur beberapa metafora di sana.

Sedangkan untuk menghindari mendapatkan ini buruk, saya kemungkinan akan menyarankan memiliki beberapa strategi dari hal-hal tinju waktu sehingga jika Anda percaya sesuatu akan memakan waktu 10 menit dan tiba-tiba satu jam kemudian dengan tidak banyak kemajuan, saya akan berhenti dan memiliki sedikit istirahat daripada mencoba terus membenturkan kepalaku ke dinding.

1
JB King

Baiklah ... Saya pikir Anda membutuhkan karier baru atau harapan yang sama sekali baru. Meskipun tentu saja tidak sering, mengambil 3, 4, 8, 10 atau 40 jam untuk melakukan apa yang awalnya Anda pikir akan menjadi pekerjaan 10 menit tentu tidak biasa dalam bisnis perangkat lunak. Saya yakin sebagian besar pengembang yang mengerjakan apa pun yang bahkan dari kompleksitas moderat telah memiliki tugas 2 hari berubah menjadi tugas 1 bulan setelah mereka menyelidiki dan memahami masalahnya.

Bagian dari menjadi pengembang yang baik adalah bersabar, jika tidak komputer akan menang dan Anda pada akhirnya akan memasukkan semacam peretasan perbaikan cepat yang sepertinya tidak berfungsi, tetapi pasti akan merusak sesuatu yang tidak Anda pikirkan. Jika sedikit keterlambatan menyebabkan Anda sangat tertekan maka Anda mungkin seharusnya tidak berada di jalur pekerjaan ini.

0
Dunk

Dua saran:

  1. Orang terpintar yang saya kenal, yang memiliki dua gelar PhD dan memiliki jabatan "Research Fellow", di sebuah perusahaan swasta bertubuh kecil, mengatakan ini

    Jika Anda sudah memikirkannya selama 15 menit dan Anda tidak memiliki jawabannya, Anda salah melakukannya.

    Berhentilah memikirkannya.

    Tidur siang. (jalan-jalan atau apalah)

    Jawabannya akan ada di sana ketika Anda bangun.

  2. Dapatkan buku David J Agan "Debugging". Ini mungkin akan mengajarkan Anda lebih banyak tentang debugging sehingga ketika sesuatu tidak berfungsi, Anda dapat men-debugnya dengan cepat.

0
Tim Williscroft

Ketika saya dihadapkan dengan sesuatu yang tidak berfungsi, saya selalu mengingat kutipan ini:

Ketika Anda berada di neraka, terus berjalan karena itu adalah hal terbaik yang dapat dilakukan pada saat itu.

Beristirahatlah, cobalah menyegarkan diri dan fokus pada masalah dengan tingkat energi baru.

0
Rachel

menggemakan rekomendasi orang lain:

  • situasi ini hampir selalu merupakan sesuatu yang sepele yang Anda hanya tidak melihat; istirahat
  • sepasang mata lain atau bahkan sekadar menjelaskan masalahnya pada kucing Anda bisa membantu

dan menambahkan:

  • periksa kembali asumsi Anda, terutama yang tidak disebutkan; kemungkinan Anda telah menggonggong pohon yang salah
  • membalikkan situasi: anggap perilaku saat ini adalah hasil yang diinginkan, jadi apa yang harus Anda lakukan terhadap kode untuk mewujudkannya?
  • tulis beberapa kode uji (menegaskan atau mencatat, atau breakpoint bersyarat - sederhanakan) untuk memverifikasi asumsi Anda di sepanjang jalur eksekusi
0
Steven A. Lowe

Kelelahan atau kurang tidur tidak pernah menjadi masalah bagi saya. Saya lebih frustrasi dengan kurangnya organisasi dalam industri secara keseluruhan, dan secara keseluruhan standar rendah yang kami tetapkan untuk diri kami sendiri. Inilah lima hal yang membuat saya frustrasi:

  1. API yang rumit dalam desain. Ini seperti mempelajari bahasa pemrograman yang sama sekali baru. Bahkan beberapa API jauh lebih sulit untuk dipelajari daripada belajar bahasa pemrograman baru. Saya mengagumi kecerdasan Anda, tetapi Anda bisa menghemat waktu saya dengan memasukkan dokumentasi yang saya perlukan untuk gelar Phd dalam rekayasa perangkat lunak atau ilmu komputer untuk memahaminya.

  2. Kurangnya dokumentasi yang baik. Saya tidak pernah bisa melupakan kenyataan bahwa begitu banyak desainer API menghabiskan banyak waktu dalam membuat API hanya untuk merilisnya dengan dokumentasi minimal. Terima kasih, tetapi bagaimana saya menggunakan ini? Apa yang harus dilakukan dalam situasi ini? dll.

  3. Implementasi eksklusif. Beberapa penerapan hak milik tidak masalah, tetapi jika standar ada, demi umat manusia, patuhi standar itu. Tidak ada yang lebih membuat frustrasi daripada menghabiskan waktu bertanya-tanya mengapa sesuatu tidak bekerja hanya untuk menemukan implementasi tidak mengikuti standar normal.

  4. Lingkungan/pembatasan kotak pasir. Ok, mungkin ini membantu mencegah orang jahat keluar, tetapi menurut saya, pembatasan apa yang bisa dilakukan oleh seorang programmer hanya membatasi kreativitas dan kemajuan teknologi. Banyak ide hebat yang telah saya hancurkan setelah mengetahui bahwa saya tidak diizinkan melakukan sesuatu. Industri pemrograman benar-benar dibuat untuk menghasilkan aplikasi sehari-hari, bukan perangkat lunak inovatif. Jadi, jika Anda memutuskan untuk menjadi seorang programmer Anda benar-benar memilih untuk menjadi penggerutu modern, kecuali jika Anda ingin menjadi seorang akademisi yang kesepian.

  5. Diskusi modern. Orang-orang saat ini masih memperdebatkan keburukan tanda kurung LISP, atau manfaat kebersihan Python, atau bagaimana beberapa bahasa seperti Cobol atau Fortran akan punah, dll, dll. Benarkah orang? Ini yang kita debat? Mari kita bicara tentang paralelisme, atau cara yang lebih baik untuk merancang sistem yang lebih aman, atau bagaimana pemrograman logika dapat meningkatkan kehidupan kita. Mari kita berhenti berpikir seperti coders dan mulai berpikir seperti desainer dunia masa depan.

Jadi saya pribadi tidak memprogram sebanyak itu lagi karena frustrasi ini. Sampai industri memutuskan ingin melakukan lebih dari sekedar membuat Facebook berikutnya, atau menemukan kembali pengolah kata saya siap. Saya akan menyerahkannya kepada kalian. Jujur tidak ada pelanggaran berarti, itu adalah uang baik.

0
annoying_squid

Terkadang, yang terbaik adalah tidak hanya mencoba meretas jalan melalui masalah. Luangkan waktu dan tuliskan dalam kode pseudo apa yang perlu Anda lakukan. Saya tahu ada tekanan untuk menyelesaikan sesuatu secepat mungkin, tetapi dari apa yang saya lihat, gaya pengkodean itu mengarah pada jenis situasi yang Anda gambarkan. Jika seseorang menulis kode yang hanya akan berfungsi dengan sejumlah kondisi dan perubahan itu, kode tersebut akan merusak atau melakukan hal-hal yang tidak terduga.

Juga (saya benci mengakui profesor saya benar tentang ini ...), mendokumentasikan dan pengujian unit membantu. Ini akan membuatnya lebih mudah untuk mengetahui bagian kode apa yang akan dikeluarkan mengingat set input. Kemudian, akan lebih mudah untuk melihat apa efek perubahan pada bagian yang akan menyebabkan input.

0
John