Yazılımcının Kendi Kendini Eğitmesi

Merhaba Arkadaşlar,

İster üniversite öğrencisi olun ister yeni mezun, yazılım sektörünün henüz başındaysanız eğer, kendinizi yandaki şekilde görülen yolun başında bekleyen birisine benzetebilirsiniz. Ne yolun uzunluğu bellidir ne de gidebileceğiniz yönler. Açıkçası buna baştan karar verebilmek çok zordur. Yaşantınızı ektileyen pek çok neden bu belirsizliğe sebebiyet verebilir. Hatta yazılım alanında hangi yöne doğru ilerleyeceğinize karar verdiğinizde aradan bir kaç yıl geçmiş olabilir. Tüm bu yaşam döngüsü içerisinde unutlmaması gereken bir noktada sizin öğrenme süreçlerinizdir. Pek çok yazılım sevdalısı arkadaşımız çabucak panikleyip bir yerlerden eğitim almaya çalışabilir. Bunun gerekli olduğu veya olmadığı durumlar vardır. Açıkçası Mühendislik nosynonunu Üniversite öğrenimi sırasında kazanmış olanlar avantajlıdır. Ancak onlar içerisinde bile eğitim almak için parasını harcamaktan çekinmeyen kişiler olabilir. Bu yazımızda yine teknik olmayan bir konuya değiniyor olacağım. Sizin bir yazılımcı olarak kendi kendinizi nasıl eğitebileceğinizi anlatmaya çalışacağım. Uzun bir süre eğitimcilik yaptığım için yazıda yer alan ip uçlarını faydalı bulacağınızı düşünüyorum. Tavsiyelerime kulak verin. Wink

Yaşananlardan : 90 lı yılların başlarında üniversite öğrencisiydim ve bilgisayar programcılığına olan merakım her geçen gün katlanarak artıyordu. Açıkçası 64 Kb sınırı altında yaşayan ve oyun yazan programcılara fazlasıyla imreniyordum. O yıllarda Türkçe yazılım kitaplarını bulmak zordu. Şimdi çok kitabımız var ancak aradan kaliteli olanları seçmek istediğinizde aslında çok az kitabımız var. Yabancı kitapları Türkiye' ye getirtmekte bir meseleydi. Özellikle fiyatları düşünüldüğünde. Yurt dışı kanalı ile tedarik ettiğim ilk bilgisayar kitabım Delphi 2.0 Unleashed idi. (Eski bir Delphi programıcısı olduğumu ama Anders Hejslberg' in izinden gittiğimi belirtmek isterim) 1400 sayfaya yaklaşan bu kitabı Taksim' de bulunan Elit kitabevinden tedarik etmiştim. O günü çok net hatırlıyorum. Ahşap tabanda yürürken raflarda gördüğüm sayısız kitabın çoğunu satın almak istemiştim. Ama elimde o kadar çok param yoktu. Yine de isabetli bir atış yapmaya çalışmış ve gerçekten ilgilendiğim konuya ait bir tanesini tedarik edebilmiştim. Bu bulunmaz bir nimet gibiydi.

Kitaplar

Yazılımcıların en büyük dertlerinden birisi de çok hızlı gelişen ve sürekli olarak bizi ötelemeye zorlayan teknoloji. Programlama dilleri, Framework' ler, yazılım metodolojileri sürekli olarak değişmekte veya yenilenmekte. Bunun için uzağa gitmemize gerek yok. C#' ın bir kaç sene içerisinde 4ncü versiyonuna nasıl geldiğini gayet iyi biliyoruz. Dolayısıyla bir yazılımcının çok sık kitap okuması ve takip etmesi gerekiyor. Bu anlamda Amazon gibi Amerika veya İngiltere üzerinden kitap getirtebilmemizi sağlayan sitelerin sunduğu ingilizce kaynaklar hem profesyonellikleri hem de anlatımları yönünden son derece kuvvetli ve yeterli. Size tavsiyem bir kaç arkadaş birleşip birden fazla kitap getirterek taşıma ücretini mümkün olduğunca hafifletmeniz Wink

