Çaylak Yazılımcı Kime Denir?

Ülkemize gelmeden önce dünyada yazılım sektörünü incelediğimizde yazılım ile uğraşan kişiler kendi aralarında üç temel gruba ayrılıyor. Bunları yeri geldiğinde büyük firmalar çalışanlarını ödüllendirmek, yeri geldiğinde ekip dağılımlarını dengeli yapmak için kullanırlar. Birbirlerini eleştirmeyi seven çoğu yazılımcı da kimi zaman bir kıdem bir ego unsuru olarak görür ve kullanırlar. Bu ünvanlar sırasıyla;

  • Junior Developer ( Acemi Yazılımcı / Çırak Yazılımcı )
  • Mid-Level Developer ( Orta Seviye Yazılımcı )
  • Senior Developer ( Uzman Yazılımcı )

Ana başlığımız olan Çaylak Yazılımcıya (Junior Developer) gelmeden önce diğer ünvanlar hakkında da kısa bir bilgi vermek gerekirse Mid-Level Developer; bir takım projelerde yer almış, kod okumayı hata ayıklamayı yapabilen, bir veya daha fazla programlama dilinde profesyonel derece işler çıkarabilen ama tecrübesi hata ile karşılaştığında hızlı çözüm üretecek kadar olmayan, kullandığı dilin mimarisi hakkında eksiklikleri olan kişilere denilebilir.

       Senior Developer ise artık yapmış olduğu projeleri say dediğinde sayısını hatırlamayan, kod okumayı ve hata ayıklamayı iyi seviyede yapabilen, yazılım mimarileri (software architecture), yazılım desenleri (design patterns) konularında tecrübeli, sorunlar karşısında hızlı çözümler üretebilen, yazdığı kodlarda güvenlik açığı, performans kaybı bulunma ihtimali en az seviyede olan kişilerdir.

 

       Ve gelelim Çaylak yazılımcılara…

       Yer aldığı proje sayısı sayılı olan, her yer aldığı projede/alıştırmada/ödevde yeni fonksiyonları keşfeden, kod okuma, hata ayıklama gibi terimlerin ne olduğunu yeni anlayan ve catch blokların içerisinde bir exception’dan bir exception’a atlayan [ terimler yabancı gelebilir. Panik yok J. Onları da anlatacağız ilerleyen günlerde],  yazdığı kodda performans ve güvenlik kayıplarının fazla olduğu, az önce yazdığım terimlerin anlamını bilmiyorsa devam edemeyip yeni sekmede açıp bir yandan da ne olduğunu araştıran ya da yazılımla alakalı bilmediği bir terim/kütüphane/mimari gördüğünde merak edip araştıran kişidir. Öğrenmeye açtır, öğrenmelidir de. Asla ben oldum dememeli, daha ne öğrenebilirim diye sormalı kendine bir çaylak yazılımcı.

       Bir çaylak yazılımcının en büyük hata tam olarak ne istediğini bilememesi oluyor. Eğer yeni başlayacaksanız hangi dile başlayacağını iyi araştırıp karar vermelisiniz. Uzman bir yazılımcılığa geçiş süresini uzatan en büyük etken dilden dile atlamaktır. 

C'de "Hello World" yaptım, php de hesap makinesi yazdım, C# da form uygulaması yaptım, Python da da form oluşturdum. 

       

       Başlangıç aşamasında birisi için bu kadar çok dil değiştirmek, farklı dillerde uygulama yapmak sizi çok iyi yazılımcı yapmayacağı gibi, sizin programlama dillerinin yapısını kavramanız geciktirir, dillere özgü farklı yazım kuralları (syntax) bir dilden diğerine geçerken karıştırmanıza neden olacaktır.. Ama yinede bir çaylak yazılımcı acaba o dil nasılmış der, yine ona da bakmaya devam eder. 

       Fizikte her problemin bir formülü vardır. Matematikte genelde çözüme giden bir yol vardır. Ama yazılımda varmak istediğiniz sonuca onlarca yöntem yazılabilir, yüzlerce satır kod ile yazdığınız bir fonksiyonu yeri gelir belki de 10 satır kod ile çözebilirsiniz. Kimi zaman o an ki ruh halinize, yorgunluğunuza, odadaki ışığa göre bile değişebilir bir çaylak yazılımcının soruna karşı çözümü.

       Günümüz yazılımlarında bir yazılımın kalitesini belirleyen unsurlar ona yazılan kod değil, ona yazılan kodda kullanılan yazılım mimarileri, tasarım kalıpları, karmaşıklığı, performans, ölçeklenebilirlik, tekrar kullanılabilirlik  gibi önemli konulardır.

Bir çaylak yazılımcı;

“şu çalışsın bi...”

“fonksiyon değeri versin de bir…”

