İçeriğe geç

Uzaktan Çalışma: Başarıdan Kaçış Yok!

Yahu şimdi uzaktan çalışma denen illet var ya… Bir ara herkesin dilindeydi, sanki sihirli değnek gibiydi. Bende de o dönemlerde bir heves, bir heyecan… ‘Tamamdır, artık hayatım değişecek!’ falan diyordum kendi kendime. İş yerinde o kalabalık, o stres, o trafik… Hepsi geride kalacaktı sanırım. Sabah kalkıp işe gitme derdi yok, istediğin yerde çalış, mis gibi hayat! Ne güzel değil mi?

Gerçekten de ilk başlarda her şey toz pembe gibiydi. Sabah kalkıyorum, kahvemi alıyorum, pencereden dışarı bakıyorum (ki Bursa’da bu manzara bambaşkaydı zaten, Uludağ görünüyor bazen, neyse konuya dönelim 🙂 ). Sonra bilgisayarımı açıyorum, mailleri kontrol ediyorum, ilk toplantımı yapıyorum. Evet, gayet güzel çalışıyordu her şey. Öğlen oldu mu, mutfağa gidip istediğimi hazırlıyorum, hatta bazen dışarıdan söyleyip keyfime bakıyorum. Akşam da iş bitince hemen evdeyim, ailemle vakit geçirmek için bol bol zamanım oluyor. Süper değil miydi bu düzen? Sanırım bir dönem gerçekten de öyleydi.

Fakat zamanla anladım ki, bu işin de bir madalyonun öteki yüzü varmış. Hani derler ya, her güzelin bir kusuru vardır diye, işte öyle bir şey. Evde çalışmaya başlayınca, o iş ve ev hayatı arasındaki çizgi bir anda bulanıklaştı. Bir bakmışsın, akşam olmuş hala bilgisayarın başındasın, bir bakmışsın sabah olmuş, gece yattığın pozisyonda uyanmışsın. Vücut bir anda tembelliğe alışıyor, hani o ‘mükemmel’ olarak gördüğün esneklik, bir anda kontrolsüzlüğe dönüşebiliyor. Ne desem ki… İşte öyle bir şey. Bazen kendi programım sınıfta kaldı diyebilirim bu konuda 🙂

Mesela benim en büyük sorunum, mesai saati bitse de işten kopamamak oldu. Telefonum çalınca veya bir bildirim gelince, ‘Aa bir bakayım neymiş?’ diyordum, sonra bir bakmışım ki yarım saat daha iş konuşmuşum. Bu da ne oluyor? Akşam aileme ayıracağım zamandan çalıyor, sonra da ‘Yeter artık!’ diye kendime kızıyorum. Kendi kendime verdiğim sözler havada uçuşuyor yani. Bu arada, sanırım bu durum sadece benimle sınırlı değil, etrafımdaki birçok arkadaşım da benzer şeyler yaşıyor. Hani öyle bir durum ki, sanki işin kendi seni çağırıyor gibi.

Bir diğer sıkıntı da, o ‘sosyal’ ortamın yokluğu. Ofiste çalışırken, çay molalarında yapılan o kısa sohbetler, öğle yemeklerinde bir araya gelmeler… Bunlar sadece zaman geçirmek değilmiş meğer. İletişimi güçlendiriyor, motivasyonu artırıyor, hatta bazen o sıkıştığın bir kod parçasını bir anda çözmene yardımcı olabiliyordu. Şimdi ne oldu? Bütün iletişim sanal ortama döndü. E-postalar, mesajlar, görüntülü konuşmalar… Hepsi bir yere kadar. İnsanın yüz yüze bir sohbeti, bir esprisi başka oluyor tabii ki. Tabii bu durumun da faydaları var ama eksiklikleri de göz ardı etmemek lazım.

Peki, bu kadar sorunu anlattık da çözüm ne? İşte orada biraz işin içine teknik detaylar giriyor. Bana göre uzaktan çalışmanın en önemli püf noktası, o ‘sınırları’ net bir şekilde çizmek. Kendi çalışma alanını belirlemek, mesai saatlerine sadık kalmak ve en önemlisi, iş bittiğinde bilgisayarı kapatıp o hayata tamamen ara vermek. Hani o kadar kolay değil ama denemek lazım. Mesela ben artık şöyle bir yol izliyorum: Sabah kalkıyorum, hazırlanıyorum, sanki işe gidiyormuşum gibi. Sonra çalışma odama geçiyorum. İş bitince de bilgisayarı kapatıp odadan çıkıyorum. Ne kadar basit değil mi? Ama inan ki işe yarıyor.

