it-swarm-id.com

Bagaimana cara menjelaskan kepada orang awam mengapa pengembang tidak boleh diganggu saat berada dalam pengodean?

Jika Anda hanya mempertimbangkan bagian kedua dari pertanyaan saya, "Mengapa pengembang tidak boleh terputus sementara dalam pengkodean", yang telah dibahas beberapa kali oleh orang-orang pintar. Heck, bahkan salah satu pendiri SO, Joel Spolsky, menulis posting blog tentang "masuk zona" dan "tersingkir dari zona" dan mengapa dibutuhkan rata-rata 15 menit untuk mencapai produktivitas ketika berpartisipasi dalam tugas pengembangan perangkat lunak kompleks yang terkait. Jadi saya pikir mengapa sudah ada.

Yang saya tertarik adalah bagaimana menjelaskan semua itu kepada seseorang yang tidak tahu kacang tentang Kacang (khmm maksud saya pengembangan perangkat lunak). Bagaimana cara memberi tahu istri, atau pria lucu dari akuntansi di tempat kerja, atau teman lama yang menelepon Anda di Skype setiap 30 menit dengan "Wazzzzzzup ?!", bahwa semua gangguan memiliki dampak yang jauh lebih dalam pada pekerjaan Anda daripada jelas 30 detik yang mereka ambil dari waktu Anda. Jelas Anda tidak dapat menjelaskannya dengan kalimat seperti "Saya harus menyulap banyak nama variabel dalam ingatan jangka pendek saya" kecuali Anda ingin menjadi sasaran tatapan kosong atau penyalahgunaan ramah.

Saya ingin dapat menjelaskan semua itu kepada non-pengembang dengan cara yang akan membuat mereka mengerti dengan jelas - tanpa menyinggung, elitis atau terlalu teknis.

EDIT: Terima kasih kepada semua orang atas wawasannya yang luar biasa. Saya telah menerima jawaban EpsilonVector karena analoginya yang paling dekat dengan kebutuhan asli saya. Penjelasan "jatuh tertidur" tidak menyinggung atau teknis, hampir semua orang dapat mengaitkannya, dan konsekuensi dari menjadi terganggu saat tertidur atau saat berada di zona sangat mirip: Anda mengalami frustrasi dan Anda "kehilangan" 15-20 menit waktu.

92

Coba analogi berikut ini: Yang pertama: "Berapa lama bagi Anda untuk tertidur?" "X menit" "Sekarang bayangkan bahwa ketika kamu hampir jatuh tertidur, seseorang masuk dan menyela kamu, berapa lama kamu akan tertidur sekarang? Beberapa detik yang telah kamu tinggalkan, atau kamu harus mulai lagi untuk ' tenggelam kembali ke tempatmu tadi? " "Aku harus mulai lagi." "Hebat. Hal yang sama. Sama seperti tertidur, aku butuh waktu untuk 'tenggelam' ke mode fokus, dan perlu beberapa saat untuk kembali ke sana setelah aku terganggu, kecuali bahwa saya juga lupa setengah dari apa yang saya lakukan. "

Yang kedua: "Anda tahu bagaimana ketika Anda membaca buku Anda 'tenggelam ke dalamnya'- setelah beberapa saat Anda bahkan tidak melihat kata-kata lagi, dan Anda memblokir segala sesuatu di sekitar Anda, dan benar-benar tenggelam dalam gambaran mental kamu melihat." "Iya." "Berapa lama bagimu untuk sampai di sana?" "Sekitar X menit" "Sekarang bayangkan bahwa ketika Anda terbenam dalam buku seseorang berjalan dan menyela Anda, berapa lama waktu yang Anda butuhkan untuk kembali ke sana? Apakah itu akan terjadi segera, atau Anda harus mulai lagi untuk ' tenggelam kembali ke tempatmu tadi? " "Aku harus mulai lagi." "Hebat. Hal yang sama. Sama seperti membaca, perlu beberapa saat untuk 'tenggelam' ke mode fokus, sama menjengkelkannya ketika seseorang menghancurkanku darinya, dan aku hanya butuh selama saya kembali ke sana begitu saya terganggu, kecuali bahwa saya juga lupa setengah dari apa yang saya baca. "

124
EpsilonVector

Saya tidak berpikir bahwa keadaan lamunan yang Joel gambarkan adalah teknis. Ini adalah pergeseran otak kanan yang sama yang dialami siapa pun ketika mereka menggambar atau jatuh di bawah mantra buku yang sangat bagus. ("Betty Edwards 'Menggambar di Sisi Kanan Otak" menggambarkannya dengan sempurna.) Setiap orang telah mengalami perasaan konsentrasi di mana Anda tidak menyadari berlalunya waktu.

Saya pikir itu merendahkan langsung untuk membayangkan bahwa ini adalah sesuatu yang hanya dipahami oleh orang-orang teknis, bahwa konsep ini perlu dikecilkan untuk dipahami oleh non-pengembang. Cukup jelaskan dengan bahasa sederhana - mereka akan mendapatkannya.

