Yazılımda asenkron işlem, kabaca şunu söyler: Bir işin bitmesini beklerken bütün sistemi kilitleme. Sunucudan cevap mı gelecek? Dosya mı okunacak? Bir API nazlanıp düşüncelere mi dalacak? Güzel. O sırada program başka işlere devam eder. Sonuç geldiğinde de kaldığı yerden akıllıca devam eder. İnsan zihni ise çoğu zaman tam tersini yapar. Bir mesajın cevabını beklerken hayatı durdurur. Bir sınav sonucunu, iş görüşmesini, tahlili, sevgilinin tonlamasını, patronun yüz ifadesini beklerken iç dünyasını tek işlemcili, eski model, fanı bağıran bir bilgisayara çevirir.
Stresin büyük kısmı olayların kendisinden değil, zihnin onları senkron çalıştırmasından doğar. Senkron zihin der ki: Bu mesele çözülmeden hiçbir şey yapamam. Cevap gelmeden nefes alamam. Belirsizlik kapanmadan kendimi güvende hissedemem. Böylece tek bir bekleme kuyruğu bütün sistemi bloke eder. Oysa yaşam, bizim sandığımızdan daha çok olay döngüsüne benzer. Bir şey başlatılır, bir yere gönderilir, beklemeye alınır, arada başka süreçler çalışır. Kalp atar, çay demlenir, faturalar ödenir, çocuk güler, gökyüzü renk değiştirir. Evren, bizim kişisel dramamızın await satırında donup kalmaz.
Sabır, pasiflik değil zamanlayıcı zekâdır
Gündelik hayatta sabrı çoğu zaman diş sıkmak sanırız. Sanki sabırlı insan, içindeki volkanı halının altına süpüren kişidir. Oysa asenkron sabır başka bir şeydir: Sonucu zorla çekiştirmeden, enerjiyi doğru kanallara dağıtabilme becerisi. Bir geliştirici, uzak bir servisten yanıt beklerken işlemciyi boşuna döndürmez; kaynakları verimli kullanır. Psikolojik karşılığı şudur: Cevap beklerken kendi içini kemirme. Bekleyişi üretken, dinlendirici veya anlamlı başka bir şeye bağla. Bu kaçış değil, sistem tasarımıdır.
Burada kritik nokta, beklenen şeyle bağını tamamen koparmamaktır. Asenkron olmak umursamazlık değildir. Program bir isteği gönderip hafızasından silmez; promise tutar, callback tanımlar, hata durumunu yönetir. İnsan da beklediği konu için makul bir takip noktası belirleyebilir. Mesela iş başvurusu yaptıysan her beş dakikada bir e-postayı yenilemek yerine, günde iki kez kontrol etmeyi seçebilirsin. Doktor sonucunu bekliyorsan güvenilir zaman aralığını bilip, aradaki saatleri felaket senaryolarına kiralamayabilirsin. Zihin belirsizliği sevmez; ama ona görev verilirse panik üretmek yerine düzen kurabilir.
Stres yönetiminde asenkron düşünmenin ilk ilkesi şudur: Her bekleyiş acil değildir. Zihin, önem ile aciliyeti karıştırmaya bayılır. Sevdiğin birinden cevap beklemek önemli olabilir; ama bu, tüm sinir sisteminin kırmızı alarma geçmesini gerektirmez. İkinci ilke: Her süreç senin kontrolünde değildir. Bir API ne kadar yalvarırsan yalvar, kendi hızında döner. İnsanlar, kurumlar, beden, piyasa, hava durumu ve kaderin bazı kaprisleri de böyledir. Kontrol edemediğin sürece baskı uygulamak, tuşa basılı tutup bilgisayarı hızlandırmaya çalışmak gibidir; dramatik görünür, teknik olarak anlamsızdır.
Üçüncü ilke ise hata yönetimidir. Yazılımda sağlam sistemler sadece başarılı sonucu düşünmez; timeout, hata, tekrar deneme ve alternatif akış planlar. Hayatta da bekleyişi dayanılmaz yapan şey çoğu zaman plan eksikliğidir. Eğer sonuç kötü gelirse ne yapacağım? Eğer cevap hiç gelmezse sınırım ne? Eğer gecikirse bu arada hangi küçük adımı atabilirim? Bu sorular zihne karanlık bir mağarada meşale verir. Jungiyen bir dille söylersek, gölgede bekleyen korkuya isim verildiğinde, o korku ejderha olmaktan çıkar; haritada işaretli bir mağaraya dönüşür.
Asenkron yaşam pratiği küçük ritüellerle başlar. Beklemeye aldığın konuları zihninde açık sekme olarak tutmak yerine yaz: Beklenen nedir, ne zaman kontrol edilecek, şu an yapılabilecek en iyi şey nedir? Sonra bedene dön. Yürü, su iç, masanı topla, bir paragraf oku, biriyle gerçek bir konuşma yap. Zihin sonuç ister; beden süreçle sakinleşir. Unutma, sabır boşlukta çürüme sanatı değildir. Sabır, içindeki işlemciyi tek bir belirsizliğe kurban etmeden yaşamaya devam etme cesaretidir. Belki de olgunluk, her soruya hemen cevap bulmak değil; cevap gelene kadar kendini kaybetmemeyi öğrenmektir.