Görme Engelli Bir Birey Yazılımcı Olabilir mi?

Görme Engelli Bir Birey Yazılımcı Olabilir mi?

Teknoloji artık hayatımızın hemen her alanında yer alıyor. Kullandığımız internet sitelerinden mobil uygulamalara, bankacılık sistemlerinden günlük işlerimizi kolaylaştıran programlara kadar pek çok teknolojinin arkasında yazılımcılar bulunuyor.

Peki görme engelli bir birey yazılımcı olabilir mi?

Bu soru ilk duyulduğunda bazı insanlara şaşırtıcı gelebilir. Çünkü bilgisayar kullanmak hâlâ büyük ölçüde ekrana bakmakla ilişkilendiriliyor. Konu yazılımcılığa geldiğinde ise bu düşünce daha da belirginleşiyor.

Yüzlerce, hatta binlerce satır kodun bulunduğu bir ekranı göremeyen kişi bu kodları nasıl yazacak, nasıl okuyacak ve ortaya çıkan hataları nasıl düzeltecek?

Aslında bu sorunun cevabı, bilgisayarın yalnızca gözle kullanılan bir araç olmadığını anlamakla başlıyor.

Görme engelli bireyler, ekran okuyucu adı verilen yardımcı teknolojiler sayesinde bilgisayarları büyük ölçüde klavye üzerinden kullanabiliyor. Ekrandaki metinler, menüler, düğmeler ve erişilebilir diğer öğeler ekran okuyucu tarafından seslendiriliyor.

Bu sayede görme engelli bir kullanıcı internette gezinebildiği gibi metin yazabiliyor, dosyalarını yönetebiliyor, kod editörlerini kullanabiliyor, terminal üzerinde çalışabiliyor ve kullanılan araçlar erişilebilir olduğu sürece yazılım geliştirebiliyor.

Web Tasarımından Yazılımcılığa

Daha önce kaleme aldığım “Görme Engelliler Web Tasarım Yapabilir mi?” başlıklı yazımda konunun web tasarım ve geliştirme tarafını ele almıştım.

O yazımda şu ifadeye yer vermiştim:

“Bu dillerin kodlarının yazımı görsel bir tasarıma dayalı olmadığından, görme engelliler rahatlıkla kodlama yapabilir.”

Söz konusu yazıda ekran okuyuculardan klavye kullanımına, kod editörlerinden erişilebilirlik araçlarına kadar özellikle web geliştirme üzerinde durmuştum.

Önceki yazımı okumak isteyenler Görme Engelliler Web Tasarım Yapabilir mi? başlıklı yazıma göz atabilir.

Ancak web geliştirme, yazılım dünyasının yalnızca bir bölümüdür.

Yazılımcılık; web uygulamalarından masaüstü programlarına, mobil uygulamalardan sunucu tarafında çalışan sistemlere, veri tabanlarından farklı programlama dillerine kadar oldukça geniş bir çalışma alanını kapsıyor.

Bu nedenle bu kez meseleyi web tasarımının dışına çıkararak daha geniş bir açıdan ele almak istiyorum:

Görme engelli bir birey gerçekten yazılımcı olabilir mi?

Yazılım Geliştirmek İçin Görmek Gerekir mi?

Programlama, her şeyden önce problem çözme işidir.

Bir yazılımcıdan yalnızca bilgisayara birtakım komutlar yazması beklenmez. Karşısındaki problemi anlaması, onu daha küçük parçalara ayırması, uygun çözüm yöntemini belirlemesi ve düşündüğü çözümü bilgisayarın anlayabileceği bir yapıya dönüştürmesi gerekir.

Bir değişkenin hangi değeri taşıyacağı, belirli bir koşul gerçekleştiğinde programın nasıl davranacağı veya bir fonksiyonun hangi işlemleri gerçekleştireceği görsel olarak değil, mantıksal olarak değerlendirilir.