30
duffymo

Arahkan ulang utas internal Anda ke IO verbal, mis. Berbalik ketika mereka mengganggu Anda dan terus menggumamkan kode dan melihat ke jarak tengah sampai mereka menyerah dan pergi. Jika mereka berbicara, bergumam lebih keras.

23
Peter

Katakan kepada mereka bahwa pengkodean (atau masukkan aktivitas konsentrasi tinggi lainnya di sini) seperti menjadi pemain sirkus yang melakukan pelat putar bertindak .

Pertama Anda mulai dengan memutar satu piring pada tongkat, mulai, kemudian mulai memutar piring kedua, mulai, kembali ke piring pertama, berikan sedikit putaran ekstra untuk membuatnya tetap berjalan, kemudian mulai memutar piring ketiga , mulai, kemudian kembali ke lempeng kedua, putaran ekstra kecil, putaran tambahan lempeng pertama, putaran ekstra lempeng ketiga, lalu mulai putar keempat, dll.

Kemudian telepon berdering dan semua pelat jatuh.

Keadaan aliran hilang. Anda sekarang harus memulai dari awal. Dapatkan satu piring berputar ...

Saya suka menganggap setiap lempeng sebagai sepotong data, variabel, konsep, keadaan, dll yang harus Anda pertahankan di kepala Anda.

16
Dhaust

Beberapa bulan yang lalu saya memiliki seseorang berjalan ke dalam kubus saya dan mengeluarkan earbud saya ketika saya sedang coding. Di samping amarah internal, pendekatan saya adalah untuk menjelaskan bahwa sering kali para programmer tenggelam dalam pemikiran logis yang memerlukan pendekatan pemikiran yang berbeda dan terkonsentrasi dan bahwa mengganggu secara tiba-tiba dapat benar-benar mengacaukan proses pemikiran. Itu tidak terjadi dari orang itu lagi, jadi mungkin itu berhasil. Hal lain yang mungkin Anda pertimbangkan adalah tanda sibuk/gratis. Saya punya teman yang melakukan algoritma dan dia memiliki tanda dua sisi yang bertuliskan "Pengkodean - Jangan menyela" di satu sisi dan "Bebas untuk Mengobrol" di sisi lain. Menghapus ambiguitas adalah kuncinya di sini.

13
n1reu

Ok, saya menambahkan jawaban saya sendiri (saya tahu ini agak konyol, tapi mungkin itu memberi sedikit tambahan pada apa yang saya tuju).

Saya mengatakan hal berikut kepada seseorang yang mengganggu saya baru-baru ini di waktu yang buruk: "Mengembangkan perangkat lunak seperti mengendarai mobil di jalan yang sangat sibuk untuk pertama kalinya dalam hidup Anda. Semua perhatian Anda terfokus pada roda dan pedal dan mobil. bergegas di sekitar Anda, dan Anda hanya tidak memiliki sedikit perhatian ekstra untuk obrolan yang bagus. Jika Anda mulai berfokus pada apa obrolan itu, Anda pasti akan kehilangan kendali atas mobil dan Anda akan berakhir di sebuah kecelakaan".

Ini adalah sesuatu yang berhubungan dengan orang itu, tetapi itu jauh dari analogi yang baik. Jika saya terganggu, konsekuensinya akan sangat berbeda dari kecelakaan. Saya telah melakukan pengembangan sw selama 2 dekade jadi mengapa saya membandingkan ini dengan sesuatu yang sedang dilakukan untuk pertama kalinya. Dan seterusnya.

12

" Mihaly Csikszentmihalyi on flow " adalah TED yang bagus. Bicara tentang ide ini untuk benar-benar produktif dalam kondisi tertentu yang mungkin atau mungkin tidak menarik bagi orang. Jangan lupa bahwa bagi sebagian orang mereka mungkin tidak pernah ingin memahami penjelasannya dan karena itu seperti memukuli kuda mati secara rekursif dan tak terhingga.

7
JB King

Saya menyebutnya pemrogram trance. Ada banyak analogi yang bagus di sini, jadi apa lagi ya? Seperti yang telah dikatakan sebelumnya, seorang programmer akan secara mental menavigasi beberapa aliran logika yang berbeda sampai yang benar muncul dengan sendirinya. MAKA itu ditulis dalam kode dan disimpan di komputer.

Jadi, katakan Anda sedang menulis makalah panjang atau dokumen penting. Pikiran mengalir ke kata-kata ke komputer tetapi Anda belum menyimpan perubahannya. Lalu puf, power padam atau komputer crash. Mendapatkan semua itu kembali akan memakan waktu selama atau lebih lama dan tidak akan pernah sama dengan aslinya. (Berapa banyak dari kita yang telah melakukan hal itu?)

Inilah yang terjadi pada kode di kepala Anda ketika terganggu. Pikiran rapuh seperti asap. Jika mereka belum diselamatkan dan sesuatu datang mengganggu mereka, mereka sudah pergi.

4
R Hughes

