Bu makale Low Code kavramının detaylarını açıklayan bir makale olmayacak. Konuyu bilmeyenler şu makaleden detaylarını öğrenebilirler. Bu makalede kısaca “az kod yazarak yazılım geliştirmek” olarak tanımlayabileceğimiz Low Code kavramının geliştiriciler (“developer” olarak devam edeceğim) için ne ifade ettiği veya ne ifade etmesi gerektiğine odaklanıyor olacağız. Bir developer Low Code’a ne gözle bakmalıdır? Melek olarak mı, Şeytan olarak mı görmelidir? Şimdi bunu irdeleyebiliriz.
Photo by Markus Spiske on Unsplash
Developer’ın Low Code ile Teması
Low Code konusunu firmalar eninde sonunda ele alacaklar. Çünkü getirilerinin çok ve tatlı olduğunu düşünecekler. Bunlardan en önemlileri; daha az maliyetli ve daha hızlı uygulama üretmek ve canlıya almaktır. Özellikle daha az uzmanlığa sahip olan veya developer’lığın okulunu okumamış kişileri geliştirme bandına sokmak büyük bir maliyet avantajı sağlar. İşte bu developer’lar Citizen Developer denilen yeni bir role atanırlar ve yarı developer statüsünde olurlar. Citizen Developer kavramını aşağıda açacağız.
Bu platformlardan kastımı sadece uluslararası Low Code ürünlerin kullanılması gibi düşünmeyin. Özellikle büyük kurumsal firmaların IT yönetimleri de kendi ürettikleri uygulamaları Low Code mantığı ile nasıl yapacaklarını düşünüp, bu tarz framework’ler kurgulayıp, geliştirme bandına Low Code yaklaşımını entegre etmeye başladılar veya başlayacaklar. İşte bu kurum içi geliştirilen Low Code uygulamaların kodlanması ve inşa edilmesi de yine developer’lar vasıtasıyla olacaktır. Yani kısa vade içerisinde ister platformu kullanarak, ister platformun kendisini geliştirerek olsun çoğu developer bir şekilde Low Code platform ile temas kurmuş olacaktır.
Developer’ın Low Code İçin Hissettikleri
Tarihte birçok yenilik bazı kesimlerce kaçırıldığı için bu kesimler bu yeniliklerden ya faydalanamamış ya da geç konum aldıkları için az faydalanmışlardır. Hani İstanbul’da 90,000 hattat vardı ve matbaanın gelişini istemediler efsanesi vardır ya, bu efsane doğru veya yanlış veya abartılı da olsa (birçok tarihçi fazlasıyla abartılı bulur ama ana fikre odaklanalım 😊) aynı bu hattat örneğindeki gibi günümüzde de developer’ların büyük bir kısmı kod yazmamayı (veya az kod yazmayı) amaçlayan Low Code gibi bir yeniliğe genelde direnç göstermeye eğilimlidirler. “Ben kod yazmayı çok seviyorum“, “araç kullanıp sürükle bırak ile yazılım geliştirmek istemiyorum” gibi bakış açıları ile mümkün olduğunca Low Code’dan kaçış denenecektir. Hatta kod yazmayı çok seven kişiler asla bu araçlara dönüp bakmayacaklardır. Bir developer arkadaşım şöyle derdi, “kod yazmak meditasyon gibidir, insanı rahatlatır”. Eminin birçok developer kendisini bir “yazar” olarak da görüyordur, yazdığı kodları da “kitap”. 😊
Aslında iyi developer’lar kod yazarken bir yandan da “daha az kod yazarak aynı işi nasıl yaparım” diye de sürekli uğraşırlar. Yardımcı sınıflar, third party kütüphaneler, ilgili dilin üst düzey özellikleri gibi şeyler ile hep kodu azaltmaya çalışırlar. Hatta ne kadar az kodla ne kadar çok iş yaptıklarını, nasıl bu konuda başarılı olduklarını da anlatırlar, bu övünç meselesine döner 😊 Ancak hiç veya hiçe yakın kod yazmak bir developer için ürkütücüdür. Ancak ürkütse de de ürkütmese de bu araçlar developer’ların önüne gelecekler ve hazırlıklı olmak ve bunu bir fırsata çevirmek daha doğru olacaktır.
Citizen Developer Yeterli Midir?
Low Code platformlar developer’lığın okulunu okumamış, alaylı yeni birçok developer’ın yani Citizen Developer’ın ortaya çıkmasını sağlayacak demiştik. Bu citizen developer’lar ilgili araçların birkaç günlük veya haftalık eğitimlerini alıp hemen sahada uygulama geliştirmeye başlarlar. Yarım hoca dinden, yarım doktor candan edermiş. Yarım geliştiricinin ne yapabileceğini siz düşünün 🙂 İşin latifesi bu tabi ki ama bu latife altındaki gerçekleri irdelemezsek belli bir metodoloji ile kullanılmayan bir Low Code platformun zaman içerisinde nasıl da bozuk ve kötü sonuçlar doğurabileceğini anlayamayabiliriz.
Citizen developer’lar büyük oranda işin temellerinden başlayarak bir uygulama geliştirmediler. Bu nedenle citizen developer’ların geleneksel developer’lardan birçok konuda yardım almaları gerekecektir. Nedir bunlar:
- Low Code araçlar üzerinde citizen developer’larca geliştirilen uygulamaların yaşam döngüsü yönetiminin (ALM) kurgulanması ve işletilmesi.
- Temel yazılım metodolojilerinin, standartların ve en iyi pratiklerin kurgulanması, uygulanması ve takip edilmesi.
- Uygulama bakımının nasıl yapılacağının kurgulanması ve uygulatılması.
- Citizen developer’ların eğitimi ve mentörlüğü, yani liderliği.
- Citizen developer’ların organize edilmesi.
Liste daha da uzatılabilir. İşte bu konuları geleneksel developer’lar çözecekler ve böylece geleneksel developer’lar Low Code araçları kendileri için bir fırsata çevirebilirler. Ancak citizen developer’lar kendi haline bırakılırsa bu durumda yüzlerce ne olduğu bilinmeyen ekranlar, ekranımsılar, formüller ve fonksiyonlar ortaya çıkabilir. Elbette citizen developer’lar arasından da daha en başından beri çok başarılı developer’lar çıkacaktır ancak bunların sayısını arttırmak da geleneksel developer’ların desteği ile olacaktır.
Geleneksel Developer Hala Hangi Alanlarda Gereklidir?
Developer’lar sadece kod yazan kişiler değildir. Development çok kapsamlı bir konudur ve bu kapsamdaki bazı şeyleri kısa vadede Low Code platformlardan beklemek doğru olmayacaktır. Bu şeyler platform üzerinde basit olarak belki var olabilir ama tüm ihtiyaçları çözecek şekilde olmayacaklardır. İşte aşağıdaki proje tipleri için hala geleneksel kodlama yapmalı ve firmada geleneksel kodlamaya hâkim developer’lar bulundurmalıdır.
- Teknik, mimari ve iş olarak çok karmaşık projeler.
- Tamamen terzi işi ihtiyacı olan yazılımlar.
- Yüksek performansa ihtiyaç duyan uygulamalar.
- Sensör vb. cihazlar ile entegrasyona ihtiyaç duyan yazılımlar.
- Entegrasyon yoğun veya özel entegrasyon isteyen yazılımlar.
- Güvenlik ihtiyaçlarının önemli olduğu uygulamalar.
İster Low Code ister geleneksel yöntem ile geliştirin, günün sonunda toplam üretilecek yazılım aynı kalacaktır (zamana göre ihtiyacın artışını hesaba katmadan). Ancak zaman içerisinde Low Code geliştirme artarken, geleneksel yöntem ile geliştirme azalacak ve toplam ihtiyaç yine de çözülmüş olacaktır. Yani burada bir zero-sum game vardır. Bu yazıda kapsam dışı olan No Code ve Yapay Zeka ile üretilen kod konusu var ki, onu da dahil edip tahmini bir zaman/yazılım üretim tipi hacmi grafiği çizdim (Tahmin yerine veriye yönelik bir grafik hazırlamak isterdim ama bu konuda detaylı uzun vade içeren bilimsel bir çalışma maalesef yok).
Burada T anı gelince, çoğu yazılım yapay zeka ile yapılacak (tabi başka bir şey çıkmazsa) ama T ne zaman şu an kestirmek çok çok zor. T’nin yerinin benim grafiğime uymama ihtimali var, muhtemelen sağa doğru daha da ileri bir noktada ortaya çıkacaktır.
Sonuç
Bir developer Low Code platformlardan kaçmak için firma firma da gezse, bu developer’ın belli bir zaman içerisinde bir şekilde Low Code bir platforma rastlama ihtimali çok yüksek. Bence Low Code platformlara direnen developer’lar bunun dezavantajını ileride yaşayacaklardır. Low Code platformların pazar payı büyüdükçe Low Code platformlarda rahat çalışabilen ve kolay adapte olabilen developer’lar öne çıkacaktır. Bu nedenle siz siz olun, kendinizi sadece yazılım dili olarak değil, diğer yetkinlerde de geliştirin ki, diler Low Code olsun dilerse de yeni çıkacak bambaşka bir yaklaşım olsun her zaman aranan kişi olun.
Tren geliyor. Sizin durağınıza geldiği zaman binmenizi ve en azından bir süre ne olduğunu görmenizi, konu hakkında tecrübe edinip dilerseniz devam etmenizi, dilerseniz istediğiniz durakta inmenizi tavsiye ederim. Ancak bu treni kaçırmayın…
Referanslar
https://itnext.io/for-developers-the-low-code-winter-is-coming-76875d3606c0
https://medium.com/@devran.erogul/no-code-ve-low-code-geli%C5%9Ftirme-nedir-bd09429d3304