SOSYAL AĞLAR

İyi Bir Yazılımcı Olmanın Temel Kuralları

Kariyer

İyi Bir Yazılımcı Olmanın Temel Kuralları

Kendi derlediğim kadarıyla yazılımcı olabilmek için neler yapmak gerekiyor, nasıl bir yol izlemek gerekiyor, ona bakalım.

Bir yazılımcı değilim -oturup PHP, Java vs. kod yazmış değilim. Daha çok işlerin projelendirme, analiz, tasarım veya tasarım danışmanlığı, arayüz kodlama (front-end) ve genel proje yönetimi konularında yer alıyorum. İşimin en büyük parçası, yazılımcılara yapacakları işleri hakkında doğru bilgi iletmek ve tasarımı yazılıma hazır halde sunmak olduğu için yazılımcılardan ayrı yaşayamıyorum. İlla ki işimin devam eden kısmında yazılımcılarla içi içe olmak durumundayım.

Bugüne kadar da sayısını hatırlamadığım ve farklı karakterlerde pek çok yazılımcı ile iş yaptım. Bu sebeple iyi bir yazılımcı nasıl olmalı, az çok bir haritasını çıkardığımı söyleyebilirim. Çünkü projeyi doğru yürütüyor ve görevleri istenilen şekilde tamamlayabiliyor, gerektiğinde insiyatif kullanabiliyorsa o kişinin iyi bir yazılımcı olup olmadığını anlayabiliyoruz.

Yazılımcı olmak istediğini ifade eden ve nasıl bir yol izlemesi gerektiğini soran arkadaşlarla karşılaşıyorum. Özellikle de üniversiteye yeni başlayan ve yazılıma adım atıp atmamakta kararsız kalan arkadaşlar, yazılımcı olmak için nasıl adımlar atmaları gerektiğini merak ediyorlar.

1473413119

