- Menurut riset psikologi kognitif, batas deep work manusia adalah 3–4 jam per hari, dan setelah itu fokus serta kualitas kode menurun tajam
- Hasil analisis terhadap lebih dari 250 ribu developer menunjukkan bahwa median waktu coding aktual hanya 52 menit per hari, sementara sisanya habis untuk rapat, manajemen, dan kolaborasi
- Setelah satu interupsi, butuh 23 menit untuk kembali ke tugas semula, dan bagi programmer pemulihan konteks penuh memakan waktu 30–45 menit
- Dalam flow state, produktivitas meningkat 500%, tetapi untuk masuk ke sana dibutuhkan 15–25 menit fokus tanpa gangguan
- Peran engineering manager seharusnya bukan menambah proses, melainkan berfokus pada menghilangkan gangguan dan melindungi waktu deep work
Batas kognitif: deep work dibatasi maksimal 4 jam per hari
- Cal Newport mendefinisikan deep work sebagai "aktivitas profesional yang dilakukan dalam keadaan fokus tanpa gangguan hingga mendorong kemampuan kognitif ke batasnya", dan bagi kebanyakan orang rata-rata maksimum harian adalah 4 jam
- Dalam riset pemain biola oleh K. Anders Ericsson juga ditemukan bahwa kelelahan muncul setelah 4 jam latihan terfokus
- Pengembangan software juga merupakan kerja kognitif intensif yang mencakup pemecahan masalah kreatif dan perancangan sistem, sehingga setelah 3–4 jam akan muncul diminishing returns
- Matematikawan Henri Poincaré bekerja 2 jam pagi dan 2 jam sore, G.H. Hardy hanya bekerja di pagi hari, dan Charles Darwin, B.F. Skinner, serta C.S. Lewis juga mempertahankan jadwal kerja 3–4 jam
- Menurut riset Gloria Mark dari UC Irvine, rata-rata durasi fokus pada layar saat ini hanya 47 detik, turun drastis dari 2,5 menit pada 2004
Gambaran penggunaan waktu developer yang sebenarnya
- Berdasarkan analisis lebih dari 250 ribu developer oleh Software.com, median waktu coding adalah 52 menit per hari (sekitar 4 jam 21 menit per minggu)
- Developer yang coding lebih dari 2 jam per hari hanya 10%, dan yang lebih dari 1 jam sebesar 40%
- Menurut analisis 1,5 juta rapat oleh Clockwise, rata-rata waktu rapat software engineer adalah 10,9 jam per minggu
- Engineering manager menghabiskan 18 jam per minggu untuk rapat, hampir setengah dari minggu kerja 40 jam
- Developer di organisasi besar menghabiskan 12,2 jam rapat per minggu, sementara di organisasi kecil 9,7 jam
- Setelah mengeluarkan waktu untuk rapat, manajemen, code review, dan kolaborasi, hanya tersisa 19,6 jam waktu yang berpotensi fokus per minggu, dan sebagian besar berupa potongan waktu pendek yang sulit dipakai
- 45% dari seluruh aktivitas coding terjadi antara pukul 14.00–17.00, sementara pukul 09.00–11.00 hanya 10%
- Bukan karena developer secara alami lebih produktif di sore hari, tetapi karena pagi hari dihabiskan untuk standup, sinkronisasi, dan seremonial
Biaya interupsi yang sangat tinggi
- Menurut riset Gloria Mark, setelah interupsi dibutuhkan tepat 23 menit 15 detik untuk kembali sepenuhnya ke pekerjaan semula
- Dalam riset Georgia Institute of Technology, programmer memerlukan 10–15 menit untuk kembali mengedit kode, dan 30–45 menit untuk membangun ulang konteks mental secara penuh
- Dalam esai "maker schedule" oleh Paul Graham, rapat bukan sekadar perpindahan tugas, tetapi exception yang mengubah mode kerja itu sendiri
- Satu rapat saja bisa merusak seluruh sore hari, dan hanya dengan mengetahui ada rapat sore pun orang enggan memulai pekerjaan ambisius di pagi hari
Flow state: pengganda produktivitas programmer
- Mihaly Csikszentmihalyi mendefinisikan flow state sebagai "kondisi tenggelam sepenuhnya dalam aktivitas hingga kesadaran diri menghilang dan rasa waktu lenyap"
- Hasil riset selama 10 tahun menunjukkan bahwa dalam flow state, produktivitas meningkat 500% dibanding keadaan normal
- Kunci masuk ke flow adalah keseimbangan antara tingkat tantangan dan tingkat keterampilan; tantangan yang terlalu tinggi atau terlalu rendah sama-sama menghambat flow
- Tim software yang lebih sering mengalami flow mampu menghasilkan lebih banyak nilai, lebih cepat, dan dengan kepuasan lebih tinggi
- Flow tidak muncul dengan sendirinya; ia harus dilindungi dari faktor-faktor yang mengurasnya
Cara masuk ke flow saat coding
- Ciptakan lingkungan tanpa gangguan: tutup Slack, bisukan notifikasi, gunakan penanda status yang terlihat untuk menunjukkan mode deep work
- Bahkan jika tidak merespons notifikasi, hanya melihatnya saja sudah menurunkan konsentrasi
- Tetapkan tujuan yang jelas sebelum sesi coding: jangan hanya "mengerjakan backend", tetapi definisikan secara spesifik seperti "memperbaiki endpoint autentikasi agar mengembalikan respons error yang tepat"
- Selesaikan masalah sulit pada waktu puncak kognitif: menurut riset ritme sirkadian, performa kognitif berubah 9–40% tergantung waktu
- Bagi kebanyakan orang dewasa, pukul 10.00–14.00 adalah waktu terbaik untuk pemecahan masalah
- Tipe pagi ("lark") dan tipe malam ("owl") punya waktu puncak berbeda, jadi waktu puncak tiap individu perlu dilindungi
- Gunakan time blocking untuk maker schedule: amankan blok deep work 2–4 jam di kalender, dan kumpulkan rapat di akhir hari atau pada hari tertentu
- Tetapkan satu tujuan untuk tiap blok kerja, lalu pecah menjadi tiga tugas yang bisa dieksekusi
- Hilangkan context switching: alih-alih selalu merespons seketika, buat jendela komunikasi dua kali sehari, dan tutup tab browser yang tidak terkait dengan pekerjaan saat ini
- Bekerja dalam unit sesi fokus, bukan sprint maraton: Pomodoro 25 menit tidak cocok untuk pekerjaan pengembangan yang kompleks, karena timer akan menghentikan kerja tepat saat mulai masuk flow
- Tujuannya bukan waktu terlama, melainkan kualitas maksimum dalam batas kemampuan kognitif
- Efek majemuk dari refleksi dan pembelajaran: dalam riset deliberate practice Ericsson, yang membentuk keahlian bukanlah lama bekerja, melainkan pemikiran reflektif
4 strategi deep work dari Cal Newport
- Strategi monastic: menghapus pekerjaan dangkal sepenuhnya
- Contoh terkenal: Donald Knuth menghapus email pada 1990
- Strategi bimodal: memisahkan minggu kerja menjadi hari deep work dan hari pekerjaan dangkal
- Contoh: Senin–Rabu tidak bisa dihubungi, Kamis–Jumat untuk rapat dan email
- Strategi rhythmic: melakukan deep work pada jam yang sama setiap hari, tanpa pengecualian
- Pendekatan "don’t break the chain" dari Jerry Seinfeld
- Strategi journalistic: langsung masuk ke deep work setiap kali ada waktu kosong
- Bisa dimanfaatkan bahkan dalam unit 30–45 menit, tetapi dalam praktiknya ada risiko mengira context switching sebagai deep work
- Bagi kebanyakan developer, strategi rhythmic paling efektif, dan kuncinya adalah mengamankan pagi hari untuk coding tanpa tergoda sifat reaktif Slack
Mengapa engineering manager perlu peduli
- Jika waktu coding nyata developer per hari hanya 52 menit, sementara satu interupsi menghabiskan lebih dari 23 menit waktu pemulihan, maka satu pesan saja bisa menghabiskan hampir setengah jatah coding harian
- Eksperimen TechSmith: ketika rapat dihapus sepenuhnya, produktivitas yang dirasakan meningkat 15%, dan 85% karyawan menjawab akan mengganti rapat dengan komunikasi asinkron
- Dalam survei Microsoft terhadap 31.000 orang, rapat yang tidak efisien adalah penghambat produktivitas kerja nomor satu
- Rekomendasi untuk manajer:
- Sediakan pagi hari tanpa gangguan
- Terapkan no meeting day (misalnya Rabu)
- Jadikan komunikasi asinkron sebagai default, bukan sinkron
- Tetapkan tenggat yang realistis agar ada ruang untuk eksplorasi kreatif
- Metrik untuk mengukur dampak: penurunan cycle time, kepuasan tim, skor engagement, serta metrik kualitas seperti tingkat bug dan rasio rework
Kesimpulan
- Deep programming selama 3–4 jam per hari bukan masalah kebiasaan, melainkan batas fisik dari beban kognitif
- Kuncinya adalah mengoptimalkan hal-hal yang bisa dikendalikan, seperti mematikan notifikasi, memberi tahu tim bahwa respons baru akan diberikan sore hari, dan menegosiasikan larangan rapat pagi dua kali seminggu
- Dibanding 8 jam "setengah fokus", 4 jam deep work selalu menghasilkan hasil yang lebih baik
- Masuk ke flow selama beberapa jam setiap hari menghasilkan kode berkualitas tinggi, risiko bug lebih rendah, solusi yang lebih inovatif, serta work-life balance yang lebih baik
- Coder bukan sprinter, melainkan pelari maraton yang perlu menjaga energinya
Catatan tentang AI coding assistant
- Alat seperti Copilot, Cursor, dan Claude tidak memperpanjang waktu deep work, hanya menggeser fokusnya
- Meninjau output AI alih-alih menulis kode dari nol tetap membutuhkan konteks, penilaian, dan konsentrasi yang sama
- Batas 3–4 jam bukan soal kecepatan mengetik, melainkan batas otak dalam mempertahankan pengambilan keputusan berkualitas tinggi, jadi tidak berubah hanya karena kode muncul lebih cepat
- Area di mana AI benar-benar membantu adalah shallow hours: menyusun draf dokumentasi, membuat boilerplate, atau bertanya cara memakai library
- Dengan mendelegasikan pekerjaan seperti ini ke AI, anggaran deep work bisa disimpan untuk pemikiran arsitektur dan pemecahan masalah kompleks
- Jebakannya adalah memakai AI untuk menghasilkan lebih banyak kode daripada yang bisa diproses secara mental
- Tujuannya bukan menambah jumlah baris kode per hari, melainkan memusatkan sumber daya kognitif yang terbatas pada keputusan yang paling penting
13 komentar
Kelompok pembandingnya sendiri sudah keliru.
Penelitian violinis oleh K. Anders Ericsson bukan dilakukan berdasarkan orang yang sudah mahir, melainkan berdasarkan latihan. Dalam kasus alat musik, meskipun sebuah lagu dilatih hingga sempurna, pertunjukan yang sempurna tidak selalu terjamin (ada variabel pada setiap penampilan). Sebaliknya, dalam pengembangan, kebutuhannya jelas dan setelah selesai hasilnya selalu sama. Ada perbedaan yang sangat besar antara melakukan sesuatu yang ada akhirnya secara berurutan dan melakukan sesuatu yang tidak ada akhirnya secara berurutan. Karena itu, menetapkan begitu saja bahwa kemampuan kognitif manusia rata-rata adalah 3~4 jam juga bermasalah, karena ada perbedaan lain antara mengembangkan selama 3~4 jam atas instruksi orang lain dan mengembangkan selama 3~4 jam secara sukarela. Tulisan ini terasa seperti tulisan yang menggeneralisasi semuanya lalu meyakinkan pembaca dengan cukup meyakinkan bahwa 3~4 jam adalah batas kemampuan kognitif manusia. Kalau waktu fokus mereka 3~4 jam, bukan berarti waktu fokus semua orang juga 3~4 jam. Malah terlihat seperti tulisan yang menetapkan batas sejak awal lalu mengajak bersepakat, "mari kita kerja 3~4 jam saja."
Betul~! Memang banyak orang yang bekerja dengan sangat baik, kok
Jangan menetapkan diri sebagai “memang tipe orang seperti ini” hanya berdasarkan performa fokus terbaik dalam kariermu. Tulisan ini menempatkan deep work sebagai kondisi kerja ideal dan terlalu berusaha keras untuk masuk ke sana. Tentu saja, ketika terlihat ide pemecahan masalah yang menarik dan arah percobaan yang jelas, deep work akan muncul dan efisiensi meningkat. Namun kalau itu tidak terlihat lalu kamu percaya bahwa otakmu sebenarnya lebih jenius dari ini, dan hidup dengan rasa tidak puas sepanjang waktu, pada akhirnya itu justru akan sangat menurunkan kemungkinan dirimu masuk ke dalam ‘flow’. Semakin kurang metakognisi, semakin mudah kita mengira otak ini sepenuhnya milik dan hasil diri sendiri, padahal kondisi otak itu sama sekali bukan sesuatu yang dibentuk sendirian. Kita perlu mengakui bantuan dari sekitar yang memungkinkan fokus itu muncul—bukan hanya karena orang lain membiarkan kita tenang atau memberi uang, tetapi juga karena mereka memberi berbagai rangsangan, dan pada suatu saat hal-hal itu terikat secara halus ke satu arah; itulah keadaan fokus. Apa pun hasilnya, menyimpan rasa syukur di dalam hati, tanpa harus selalu mengekspresikannya kepada orang lain, lalu merasa cukup pada batas yang wajar dan memandang diri sendiri secara positif, akan meningkatkan fokus dan kondisi mental dalam jangka panjang.
Saya bekerja di perusahaan yang jam kerjanya 3 jam pada pagi hari, lalu setelah makan siang bekerja lagi 3 jam pada sore hari (total 7 jam, 4 hari seminggu). Hanya dengan ini saja, secara mental rasanya jauh lebih nyaman.
Perusahaan yang bagus ya!
Semua orang rupanya paham kenapa saat coding sendirian setelah pulang kerja, ketika tidak ada siapa pun, justru terasa lancar.......;;;
Jadi kalau orang lain lembur, malah saya pulang lebih awal.
Menurut saya, dengan latihan, istirahat, dan lingkungan yang tepat, waktu itu bisa sedikit ditambah, tetapi karena pada dasarnya memforsir orang, hal itu sulit dipertahankan dalam jangka panjang. Perusahaan mendorong orang sampai batasnya dan menutup-nutupinya, tetapi saya juga cukup sering melihat teknisi yang bekerja sambil minum obat (obat depresi, obat ADHD).
Betul. Fakta tidak nyaman bahwa praktik psikiatri laris di Pangyo.
Menurut saya, coding satu jam sehari sudah cukup. Bahkan sebelum era AI, waktu yang benar-benar dipakai untuk coding sebenarnya tidak banyak, dan sekarang malah makin berkurang.
Saat melakukan pengembangan, bermain game, atau membaca yang 'memang ingin aku lakukan', rasanya bisa fokus berjam-jam sampai pekerjaan itu selesai.
Mungkin yang dimaksud 4 jam di sini adalah daya konsentrasi untuk pekerjaan yang 'sebenarnya tidak ingin dilakukan, tapi dikerjakan karena ini profesi' (mungkin bisa disebut konsentrasi pasif?).
Sederhana. Semua pria mungkin pernah mengalami bisa tetap fokus sepanjang malam saat main game.
Berdasarkan pengalaman pribadi, saat mengerjakan pengembangan yang memang ingin saya lakukan, bahkan jika dilakukan berjam-jam tanpa jeda pun rasanya saya tidak terlalu merasa lelah.
Menjalankan beberapa sesi itu sendiri menjadi multitasking, sehingga juga dapat menurunkan fokus.