Örneğin bir yazılımcının karşısına şu sorular çıkabilir: Kullanıcı yanlış şifre girdiğinde uygulama ne yapacak? Bir dosya bulunamadığında hangi hata gösterilecek? İnternet bağlantısı kesildiğinde program nasıl davranacak? Bir veri, veri tabanına kaydedilmeden önce hangi kontrollerden geçirilecek?

Bu problemlerin çözümü kişinin ekranı görüp görmemesine bağlı değildir.

Görme engelli bir yazılımcının bilgisayarla çalışma yöntemi, gören bir yazılımcının yönteminden farklı olabilir. Ancak ikisinin çözmeye çalıştığı problem ve ulaşmak istediği sonuç aynıdır.

Ekran Okuyucuyla Kod Nasıl Yazılır ve Okunur?

Görme engelli yazılımcılarla ilgili en fazla merak edilen konulardan biri kodun nasıl okunabildiğidir.

Ekran okuyucu yazılımlar yalnızca internet sayfalarını veya belgeleri okumak için kullanılmaz. Kod editörü erişilebilir olduğu sürece yazılan kodlar da ekran okuyucu aracılığıyla takip edilebilir.

Görme engelli bir yazılımcı klavye komutları yardımıyla satırlar, kelimeler ve karakterler arasında hareket edebilir. Gerektiğinde noktalama işaretlerini tek tek dinleyebilir, bir değişkenin veya fonksiyonun adını arayabilir ve çalışmak istediği bölüme doğrudan ulaşabilir.

Burada önemli bir yanlış anlamayı da düzeltmek gerekiyor.

Görme engelli bir yazılımcının binlerce satırlık kodu her defasında başından sonuna kadar dinlemesi gerekmez.

Zaten büyük bir yazılım projesinde gören bir yazılımcı da bütün dosyaları ve bütün kod satırlarını sürekli baştan sona okumaz. Projeler belirli dosyalara, sınıflara, fonksiyonlara ve bileşenlere ayrılır. Yazılımcı üzerinde çalışması gereken bölümü belirleyerek doğrudan ilgili kod parçasına ulaşır.

Görme engelli yazılımcı da aynı çalışma mantığını ekran okuyucu ve klavye aracılığıyla uygular.

Klavye ve Erişilebilir Yazılım Araçlarının Önemi

Bilgisayar kullanımında fare oldukça yaygın olsa da pek çok işlem yalnızca klavyeyle gerçekleştirilebilir.

Görme engelli kullanıcılar bilgisayar kullanımında çoğunlukla klavye kısayollarından yararlanır. Dosya açmak, kod içerisinde arama yapmak, satırlar arasında hareket etmek, farklı dosyalara geçmek, terminal çalıştırmak veya açık pencereler arasında dolaşmak için fare kullanmak zorunlu değildir.

Klavye kullanımına hâkim olmak, yazılım geliştirme sürecinde önemli bir avantaj da sağlayabilir.

Ancak burada önemli bir şart bulunuyor: Kullanılan geliştirme aracının erişilebilir olması gerekir.

Bir programda yalnızca fareyle kullanılabilen bölümlerin bulunması, düğmelerin ekran okuyucu tarafından doğru şekilde tanımlanmaması veya bazı menülere klavyeyle ulaşılamaması görme engelli bir yazılımcının çalışma sürecini ciddi şekilde zorlaştırabilir.

Bu noktada önemli bir gerçekle karşılaşıyoruz.

Görme engelli bir bireyin yazılım geliştirmesinin önündeki engel her zaman görme kaybı değildir. Bazen asıl engel, kullandığı yazılımın erişilebilir biçimde geliştirilmemiş olmasıdır.

Erişilebilirlik Yalnızca Engelli Bireyler İçin midir?

Erişilebilirlik denildiğinde çoğu insanın aklına ilk olarak engelli bireyler geliyor. Oysa erişilebilirlik, yalnızca belirli bir kullanıcı grubunu ilgilendiren bir konu değildir.