Maddeler halinde yazacağım, ama bu maddelere ilaveler yapılabilir, orası size kalmış.

  1. Sürekli Öğren. Yazılımcı olmak istiyorsan, sürekli öğrenmek isteyeceksin. Bir kaç şey öğrenip yazılımcı olduğunu düşüneceksen, orada bırakmalısın. Sadece, “Submit” butonuna bastığında topladığın verileri db’ye yazdırmakla yazılımcı olunmaz. “Tamam, ben artık öğrendim” diye bir şey yok. Çünkü bu işin sonu yok, hiçbir zaman olmayacak. Her zaman en basit konuda bile öğrenmen, geliştirmen gereken pek çok yeni şey öğreneceksin: “Aaaa, böyle de oluyor muymuş?”
  2. Öğrendiklerini Paylaş. Öğrendiklerini paylaşmak bazı kişilere saçma gelir. Sanır ki, o bilgileri başkaları ile paylaştığı zaman rakipleri çoğalacak, kendini sollayacaklar, kendisi geride kalacak. Paylaştıkça azalmayan en güzel şeylerden biri bilgidir, bunu hepimiz biliyoruz. Paylaştığın zaman diğer insanlar yeni bir şey öğrenirler, böylelikle başkalarına yardımcı olmuş olursun. En önemlisi, paylaşırken, rastgele değil de belirli bir düzende yazarak / anlatarak paylaşacağın için bilgilerini tekrar edip, kendini geliştirmiş olursun. Daha mühimi, yarın bir gün bu konuyu unuttuğunda iki saat Google araması yapmak yerine, kendi notların sayesinde zaman kazanırsın. Hatta öyle ki, belki böyle bir ders hazırladığını unutup Google’da arama yaptığında bir zamanlar paylaşım yaptığın o notları karşında görmek seni mutlu edecektir.  O yüzden cimri olma. Öğrendiğin şeyleri paylaş, merak etme kimse seni yemez. Aksine yararlı paylaşımlar yaptıkça prestijin artar.
  3. Tek Bir Konuda Uzman Ol. Mesela PHP, ya da C++, veya Java fark etmez. Sadece bir alanda çok iyi olman en önemlisi. Yanlış anlaşılmasın sakın, “Sadece bir şeye yönel, diğerlerini önemseme” demiyorum. “İstediğin kadar dil öğren, istediğin konuda at oynat, ama sadece bir alanda en iyisi sen ol” diyorum.
  4. Kendini Asla Sınırlama. Hiçbir zaman kendine sınır koyma. Başka dilleri de yavaştan öğren, bütün algoritmaları, mantıkları incele. Tek bir çemberin içinde sabitlenip kalma. Bakış açını devamlı geliştir. Dil bağımsız yazılım üretmeyi öğren. Yazılım dilleri normal konuşulan diller gibidir. Mantıkları aşağı yukarı benzer yapıdadır. Bir dili iyi öğrenirsen diğerlerini de kolayca öğrenebilirsin. Örneğin PHP öğrenmişsen, bu Swift, Java gibi dilleri öğrenip mobil uygulamalar geliştirmene engel değildir.
  5. İngilizceyi İyi Öğren. Neden İngilizce? Almanca, Fransızca niye olmaz? Olmaz demiyorum, sadece internette bütün yazılımlara yönelik dokümanlar çoğunlukla İngilizcedir. Bu yüzden hiç olmazsa, araştırma yapacak, dokümante edecek, mesela StackOverFlow gibi yerlerde takıldığın yerleri sorabilecek kadar İngilizce bilgin olmalı. Cem Yılmaz’a burada kulak verebiliriz. 🙂
  6. Diğer Yazılımcılarla İletişim Kur. Özellikle de kendi alanındakilerle tanışmanda çok büyük yarar var. Sadece tanışma, bilgi paylaşımı yap, onların sorularını cevapla, onlara sorular sor, fikirlerini paylaş. Dünyanın herşeyi bilen yazılımcısı olmana tabi ki imkan yok. Yok öyle birşey. Facebook’u kuran Mark bile dünyanın en iyi yazılımcısı değildir, hatta şu an kod yazdığını bile sanmıyorum. Kendini beğenmek, “en iyi biliyorum”cu olmak seni asla ileri taşımaz. Facebook ve başka platformlardaki yazılımcı gruplarına katıl, kırmadan dökmeden fikirlerini belirt, etkileşim kur, istişare et.
  7. Sosyal Hayatın Olsun. Yazılımcı olmak hayattan kendini dışlamak değildir. Kod yazıyor olmak seni diğer insanlardan farklı kılmaz. Ayrı bir hayat yaşamak zorunda değilsin. Sadece yazılımcılara da takılıp kendini küçük yazılım dünyasına hapsetme. Diğer arkadaşlarınla da vakit geçir, zaten program yazdığın kadar programlı olabilirsen her şey için zaman bulabilirsin. Sana değer veren, değer katan arkadaşlarının çevresinden ayrılma, onları yakınında tut.
  8. Her Şey Para Değildir. Materyalist bir dünyada yaşıyoruz, tamam. Ancak başta çözümler üretirken, belli bir safhaya gelene kadar aşırı maddiyatçı olma. O kadar iyi şeyler yap ki, iş yaptığın insanlar sana değer kazandırsın. Zaten belli bir süreden sonra olgunlaşıp tecrübe kazanacaksın, para o zaman ikinci plana düşecektir. En başta parayı birinci plana alırsan mesafe kat etmen çok zor. Ama bu, zamanını boşa harcaman anlamına gelmiyor. Eğer sana bir şey öğretmeyecek, bir şey katmayacaksa, o zaman “hayır” demeyi de bilmelisin.
  9. Etkinliklere Katıl: Kendi alanınla ilgili seminerler, konferanslar, zirveler, workshop’lar başta olmak üzere teknoloji odaklı pek çok etkinliğe katılmaya çalış. Özellikle öğrencilik süresince ne kadar çok etkinliğe katılabilirsen o kadar kârdasın, zira hayata atıldığın zaman bu konuda zaman ayırman zorlaşabilir. Özellikle İstanbul’daki her bir arkadaşıma sesleniyorum: Her gün düzenlenen yüzlerce ücretsiz etkinlik var, takip et ve kendini geliştir.
  10. Teknolojileri Takip Et: Bir yazılımcı en başta yine kendi alanı ile ilgili olmak üzere bütün teknolojileri takip etmelidir. Yeni çıkan framework’ler, plugin’ler, extension’lar, yazılımlar… artık ne gerekiyorsa. Unutma, senin iki saatte uğraşarak çözdüğün bir sorunu dünyanın başka bir tarafındaki bir yazılımcı iki dakikada çözebilen bir kod geliştirmiş olabilir. Bunun için yerli yabancı alakalı web platformlarını takip et.
  11. Bir Projen Olsun. Yazılımcı olmak istiyorsan öncelikle kendin bir proje üreterek işe giriş. Kendi projeni geliştirerek yazılımı öğren. Eğer böyle bir şansın yoksa, başka projelere el birliği, gönül birliğiyle katılıp destek vererek kendini geliştirebilirsin. Ürettiğin projenin dünyanın en iyi projesi, en süper projesi olması gerekmiyor. Bir ay sonra çöp olacak olsa bile, sana katacağı değer, paha biçilemez olacaktır.
  12. Disiplinli ve Prensipli Ol. Yazılımcıların yaygın bir ortak özelliği var: Tembel olmak. Aslına bakarsan tembel olmanın faydaları var, mesela bu sayede çok karmaşık ve uzun ölçekli şeyleri kısa sürede halleden çözümler üretebiliyorlar. Ancak bir yazılımcının proje öncesi planlama yapması, bir program doğrultusunda çalışması en iyisi. Evet, biliyorum, bazen bir bug’ı çözmek için gün boyu uğraşabiliyorsun, ama işin planını ona göre yapıp, teslim edeceğin zamanı ona göre belirlemelisin. Prensipli olursan, herkes seni iyi hatırlar ve prestijli olursun. “Falan hafta Salı günü teslim ederim” demek yerine, ilave 1-2 hafta daha ilaveli süre ver. Erken teslim etmende bir problem olmaz, ama sözünde durman çok önemli.

Tecrübeli yazılımcı arkadaşlar, ilaveler yapmak isterse, yorumda belirtebilirler.

Umarım yol gösterici ve faydalı olur. Bütün arkadaşlarıma yazılımcı olma aşamasında başarılar.

Not: 11. ve 12. maddelere katkısı için Yunus Özen‘e teşekkürler.

BU YAZI İLK ÖNCE SANALKURS.NET‘TE YAYINLANMIŞTIR.

Okumaya Devam Et
1 Yorum

1 Yorum

  1. zozsafak@hotmail.com'

    Zeki ÖZŞAFAK

    31 Aralık 2016 / 22:24

    Aydınlatıcı yazınız çok güzel. Teşekkür ediyorum. Sanalkurs sitesinden sizi takip ediyoruz. Başarılarınızın devamını dilerim.

Sen de Fikrini Paylaş

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Siraceddin El

1999 yılından bu yana web tasarımcı olarak yurt içinde ve yurt dışında pek çok projede yer aldım. 2002 yılında Sanalkurs.net'i ve 2013 yılında da Etkinlik.com.tr'yi kuran ekibin bir parçası oldum. Girişimci, tasarımcı ve eğitmen olarak çalışmalarımı sürdürüyorum. Daha Fazla...

Öne Çıkanlar

YUKARI