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 itu 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?
sumber
Jawaban:
Meskipun ini adalah masalah nyata, ini tidak khusus untuk pemrograman. Namun, itu IMHO sangat penting sehingga layak mendapat tempat di forum ini.
Saran saya: istirahatlah . Berjalan-jalan, bermeditasi, tidur, melakukan aktivitas fisik * - lakukan sesuatu yang sama sekali berbeda untuk memungkinkan otak Anda rileks dan keluar dari kebiasaan mental , sambil membiarkan alam bawah sadar Anda mengerjakan masalah dengan tenang. Biasanya itu memberikan hasil 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.
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 dapat melihat tingkat stres meningkat sebelum rasa frustrasi dapat mengambil alih . Kemudian seseorang dapat mengganggu siklus pikiran misalnya dengan mengambil beberapa napas dalam-dalam, atau melakukan beberapa menit latihan relaksasi. Mungkin inilah yang dibutuhkan pada saat itu.
* Cium pasanganmu, belai peliharaanmu - saran dari istriku :-)
sumber
Kata ajaib itu seharusnya . 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 mendekati 10 menit, Anda memiliki dasar rasional untuk suatu keharusan .
Jika Anda belum pernah melakukannya sebelumnya, mengatakan seharusnya hanya membuat diri Anda gagal. Anda harus berhenti menggunakan seharusnya hari ini.
sumber
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.
sumber
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.
sumber
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'.
sumber
Saya akan mengajukan pertanyaan di sini dan minta komunitas membantu Anda menyelesaikannya. Kurang stres seperti itu.
sumber
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.
sumber
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 akan menyarankan memiliki beberapa strategi waktu-kotak 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 untuk terus membenturkan kepalaku ke dinding.
sumber
Saya memiliki nama khusus untuk situasi seperti ini: pertempuran pemrograman epik .
Jika saya belum pernah mengalami setidaknya satu pertempuran pemrograman epik dengan bahasa atau alat pemrograman tertentu, dan menyelesaikan masalah, saya tidak dapat mengatakan pada diri sendiri bahwa saya dapat menggunakan bahasa atau alat pemrograman tersebut.
Jadi ada solusi saya: katakanlah itu seperti perkelahian dan ujian keberanian dan ketekunan . Jika saya tidak bisa 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 kenyataan bahwa Anda tidak tahu segalanya .
sumber
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 sedang 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 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.
sumber
Dua saran:
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.
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.
sumber
Ketika saya dihadapkan dengan sesuatu yang tidak berfungsi, saya selalu ingat kutipan ini:
sumber
menggemakan rekomendasi orang lain:
dan menambahkan:
sumber
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 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.
sumber
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:
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.
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.
Implementasi eksklusif. Beberapa penerapan hak milik adalah ok, 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.
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 akademisi yang kesepian.
Diskusi modern. Orang-orang saat ini masih memperdebatkan keburukan tanda kurung Lisp, atau kelayakan kebersihan Piton, 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 yang baik.
sumber