Etiketler

, ,


Yazılımcı,

  • Öncelikle yazdığı kodun çalışmasını ister.
  • Akabinde güzel çalışmasını ister. Ekstra fonksiyonellik katma yönünde araştırır. Bulduğu kod bloklarını uyarlamaya çalışır. Amacı farklı bir görünümde o kodu çalıştırtabilmektir.
  • Daha sonra kodunu kendi istediği gibi çalıştırmak ister. Daha önce bulduğu ve arşivlediği o kodları yönetmeye başlar.
  • Bu süreçte metotlar her işi yapar. Yapması gerekeni de yanındaki metodun yaptığını da yapar. Ne değişken ne de fonksiyon isimlendirmesine özen gösterir. Zaten ne yazabilir ki yazdığı metot her işi yapmaktadır. Sadece kendisinin bildiği ve kendisinden başta kimsenin o kodu çözemeyeceği için bunu marifet olarak gördüğü bir dönemdir.
  • Yavaş yavaş ne yazdığını kendisinin de unuttuğu bir döneme girmeye başlar. Proje büyümektedir. Baktı ki böyle olmayacak en azından kendisi için anlamlı, imalar koyar kodun içine. Ondan başka o kodu kimsenin çözmesini hala istemez.
  • Daha anlaşılır isimler vermeye ve kodunun yönetimini artırmaya çalışmaya başlar çünkü artık kendisi bile o kodu yönetememektedir.
  • İster istemez temiz kodlama diye bir şeyle tanışmıştır. İsimlendirmelerine özen gösterir. Yazdığı bir metodu iki yere yazmamaya çalışır. Kodunun herkes tarafından anlaşılmasın en başta kendisi için bir artı olduğunu fark etmesi işte bu süreçte başlamıştır. Dokümantasyona önem vermeye başlar. Ama hala bu onun için sıkıcı bir çalışmadır.
  • Kendi standartlarını değil de artık evrensel standartlara doğru yönelme gayreti içersine girer.
  • Bu sürece kadar henüz güvenlik ve performansla tanışmamıştır. Katmanlı mimariyle tanışmış da olabilir yeni tanışıyor da olabilir. Eğer tanışmadıysa bütün bu çalışmaları sayfanın içinde, çoğu zamandan butonların arkasında yapıyordur, tanıştıysa katmanın içinde yapıyordur.
  • Muhtemelen katmanlar bu süreçte onun için fazladan iş yükü çıkartan, gereksiz yere bir kodu on yere yazmak zorunda olduğu seviyelerdir. Çünkü hangi katmanda ne yapılması gerektiğini bilecek seviyede değildir.
  • Yavaş yavaş veri katmanıyla tanışır. Bu süreçte bu katman en fazla veri tabanıyla bağlantıyı yönetiyordur. Ve artık T-SQL , PL-SQL cümleleri en azından tek bir yerden çalıştırılıyordur. Ama halen sayfa arkasında oluşturuyordur
  • Bir süre sonra işletme katmanıyla tanışır. Bu katman sadece alt katmanla iletişim kurdurduğu bir geçiş katmanıdır onun için. Herhangi bir önemi yoktur.Sadece adı vardır. Oda muhtemelen Logic yada Façade tır.
  • İlerleyen safhalarda web sitesinin yada Windows formun sunum katmanı içersinde yer aldığını öğrenir. Mimarinin 3 bölümünün de varlığından artık haberdardır. Aslında kullandığı mimari kaç katmandan oluşuyorsa, yazılım mimarisinin sadece o katmanlardan oluştuğuna inanır. İsimleriyle kabullenir, gittiği yerlerde savunur. Yazılım mimarisi üzerine düşünmeye başlaması için daha epeyce zamanı vardır.
  • Arada güvenlik ile ilgili bir şeyler okumaya başlar. İlk olarak Injection ile tanışır. Güvenlik yönünde elinden geldiğince önem almaya, tek tek önlem almaya başlar.
  • Artık tasarım desenleriyle tanışması gerektiğini hisseder. Tek tek o desenleri okumaya, UML şemalarını anlamaya başlar. Bu süreçte ara ara heyecanlı bir şekilde desen desen okumaya çalışır. Kendi projesinde uygulamak ister ama uygulanması gereken yeri bir türlü tespit edemez.
  • Biraz da ilerlediğinde fark eder ki önce tasarım prensiplerine bakması gerekliymiş ve aslında desenler prensiplerden ibaretmiş. Bu süreç yazılım mimari tasarlamaya başlayana kadar sürecektir. Yani daha epey vakti vardır. Zaten önce, ilk öğrendiği zamanlardaki yanlış uygulamalarını düzeltecektir. Bu anlamda prensiplere güvenir.
  • Güvenlik ile ilgili araştırmalarını hızlandırır. Injection çeşitlerini öğrenir. XSS ile tanışır. Ve bütün bu açıkları kapatmak üzerine çalışır.
  • Bu süreçte performans üzerine düşünmeye ve araştırmaya başlamıştır.Öncelikle veritabanı tarafında performans arar. Hazırladığı sorguları gözden geçirir. Akabinde programlama dilinin hassasiyetlerine dikkat eder. Gereksiz işlemler yapmaktan ve aşırı kaynak kullanmaktan kaçınır.
  • Bu zaman kadar olan tüm tecrübeler, güvenlik olsun işlevsellik olsun, etkin bir kod yönetimi ve paralelinde kod hakimiyeti gerektiren konular olduğunu artık hissettirir.
Sonrası mı …

Bu yazının devamı niteliğindek yazılara aşağıdan ulaşabilirsiniz.

Kariyer gelişim süreci ile ilgili tüm yazıları buradan ( https://dervisali.wordpress.com/tag/kariyer-gelisim-sureci/ ) takip edebilirsiniz.