Bir yazılımın erişilebilir olması; farklı yeteneklere, ihtiyaçlara, cihazlara ve kullanım koşullarına sahip insanların o yazılıma mümkün olduğunca rahat, anlaşılır ve bağımsız biçimde erişebilmesini amaçlar.

Elbette görme, işitme veya hareket engeli bulunan bireyler açısından erişilebilirlik büyük önem taşır. Ekran okuyucuyla kullanılamayan bir internet sitesi, klavyeyle ulaşılamayan bir düğme veya altyazısı bulunmayan bir video bazı kullanıcıların içeriğe erişmesini doğrudan engelleyebilir.

Ancak erişilebilir tasarımın sağladığı kolaylıklar yalnızca engelli bireylerle sınırlı değildir.

Örneğin kolunu geçici olarak kullanamayan bir kişi bilgisayarını yalnızca klavyeyle kullanmak zorunda kalabilir. Gürültülü bir ortamda bulunan kullanıcı videodaki konuşmaları duyamadığı için altyazıya ihtiyaç duyabilir. Telefonunu güneş altında kullanan bir kişi düşük kontrast nedeniyle ekrandaki yazıları okumakta zorlanabilir.

Bu örnekler erişilebilirliğin kalıcı engellerin yanında geçici veya içinde bulunulan koşullardan kaynaklanan ihtiyaçlara da çözüm sağlayabildiğini gösteriyor.

Bir yazılımcı açısından erişilebilirlik ise daha geliştirme aşamasında düşünülmesi gereken konulardan biridir.

Bir internet sitesindeki görsellere açıklayıcı alternatif metinler eklemek, form alanlarını anlaşılır biçimde etiketlemek, yeterli renk kontrastı kullanmak, işlemlerin yalnızca fareye bağlı kalmadan klavyeyle de yapılabilmesini sağlamak ve video içeriklerine altyazı eklemek erişilebilirliğin günlük yazılım geliştirme sürecindeki örneklerinden bazılarıdır.

Web erişilebilirliği konusunda geliştiricilere yol gösteren en önemli standartlardan biri WCAG (Web Content Accessibility Guidelines), Türkçesiyle Web İçeriği Erişilebilirlik Yönergeleridir. WCAG, internet sitelerinin ve dijital içeriklerin farklı kullanıcılar tarafından daha erişilebilir hâle getirilmesi için temel ilkeler ve ölçütler ortaya koyar.

Fakat erişilebilirliği yalnızca birtakım standartları yerine getirmek olarak görmek de yeterli değildir.

Bir yazılım teknik olarak belirli erişilebilirlik kurallarını karşılıyor olsa bile gerçek kullanım sırasında kullanıcıların karşısına farklı sorunlar çıkabilir. Bu nedenle geliştiricinin mümkün olduğunca farklı kullanım biçimlerini düşünmesi, yazılımını klavyeyle ve erişilebilirlik araçlarıyla test etmesi önemlidir.

Görme engelli bir yazılımcının kullandığı geliştirme araçlarının erişilebilir olması ne kadar önemliyse, ortaya çıkardığı yazılımın farklı kullanıcılar tarafından erişilebilir olması da aynı ölçüde önemlidir.

Çünkü erişilebilirlik, yalnızca engelli bireyler için sonradan eklenen özel bir özellik değildir.

Erişilebilirlik; daha fazla insanın teknolojiye ulaşabilmesini sağlayan, kullanılabilirliği güçlendiren ve iyi yazılım geliştirmenin önemli parçalarından birini oluşturan bir yaklaşımdır.

Görme Engelli Bireyler Yazılım Eğitimi Alabilir mi?

Görme engelli bir bireyin yazılımcı olabilmesi yalnızca kendi imkânlarıyla programlama öğrenmesine bağlı değildir.

Görme engelli öğrenciler üniversitelerde yazılım ve bilgisayar teknolojileriyle ilgili bölümlerde eğitim alabilir, akademik olarak bu alanda ilerleyebilir ve aldıkları eğitimi mesleğe dönüştürebilir.