“neyse şunu elle koda yazayım, sonra değiştiririm ( değiştirmedi)” 

şeklinde yaklaşır.

Bir çaylak yazılımcı projede istemediği bir durum, saatlerdir uğraştığı bir hata ile karşılaştığında yukarıdaki gibi veya bunlara benzer düşüncelere kapılır. Günü kurtarabilir ama ilerisi için bu düşüncede fazla barındırmazlar sizi şimdiden söyleyeyim.

       Yazılımcılar olarak severiz bizden önceki yazılımcıya sövmeyi, X bir konuyla alakalı geliştirme yapan birine istemsizce “niye öyle yapmış ki? Böyle yapsa daha kolaydı/hızlıydı/güvenliydi” çekiştirmeyi severiz. İş ortamında ve günlük hayatta da.  Bir çaylak yazılımcıysanız eğer, sizin de yazdığınız koda yorumlarda bulunanlar olacaktır. Sırf eleştirmiş olmak için eleştirmiş insanlar da olacaktır, eğer çaylak yazılımcıysanız halen en azından dinlemenizde fayda var bu tarz eleştirileri de, belki o konuda haklı olmasa da ileride size ilham olabilir bazı konularda.

 

Peki diyeceksiniz ki ben başladım yazılıma, kariyerim ne olacak?

       Kariyer konusunda da bir yazılımcının üç temel başlığı mevcut. Bunlardan sadece birini yapabileceği gibi ikisini de bir arada yürütenler oldukça fazla.

  • Akademisyen, öğretmen
  • Freelancer
  • Özel sektör çalışanı

     

Akademisyen, öğretmen

       Ağırlıklı olarak Bilgisayar Programcılığı, Bilgisayar Mühendisliği ve Yazılım Mühendisliği bölümlerinden olmak üzere diğer mühendislik alanları, Matematik ve İstatistik bölümlerinde okuyup yazılım konusunda akademik kariyer yapanlar bulunmakta ülkemizde. Devlet ve kamu üniversilerinde akademisyen olarak profesörlüğe kadar yükselme imkanınız bulunmakta.

   

Freelancer ( Serbest yazılımcı)

       Yazılım ile ilgilenmeye başladıktan sonra duymaya başlayacağınız bir terimdir freelancer.  Freelancer işlerin paylaşıldığı siteler olduğu gibi, okuldan bir arkadaşınız, yazılımla ilgilendiğinizi duya bir akrabanız, mahallede selam verdiğiniz birisi… kısaca her yerden gelebileceği gibi sizin de arayışlarınızla bulalabileceğiniz projeler ile içine atılabileceğiniz yazılımcılık alanı. Şahsi düşüncem internetten görüp yaptığınız örnekler sizi sıktığında bu alana atılması gerekir bir yazılımcının. Projenizi planlıyor, onu geliştiriyor ve müşteriyle iletişim halinde oluyorsunuz. Olumlu ve olumsuz yaşayacağınız her tecrübe sizi bir adım daha geliştirecektir.

  

Özel Sektör Çalışanı

      Üniversitede öğrenciyken veya mezun olduktan sonra dahil olabilirsiniz. Çevremde gördüğüm kadarıyla da staj için gidilen firmalarda kalıp orada devam eden öğrenciler fazlasıyla olmakta. Ülkemizde kariyer sitelerinde iş ilanlarını bulabilirsiniz. İş ilanına bildiği diller kısmına yazdıkları ile fazlasıyla gündem olabiliyorlar. Sizin de bu tip “hem logo yapsın, hem psd’den html dökebilsin, hem onun css’lerini ayarlasın, otursun bir de back-end ve veritabanını planlasın” düşüncesindeki firmalardan uzak durmanızı tavsiye ederiz. Çalışma saatleri olarak esnek ( kaçta geldiği önemli değil, proje teslim tarihinde işi tamamlasın yeter ) olan firmalar olduğu gibi belirli çalışma saatleri olan ( 8-5 , 9-6  )firmalar da bulunmakta. Firmanın çalıştığı müşteriler, firmanın konumu, patronun keyfi gibi çeşitli unsurlar ile değişebilmekte.

       

       Çaylak yazılımcı nedir, ne değildir, ne zaman çaylak olurum gibi sorularınıza umarım cevap bulabilirsiniz. Merak ettiğiniz soruları iletişim sayfasından da bize sorabilirsiniz. Bir sonraki yazımızda “Programlamaya nereden başlamalıyım?” sorusuna cevap vermeye çalışacağız.

 

 

 

 

 

Comments (4) -

  • Gerçekten çok güzel, yol gösterici bir makale olmuş. Ellerinize sağlık.
  • Ellerinize Saglik )).Fazla aciklayici ve tavsiye dolusu
  • Ben neden sizi daha önce görmedim :O
  • sorularıma cevap buldum teşekkürler

Add comment