Yaşananlardan : Üniversitedeki eğitimimi Türkçe almıştım. Mezun olduğumda 1 senelik ingilizce hazırlık eklenmişti. Aslında tüm eğitim hayatım boyunca devlet okullarında öğrenci olmuştum. Ne acıdır ki, orta okul yıllarında hoca yetersizliğinden veya anlaşmazlıklardan dolayı ingilizce derslerimizin yarısından çoğu boş geçmişti. Hal böyle olunca insan çok doğal olarak yabancı dil sorununu tek başına halletmek zorunda kalıyor. Az önce bahsettiğim Delphi 2.0 kitabı bir kaç ay içerisinde kara kalem çalışmasına dönmüştü. Çünkü bilmediğim her kelimenin yanına kurşun kalem ile ne anlama geldiğini yazmıştım. Bu sonraki kitapta, ondan sonrakinde ve sonrakinde de devam etti. Ama bir süre sonra altı çizili kelimeler azalmaya başladı. Yani biraz azmetmem gerekmişti. Bu noktada pek çok rakibinizden geride kaldığınızı düşünebilirsiniz. Ama inanın bir noktadan sonra onları yakalayabilir ve hatta kazandığınız çalışma disiplini ile geçebilirsiniz. Çünkü sıkılmadan yapacağınız ve sözlükten bulduğunuz kelimeleri yazarak harcayacağınız zaman içerisinde standart bir disipline sahip olursunuz. Bu disiplinin içeriği basittir. Sıkılmamak, konsantre olmak, hedefe ulaşmak. Ödülü ise basittir; okuduğunuzu anlamak. Laughing

Tabi burada mutlaka dikkat edilmesi gereken bir nokta var. Çok fazla kitap almaktan ziyade isabetli kitapları seçmek daha önemlidir. Yoksa yandaki resimde görüldüğü üzere kitap sayfaları arasında rahatlıkla kaybolabilir ve işi daha da karmaşık bir hale sokabilirsiniz. Bu noktada belkide daha tecrübeli kişilere danışmak uygun bir davranış olarak görülebilir. Ne de olsa artık günümüzde pek çok yetkin kişiye mailler aracılığıyla ulaşabilmekteyiz.

Eğitim

Kitaplar her zaman için faydalı olan kaynaklardandır ama tek başlarına yeterli olmayabilirler. Çoğu zaman konuyu daha uzman birisinden dinlemek isteyebilirsiniz. Dinlediğiniz kişinin bu anlamda tecrübeli olması geçmiş proje deneyimlerini konu anlatımları üzerine serpiştirmesi de çok önemlidir. Hatta konu ile ilişkili olarak lab çalışması yapılabilmesi size çok fazla değer katacaktır.

Yaşananlardan : Uzun süre bir eğitim firmasında yazılım eğitmeni olarak görev aldım. Eğitimler sırasında özellikle kitaplardan anlatılan konularda öğrencilerimin en çok yakındıkları veya sevmedikleri konu lab çalışmalarının olmasıydı. Aslında Microsoft tarafından sunulan kitaplarda yer alan lab çalışmalarının çoğu, konu ile ilişkili olarak baştan sona bir projenin tamamlanmasını, öğrenilenlerin pekiştirilmesini, hangi malzemeler ile neler yapılabileceğinin görülmesini sağlamaktaydı. Üstelik bu sağlanırken gerçek hayat pratikleri de kazanılmaktaydı.Bu nedenle aldığınız eğitimler içerisinde lab çalışmaları var ise bunları görmezlikten gelmeyin.

Açıkçası bu tip eğitmen bulduğunuzda yakasını eğitim süresi boyunca bırakmamanızda ve söylediklerini yapmanızda fayda vardır. Ne yazık ki günümüzde pek çok eğitim firması işlerini su istimal etmektedir. Açıkçası bu işi hafife alanlardan tutunda, tamamen ticari çıkarlara dönüştüren, rekabet etmek isterken eğitimin kalitesini düşüren firmalar söz konusudur. Ancak tüm bu firmalar her zaman için kendilerinin en iyi eğitmenlere sahip olduklarını ve son teknolojileri aktardıklarını ifade ederler. Aslında gerçek sadece şudur; siz eğitim kurumuna değil eğitmenine para vermelisiniz. Gerçekten o eğitim kurumunun almak istediğiniz eğitimle ilişkili olan konuda son derece saygın, size fayda sağlayacak, deneyimli bir eğitmeni varsa bu durumda eğitimden gerekli yararı sağlayabilirsiniz.

Uzmanlaşmak