Programlama eğitiminin önemli bir bölümü metin tabanlı kodlar, algoritmalar ve problem çözme üzerine kuruludur. Derslerde kullanılan programlama dilleri, geliştirme ortamları ve eğitim materyalleri erişilebilir olduğunda görme engelli bir öğrenci kod yazabilir, ödevlerini hazırlayabilir ve yazılım projeleri geliştirebilir.

Ancak burada eğitim kurumlarına da önemli sorumluluklar düşüyor.

Ders materyallerinin erişilebilir biçimlerde sunulması, eğitim sırasında kullanılan yazılımların erişilebilirliğinin dikkate alınması ve yalnızca görsel yöntemlerle aktarılan bilgilerin alternatif yollarla öğrenciye ulaştırılması gerekir.

Özellikle akış şemaları, grafikler, bazı matematiksel gösterimler ve görsel arayüzlerin incelendiği derslerde farklı erişilebilirlik yöntemlerine ihtiyaç duyulabilir.

Bunlar, görme engelli bir öğrencinin yazılım eğitimi alamayacağı anlamına gelmez. Tam tersine, eğitim yöntemlerinin öğrencinin bilgiye erişebileceği biçimde düzenlenmesi gerektiğini gösterir.

Dolayısıyla görme engelli bir öğrencinin önünde yalnızca kendi kendine programlama öğrenmek gibi bir seçenek bulunmuyor. Üniversitede eğitim alabilir, belirli bir yazılım alanında uzmanlaşabilir ve profesyonel olarak çalışabilir.

Bu noktada sorulması gereken soru belki de “Görme engelli biri yazılım okuyabilir mi?” değildir.

Asıl soru şudur:

Eğitim kurumları, görme engelli bir öğrencinin yazılım eğitiminin bütün aşamalarına eşit şekilde katılabilmesi için ne kadar erişilebilir bir ortam sunuyor?

Hata Ayıklama Süreci

Yazılım geliştirmek yalnızca kod yazmaktan ibaret değildir.

Bazen birkaç dakikada yazılan bir kodun neden çalışmadığını anlamak için çok daha uzun süre araştırma yapmak gerekebilir. Bu nedenle hata ayıklama, yazılım geliştirmenin doğal ve önemli bir parçasıdır.

Görme engelli bir yazılımcı da programların oluşturduğu hata mesajlarını ekran okuyucu aracılığıyla okuyabilir.

Hatanın bulunduğu dosya, ilgili satır bilgisi, terminal çıktıları, günlük kayıtları ve uygulamanın oluşturduğu diğer hata mesajları incelenerek problemin kaynağı araştırılabilir.

Örneğin uygulama belirli bir değişkenin tanımlanmadığını söylüyorsa önemli olan hata mesajını gözle görmek değildir. Mesajın ne anlama geldiğini anlayabilmek, ilgili kod bölümünü bulabilmek ve hatanın kaynağını çözebilmektir.

Özellikle terminal tabanlı araçların çoğunun metinsel çıktılar üretmesi, ekran okuyucu kullanan geliştiriciler için bazı işlemleri oldukça kullanışlı hâle getirebilir.

Programlama Dilini Engel Durumu Belirlemez

Görme engellilere özel bir programlama dili yoktur.

Görme engelli bir geliştirici HTML, CSS, JavaScript ve PHP ile çalışabileceği gibi Python, Java, C#, Kotlin veya farklı programlama dillerini de kullanabilir.

Hangi programlama dilinin tercih edileceğini kişinin görme durumu değil, geliştirmek istediği proje ve uzmanlaşmak istediği alan belirler.

Web uygulaması geliştirmek isteyen bir yazılımcının tercih edeceği teknolojilerle mobil uygulama geliştirmek isteyen bir yazılımcının kullandığı araçlar farklı olabilir. Masaüstü uygulamalar, veri tabanları veya sunucu taraflı sistemler üzerinde çalışan geliştiriciler de ihtiyaçlarına göre farklı teknolojilerden yararlanabilir.