Bir de iletişim kısmını halletmek lazım. Mesela Slack veya Microsoft Teams gibi araçları kullanmak işe yarıyor. Ama sadece kullanmak değil, onları doğru kullanmak önemli. Gereksiz bildirimleri kapatmak, ‘rahatsız etmeyin’ modunu kullanmak ve toplantıları kısa ve öz tutmak gibi. Bu arada, sanırım bir de kendi kendine motivasyon yöntemleri geliştirmek gerekiyor. Belki haftalık hedefler belirlemek, başardıkça kendini ödüllendirmek falan… Ne desem ki, deneme yanılma yoluyla en iyisini bulmak lazım sanırım.

Uzaktan Çalışmanın İncelikleri

Şimdi gelelim işin biraz da teknik kısmına. Uzaktan çalışırken işlerimizi halletmek için kullandığımız araçlar var tabii ki. Mesela ben genellikle C# ile REST API geliştiriyorum ve Dapper kullanıyorum. Veritabanı olarak da PostgreSQL tercih ediyorum. Bu üçlü, bana göre hızlı ve esnek bir geliştirme ortamı sunuyor. Özellikle Dapper’ın performansı, büyük veri setleriyle çalışırken kendini belli ediyor.

Bu arada, uzaktan çalışırken projelerimizi yönetmek için de çeşitli yöntemler kullanıyoruz. Bazı projelerde basit bir Todo list uygulaması yeterli olurken, bazılarında daha karmaşık proje yönetim araçlarına ihtiyaç duyuyoruz. Mesela, geçtiğimiz günlerde bir arkadaşım bana Trello’yu önerdi. Basit arayüzü ve esnek yapısıyla dikkat çekiciydi. Eğer siz de projelerinizi daha düzenli yönetmek isterseniz, bir göz atabilirsiniz: Google’da Trello.

Hani bazen bir kod yazarsın ya, çalışır ama ‘acaba daha iyisi olabilir mi?’ diye düşünürsün. İşte bu durum, uzaktan çalışırken de geçerli. Mesela, bir API endpoint’i yazdınız ve bu endpoint’e sürekli aynı veriyi gönderiyorsunuz. Bu durumda, kodu daha optimize hale getirmek için farklı yaklaşımlar deneyebilirsiniz. Belki bir cache mekanizması eklemek, belki de veriyi daha verimli bir şekilde göndermek… Bunlar, performans artışı sağlayarak hem sizin hem de kullanıcılarınızın işini kolaylaştırır.

Bakın, size basit bir örnek vereyim. Diyelim ki bir kullanıcı listesi çekiyorsunuz. İlk yazdığınız kod şöyle olabilir (veya benzeri):

// YANLIŞ KOD ÖRNEĞİ public async Task GetKullanicilar() {     var kullanicilar = await _dbConnection.QueryAsync("SELECT * FROM Kullanicilar");     return Ok(kullanicilar); }

Bu kod çalışır, evet. Fakat her seferinde tüm kullanıcıları veritabanından çekmek yerine, eğer sadece belirli bir kullanıcıyı istiyorsak veya belirli kriterlere göre filtreleme yapacaksak, bu kodu daha optimize hale getirebiliriz. Ne güzel değil mi? İşte bu noktada parametre kullanmak devreye giriyor.

Şimdi gelelim doğrusuna. Eğer tek bir kullanıcıyı ID’sine göre çekeceksek, kodumuz şöyle daha iyi olurdu:

// DOĞRU KOD ÖRNEĞİ public async Task GetKullaniciById(int id) {     var kullanici = await _dbConnection.QuerySingleOrDefaultAsync("SELECT * FROM Kullanicilar WHERE Id = @UserId", new { UserId = id });     if (kullanici == null)     {         return NotFound();     }     return Ok(kullanici); }

Gördüğünüz gibi, burada `@UserId` parametresi ile veritabanına bir değer gönderiyoruz. Bu hem SQL injection gibi güvenlik açıklarını engelliyor hem de sadece istediğimiz veriyi çekmemizi sağlıyor. Yani şey gibi… Hani daha az yoruyorsun sistemi, anladın sen 🙂 Bu arada, eğer daha fazla detay isterseniz, Dapper’ın resmi dokümantasyonuna göz atabilirsiniz. Sanırım şurada bir yerlerdeydi: Dapper Dokümantasyon.

Neticede, uzaktan çalışmak harika bir şey olabilir, yeter ki doğru adımları atalım. O sınırları belirleyelim, iletişim kanallarını doğru kullanalım ve kendimize karşı dürüst olalım. Yoksa o ‘rüya’ bir anda kabusa dönüşebilir, benden söylemesi. Kendinize iyi bakın, kodlamaya devam! 🙂

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.