Yazılımcının kendisini eğitmesi sırasında yaşadığı önemli güçlüklerden biriside uzmanlaşmadır. Yazılım çok geniş bir dünyadır hatta bir evrendir. Bu sebepten yazılımcıların galakside kendilerini kaybetmeleri son derece doğaldır. Dolayısıyla yazılım içerisinde de belirli konularda uzmanlaşmak gerekebilir. Bu artık bir mecburiyet halini almıştır. Söz gelimi .Net Framework cephesinde servis tabanlı çözümlerde, Web veya Windows tabanlı uygulamalarda ya da Mobil cihazlar üzerinde uzmanlaşılabilir. Aslında buradaki uzmanlaşma fikri bir aşçının uzmanlığına benzetilebilir. Sadece Fransız veya Çin mutfağında ortalığı kasıp kavuran bir aşçı kendi istekleri doğrultusunda seçtikleri alanlarda uzmanlaşmıştır denilebilir. Ancak burada kaçınılmaz bir gerçek vardır. Birden fazla mutfakta uzmanlaşmış olan bir açşı diğerlerine göre çok daha fazla kazanacaktır. Wink Aynı prensip yazılımcılar için de geçerlidir.

Yaşananlardan : Çok yakın zamanda başlayan ama bir süre sonra iptal edilmek zorunda kalınan bir projede, .Net tabanlı bir iş akışı geliştirme sisteminin yazılması istenmekteydi. Projenin en ilginç noktası sistemi kullanacak firma yöneticilerinin onay mekanizmasına Blackberry cihazları ile dahil olmak istemeleriydi. Bu noktada Blackberry cihaz üzerinde otomatik bildirimde bulunacak ve onaylama, red etme, geri gönderme gibi fonksiyonellikleri sunacak bir yazılımın olması gerekmekteydi. Dolayısıyla bizim Blackberry cihazlarında geliştirme konusunda bir şeyler öğrenmemiz bekleniyordu. Zaman azdı ve projede analiz ile çözüm tasarım süreçleri bitmek üzereydi. Güvendiğim tek şey geçmiş yazılım tecrübem, programlama disiplinlerine olan hakimiyetim, çözüm tasarımı yeteneğim, analizi iyi kavramış olmam ve öğrenme isteğimdi. Sizlerde zaman içerisinde bu gibi durumlara düşebilirsiniz. Burada kendi kendinizi eğitme ve yetiştirme teknikleriniz ön plana çıkıp öğrenme sürecinizi belirleyecektir. 

Güvenilir Bilgi

Yazılımcının kendi kendisini geliştirmesinde internet tabanlı kaynaklarında yeri büyüktür. Bu alanda sayısız Community ve Blog mevcuttur. Ancak burada güvenilir olan bilgiye ulaşmak gerekmektedir. Bu sebepten dolayı yazılımcılar olarak sizlerin çok daha seçici davranması gerekmektedir. Ne yazık ki en büyük yanlış, yayınlanan teknik içeriklerin denetlenmemesidir. Eğer düzenli olarak yerli siteleri takip ediyorsanız teknik içerikli makale veya günlük girdilerine yabancı sitelerdekine oranla çok daha az sayıda yorum yapıldığını ve geri bildirimde bulunulduğunu görebilirsiniz.  Oysaki pek çok güvenilir yabancı kaynaklı sitede, yayınlanan içerikten daha uzun yorumlar olduğunu ve geri dönüşler bulunduğunu fark edebilirsiniz. Bu da yazının kaliteli olması halinde sizin için çok daha doyurucu bir içerik oluşması anlamına gelmektedir. Nitekim o konu üzerinde farklı kişilerin görüşlerini de almış olursunuz.

Peki güvenilir sitelere nasıl ulaşabilirsiniz? Dikkat edebileceğiniz ilk nokta yazarın künyesi olacaktır. Microsoft içerisinden gelen, RD, MVP gibi ünvanlara sahip olan yabancı yazarların çoğu sizlere tatmin edici içerikler sunacaktır. Özellikle güvenilirliğinden emin olduğunuz kişilerin varsa bloklarını veya feed' lerini yardımıcı bir program aracılığıyla düzenli olarak takip edebilirsiniz. Örneğin benim kullanmakta olduğum FeedReader programını bu anlamda değerlendirebilirsiniz.

Gördüğünüz üzere değerli meslektaşlarım yazılımcıların her daim kendilerini öğrenci olarak görmelerinde yarar vardır. Gerçekten yazılımı bir yaşam biçimi olarak düşündüğünüzde aslında uzun yıllar boyunca sürecek bir Go oyununa dahil olduğunuzu da görebilirsiniz. Go oyununda öğrenci olarak 30 kyu' dan başlayıp ilerlersiniz. Ancak DAN mertebesi alana kadar öğrencisinizdir ve bu seviyeye ulaşmak hayatınızın bir kaç yılına mal olabilir. Dan aldıktan sonra ise ulaşabileceğiniz en yüksek nokta 9ncu Dan' dır. Tabi oyunun sizin yazılım hayatınıza benzerliği açısından önemli olan katkısı şudur; hep kendinizden daha iyi birisi ile oynayarak ve dolayısıyla kendinizi zorlayarak kademe atlayabilirsiniz. Dan'lara geçtikçe siz artık öğretmen olmaya başlarsınız. Bu da aslında çevrenizdeki yazılımcılara yardım edip onların size danışması anlamında düşünülebilir.