Buradaki temel mesele kullanılan programlama dilinin adı değil; o dilin mantığını öğrenebilmek, doğru şekilde kullanabilmek ve gerekli geliştirme araçlarına erişebilmektir.

Terminal ve Sunucu Yönetimi

Yazılımcılık yalnızca bir kod editöründe program yazmaktan ibaret değildir.

Özellikle web uygulamaları ve sunucu taraflı sistemler geliştiren kişilerin zaman zaman terminal kullanması gerekir.

Dosya işlemleri yapmak, servislerin durumunu kontrol etmek, yazılım paketleri kurmak, günlük kayıtlarını incelemek veya geliştirilen uygulamayı bir sunucu üzerinde çalıştırmak gibi pek çok işlem komut satırı aracılığıyla gerçekleştirilebilir.

Terminalin büyük ölçüde metin tabanlı olması, ekran okuyucu kullanıcıları açısından avantaj sağlayabilir.

Görme engelli bir geliştirici gerekli teknik bilgiye sahip olduğu sürece uzak bir sunucuya bağlanabilir, komut çalıştırabilir, yapılandırma dosyalarını düzenleyebilir ve uygulamasının sunucu tarafındaki süreçlerini yönetebilir.

Elbette sunucu yönetimi başlı başına bir uzmanlık alanıdır. Bu alanda çalışabilmek, görme durumundan bağımsız olarak gerekli teknik bilginin ve deneyimin edinilmesini gerektirir.

Masaüstü ve Mobil Uygulama Geliştirme

Görme engelli bir yazılımcının web geliştirebilmesi, yalnızca bu alanda çalışabileceği anlamına gelmez.

Masaüstü bilgisayarlar için programlar geliştirilebilir; aynı şekilde mobil cihazlara yönelik uygulamalar üzerinde de çalışılabilir.

Burada da temel konulardan biri kullanılan geliştirme ortamının erişilebilirliğidir.

Kod yazmak mümkün olduğu hâlde uygulamanın arayüzünü oluşturmak için kullanılan bazı görsel araçlar ekran okuyucuyla yeterince erişilebilir olmayabilir. Böyle durumlarda arayüzü kod üzerinden oluşturmak, klavyeyle kullanılabilen alternatif yöntemlerden yararlanmak veya gerektiğinde farklı kontrol yöntemlerine başvurmak gerekebilir.

Görme engelli bir geliştiricinin kullanıcı olarak sahip olduğu deneyim, geliştirdiği uygulamaların erişilebilirliği açısından da önemli bir katkı sağlayabilir.

Ekran okuyucuyla kullanılamayan düğmelerin, etiketsiz kontrollerin veya klavyeyle ulaşılamayan bölümlerin kullanıcı açısından ne kadar ciddi sorun oluşturduğunu bizzat deneyimleyen bir geliştirici, kendi projelerinde erişilebilirliği daha başlangıç aşamasında dikkate alabilir.

Yapay Zekâ Yazılım Geliştirmeyi Nasıl Etkiliyor?

Son yıllarda yapay zekâ destekli araçların yaygınlaşması, yazılım geliştirme yöntemlerinde de önemli değişikliklere yol açtı.

Kod açıklamak, hata mesajlarını değerlendirmek, bir fonksiyon için alternatif çözüm yolları üretmek veya uzun bir kod içerisinde problemin kaynağını araştırmak gibi pek çok işlemde yapay zekâdan destek alınabiliyor.

Bu imkânlar görme engelli geliştiriciler açısından da önemli fırsatlar sunuyor.

Örneğin görsel bir arayüz hakkında açıklama alınabilir, bir ekran görüntüsündeki sorun değerlendirilebilir, erişilebilirlik problemi araştırılabilir veya karmaşık bir hata çıktısının ne anlama geldiği açıklatılabilir.