Rekan Kerja yang terhormat, Dalam upaya untuk menjadi lebih efisien saya fokus pada pekerjaan saya dan saya menjawab pertanyaan melalui email pada saat-saat di antara pekerjaan untuk menjaga gangguan seminimal mungkin untuk melayani Anda dengan lebih baik dan Nama perusahaan _. Silakan email saya dan saya akan menghubungi Anda sesegera mungkin. Terima kasih.

3
user16784

Jika Anda mendengarkan musik, pasang tanda yang mengatakan sesuatu seperti itu

Headphones on? Please do not interrupt.

Ini hanya efektif jika ada yang membaca dan Anda tidak selal mengaktifkan headphone Anda.

2
Ian Potter

Saya menganggapnya sebagai jaringan besar koneksi kompleks yang harus saya bangun di dalam pikiran saya, sebuah struktur hubungan saling terkait yang mempengaruhi satu sama lain dalam berbagai cara yang tidak selalu jelas, yang semuanya harus dipahami dan dijaga dengan jelas. dalam fokus saat saya menulis kode. Membangun web ini memakan waktu antara 5 hingga 15 menit pada sebuah proyek yang cukup saya kenal, dan beberapa kali lebih tidak intim.

Ketika konsentrasi saya terganggu, web mulai runtuh, dan jika gangguan berlangsung lebih dari beberapa detik ata Saya harus memikirkan beberapa hal lain yang bahkan sedikit rumit ("Ketika server pergi turun minggu lalu, apa yang Anda beri tahu pelanggan? "), web benar-benar runtuh. Ketika gangguan selesai, saya harus membangun kembali seluruh web, sebagian besar dari awal.

Jika saya membutuhkan 10 menit untuk membangun web dan saya terganggu hanya 2 menit tiga kali dalam satu jam, Anda perlu memahami bahwa alih-alih mengkode 50 menit dalam satu jam, saya hanya menyelesaikan 24 menit pekerjaan. Mereka 3 kecil gangguan memotong produktivitas saya di setengah.

2

Neil Ford menceritakan tentang hal itu Devoxx terakhir. Dia menulis buku tentang itu: Programmer yang produktif. Dia menjelaskan tips tentang pemutus 'aliran'. Jika Anda dalam aliran Anda berada pada titik konsentrasi tertinggi Anda. Tetapi jika Anda terganggu, butuh + -20 menit untuk kembali ke aliran Anda.

Anda mungkin ingin menjelaskan em jika Anda keluar dari aliran Anda, Anda mengakses memori acak di otak Anda kehilangan data tentang apa yang Anda kerjakan dan Anda perlu 20 menit untuk mendapatkan data kembali pada Anda RAM ;)

1
Jeff

Saya tidak tahu tentang yang lain tetapi untuk Skype setidaknya saya akan menyarankan menggunakan mode "Jangan ganggu". Dan jika Anda harus menggunakannya untuk berkomunikasi di tempat kerja, memiliki akun hanya bekerja kedua yang tidak Anda bagikan dengan siapa pun yang tidak ingin mengganggu Anda di tempat kerja :)

0
sashoalm

Saya biasanya menempatkan status berikut pada Klien IM saya:

Saya sedang bekerja dan karena saya tidak bisa melakukan banyak tugas, tolong jangan ganggu saya ...

Setidaknya sepertinya melakukan trik dengan

teman lama yang menelepon Anda di Skype setiap 30 menit dengan "Wazzzzzzup ?!"

0
Yaneeve

Anda dapat mencoba menjelaskan, tetapi Anda juga dapat mencoba ini:

Anda menyela mereka , ketika mereka melakukan sesuatu yang membutuhkan konsentrasi yang dalam, apakah itu membaca, menonton film, menghitung atau bahkan menghitung sesuatu dengan lebih baik. Kemudian, yang harus Anda jelaskan adalah --- persis seperti it untuk Anda ketika mereka mengganggu Anda. Sebaiknya lakukan triknya. Hanya saja, tolong jangan mengganggu mereka saat mereka sedang mengemudi atau sesuatu seperti itu :).

0
Goran Jovic

Saya tidak menjelaskan. Saya dengan baik hati memberi tahu mereka bahwa gangguan baru saja ditambahkan dalam 6 minggu ke jadwal.

0
Throwback1986

Apa yang saya lakukan di kantor adalah menemukan hotdesk spot (tempat persembunyian) di berbagai departemen di kantor, dengan cara ini tidak ada yang tahu di mana Anda berada dan tidak dapat mengganggu Anda, tetapi jika ini bukan pilihan, dapatkan tanda dan jelaskan bahwa kecuali jika sangat penting jangan diganggu!

0
kyndigs

Tidak harus rumit. Sesuatu yang sederhana dan tidak bermusuhan seperti "Saya sedang mengerjakan sesuatu yang membutuhkan banyak konsentrasi. Bisakah ini dimasukkan ke dalam surel? Saya berjanji untuk melihatnya segera setelah saya selesai di sini."

0
Andy Lester