Yazının bu son noktasında halen daha nereden başlayacağınızı bilemeyebilir ve kafanızda çelişkiler yaşayabilirsiniz. Öyleyse şunu deneyin. Yazılım alanında gelmek istediğiniz noktaya odaklanın. Odaklandığınız nokta şu andan 3 yıl sonrası olabilir. Görebildiğiniz kadar ilerisi.(Görebildiğiniz kadar çünkü başta da belirttiğimiz üzere teknolojinin hızı neredeyse ışık hızına yakın) Şimdi geriye doğru gelin. Nelere ihtiyacınız olduğunu not etmeye başlayın. Not ettikleriniz bahsettiğiniz hedefe ulaşmanız için gerekenlerdir. Şimdi bu notlarda yazılanları öğrenmek için neler yapmanız gerektiğini düşünün. Gerekli kitaplar, ilgili siteler, blog adresleri, kişiler, kurumlar...Şu anda en azından nelere ihtiyacınız olduğunu tespit ettiniz. Şimdi aradan uygun olanı seçip sıralı olarak devam edebilir ya da bir kaçına birden başlayarak paralel yürüyebilirsiniz. Kolay gelsin. Zorlu bir maratona başladınız...Laughing

Yorumlar (15) -

  • Merhabalar yine çok güzel bir yazı olmuş Smile Tebrikler...
    Burak bey; neden bir kişisel gelişim kitabı yazmıyorsununz?
    Düşünsenize Yazılım alanında bir kişisel gelişim kitabi...

    Kitap Adı : Yazılımcının Kendi Kendini Eğitmesi
    Yazar : Burak Selim Şenyurt( MVP )

    Smile Burak Hocam şahane olur.Hem ilk de olur sanırım bunu bir araştırayım...
  • Merhabalar,

    Yok henüz kitap yazacak kadar yeterli görmüyorum kendimi. Diğer yandan size www.idefix.com/.../tanim.asp kitabını önerebilirim. Oldukça faydalı ve yararlı bir kitaptır. Benden daha tecrübeli pek çok arkadaşımızın katkısının olduğu bir kitap.
  • Gerçekten bu tip makalelere ihtiyacımız var.Benim önümde koca bir üniversite engeli var kendime limit koyamıyorum.Yazılım dünyasını sürekli takip ediyorum ama üniversiteye hazırlanmam gerek, bu konuda bize tavsiyeler verebilirmisiniz ?

    Yazı için çok teşekkürler..Elinize sağlık.
  • Merhabalar Miraç Bey,

    Ünivarsiteye hazırlanma konusunda yardımcı olacak bir yazı mı kastettiğiniz?
  • Paylaşımlarınız için çok teşekkür ederiz Burak Bey.. İnanın bu tipte yazılan yazılar bir çok genç beyini aydınlatacaktır.. Yeni yazılarınızı sabırsızlıkla bekliyorum..
    Nesneye Yönelik programlama adında tavsiye ettiğiniz bir kitap var mı?Kitapların geneli bir programla dili ile birlikte anlatıyor genellikle ben bu konudan oldukça şikayetçiyim aslında..
    Yazınız için tekrar çok teşekkür ederim..
  • Merhabalar Mustafa Bey,

    Aslında belirli bir kitap yok ancak başlangıç için www.amazon.com/.../ref=sr_1_5 bağlantısındaki kitabı önerebilirim. Eski bir kitap olmasına rağmen temel prensipleri öğrettiği için eskimez bir kitap olarakta düşünülebilir. Her ne kadar OOP kitapları konuyu bir dil üzerinden anlatıyor olsalar da (ki bir kaç dil ile birlikte anlatılan versiyonları olabilir...Örneğin C# ile şu şekilde, Java' da bu şekilde gibi) OOP prensipleri öğrenildikten sonra bir dilden diğerine geçmek ve söz konusu prensipleri uygulamakta son derece kolaylaşmaktadır. Bir Java Developer kolayca C# öğrenip OOP yapabilir. Tam tersi durumda hem bu diller hem de diğer nesne yönemlimli diller için geçerli olacakır.
  • Merhabalar Miraç Bey,

    Ünivarsiteye hazırlanma konusunda yardımcı olacak bir yazı mı kastettiğiniz?

    ----------------------------
    Yok hocam.Üniversiteye hazırlanma konusuna değinseniz iyi olur ama Smile
    Ben bilgisayarda çok vakit geçiriyorum.Üni ye hazırlanmak için 2 sene ara vermeyi düşünüyorum ama bu seferde acaba programlamadan/teknolojiden gerimi kalcam bildiklerimi unutacağım mı gibi sorular oluşuyor kafamda.Gerçi 4 yıldır çalıştığım için mantığı kavradım zaten..
    ve malasef meslek liseliyim... bilgisayar mühendisliği istiyorum aşırı çalışmam gerekecek ama acaba bu meslek için bu kadar çalışmaya değermi diye düşünüyorum.sonuçta katsayı engeli var..
  • Elinize sağlık hocam, çok güzel bir yazı olmuş. Sektördeki herkesi ilgilendiren bir konuya değinmişsiniz.
  • Yazı için teşekkürler Burak hocam , teknik konulardan çok bu tecrübelerinizi  bizimle paylaşmanız aslında bizim için daha faydalı oluyor.Teknik bilgi bir şekilde elde ediliyor ama tecrübeleri yaşayarak öğrenmek bazen acı sonuçlar ortaya çıkartabiliyor.
  • Merak ettim hocam
    "Hay ben senin gibi kodun bippppp!!!" diyerek devam cümlesi bittiğinde göz göze geldik ve bende son derece yanlış bir şekilde "Ne o hocam kod mu patladı?" dedim...Özellikle genç yazılımcı arkadaşları bu konuda uyarmak isterim. Sakın kodunda exception alıp az önce bahsettiğim çılgın psikoloji içerisine giren bir arkadaşınıza bu şekilde yaklaşmayın. Hatta mümkünse kafanızı önünüze eğin ve kendi işinize bakın. Sonuçta olan oldu ve arkadaşım masasında duran 600 sayfalık C# kitabını alıp masama doğru fırlattı. Barmenlerin yaptığı gibi. Sonrasında da şunu söyledi "Al sen yaz o zaman..."

    bu anlattığın durum karşısında siz nasıl tepki verdiniz hocam yani kitabı size fırlatınca, sadece gülümsedinizmi ? ben olsam öyle yapardım merak ettim siz ne yaptınız hocam? Smile
  • @Hasan Akgoz

    Laughing Açıkçası tebessüm ettim. Bir şey diyemedim. Dona kaldım. Zaten bir iki gün pek konuşmamıştık Laughing Sonuçta gereksiz yere iş ortamında bir gerginlik oluştu.
    Pek istenen bir durum değil. Böyle vakalarda soğukkanlı kalıp kolay sinirlenmeyen tabiri yerinde ise "çelik gibi sinirleri olan" geliştiriciler hem kod yazımı hemde zorluklar ile mücadele aşamalarında çok daha avantajlı olabiliyorlar ;)
  • Drawing kütüphanesi hakkında bilgi araştırıyordum ve kendimi bu yazıyı okurken buldum ve hepsini okudum Smile
    Gerçekten güzel bilgilendirici olmuş.
    Sanırım "Bildiğim tek şey hiçbirşey bilmediğimdir" sözü yazılımcılar için söylenmiş olsa gerek. Gerçekten öğrneiyorsun öğreniyorsun ama hâlâ bilmediğin okadar çok şey varki...
  • Burak Bey,

    çok teşekkür ederim. Bugün size yazdığım gibi aslında uzun zamandır php ile yazılım yapıyorum ve bir dönem de öğretmenlik yapmıştım. Uzun bir aradan sonra yeni bir dil öğrenmenin de verdiği heyecanla şaşırıp kaldım. Bu hatırlatmalar için tekrar teşekkürler.

    Sitenizin takipçisiyim.
  • Smile Gene çok güzel bir yazı yazmışsınız hocam.Merak ediyorum hem sosyal biri olarak hemde çok kaliteli bir programcı olarak bu ikisini nasıl yürütüyorsunuz.Genelde şöyle bir yapı vardır.Programcı insan sosyal olamaz diye.Bende düşünüyorum programcıyım ve sosyal birisi değilim.Siz nasıl başarıyorsunuz ikisini merak ediyorumSmile
    Mesut
  • faydalı bir yazı olmuş hocam, teşekürler, daha çok tecrübelerinizi paylaşmanız dileğiyle.

Yorum ekle

Loading