Ancak burada dikkat edilmesi gereken önemli bir nokta vardır:

Yapay zekâ kullanmak, programlama bilgisine artık ihtiyaç olmadığı anlamına gelmez.

Yapay zekânın oluşturduğu kod hatalı olabilir, güvenlik problemi içerebilir veya projenin mevcut yapısıyla uyumsuz çalışabilir. Bu nedenle geliştiricinin üretilen kodu anlayabilmesi, test edebilmesi ve gerektiğinde değiştirebilmesi gerekir.

Yapay zekâyı yazılımcının yerine geçen bir sistem olarak değil, geliştirme sürecini destekleyen araçlardan biri olarak değerlendirmek daha doğru olacaktır.

Teknik Engeller Kadar Önyargılar da Var

Teknoloji geliştikçe bazı engeller azalıyor. Ancak teknolojiyle doğrudan çözülemeyen başka bir sorun daha var: önyargılar.

“Ekranı görmeden nasıl kod yazacak?”, “Programın arayüzünü nasıl hazırlayacak?” veya “Bir hata olduğunda nasıl anlayacak?” gibi sorular, çoğu zaman kişinin bilgi ve becerileri görülmeden sorulabiliyor.

Elbette görme engelli bir yazılımcının zorlanabileceği alanlar vardır.

Bazı geliştirme araçları erişilebilir olmayabilir. Görsel tasarımın değerlendirilmesinde farklı yöntemlere veya desteğe ihtiyaç duyulabilir. Bazı işlemler gören bir geliştiriciye göre daha farklı bir çalışma yöntemi gerektirebilir.

Bunları yok saymak gerçekçi olmaz.

Fakat bu zorluklardan hareket ederek bir insanın yazılım geliştiremeyeceği sonucuna ulaşmak da doğru değildir.

Bir yazılımcıyı değerlendirirken önce engel durumuna değil; teknik bilgisine, öğrenme becerisine, problem çözme yeteneğine ve ortaya koyduğu projelere bakmak gerekir.

Sonuç: Kod Görmekten Önce Düşünmeyi Gerektirir

Başlangıçta sorduğumuz soruya yeniden dönelim:

Görme engelli bir birey yazılımcı olabilir mi?

Evet, olabilir.

Kendi imkânlarıyla programlama öğrenebilir, üniversitelerde yazılım ve bilgisayar alanlarında eğitim alabilir, web uygulamaları geliştirebilir, masaüstü ve mobil programlar üzerinde çalışabilir, terminal kullanabilir, sunucu yönetebilir ve farklı yazılım teknolojilerinde uzmanlaşabilir.

Bu, görme engelli bir yazılımcının hiçbir güçlükle karşılaşmayacağı anlamına gelmez.

Erişilebilir olmayan geliştirme araçları, görsel ağırlıklı uygulamalar, erişilebilir hazırlanmayan eğitim materyalleri ve insanların sahip olduğu önyargılar zaman zaman ciddi engeller oluşturabilir.

Ancak burada önemli bir ayrım yapmak gerekir:

Bir işi farklı bir yöntemle yapmak, o işi yapamamak değildir.

Gören bir yazılımcı kodunu ekrandan okuyabilir. Görme engelli bir yazılımcı aynı kodu ekran okuyucuyla dinleyebilir. Biri fare kullanırken diğeri klavye kısayollarından yararlanabilir.

Kullanılan yöntemler farklıdır; fakat ulaşılmak istenen sonuç aynıdır.

Çünkü yazılımcılığı belirleyen temel unsur, insanın ekrandaki kodu gözleriyle görmesi değildir.

Önemli olan karşısındaki problemi anlayabilmesi, çözüm üretebilmesi ve düşündüğü çözümü çalışan bir yazılıma dönüştürebilmesidir.

Henüz yayımlanmış yorum bulunmuyor. İlk yorumu siz yazabilirsiniz.

Yorum yaz

E-posta adresiniz yayımlanmayacaktır.