Usta Bir Yazılım Mühendisi Olmak İçin Okuyabileceğiniz 5 Kitap Önerisi

0

 


Kendini geliştirmek… Eğer bir yazılımcıysanız veya ciddi bir şekilde yazılım dünyasına adım atmayı planlıyorsanız size bu kavramın iyi bir yazılımcı olmak için çok önemli olduğunu söyleyebiliriz. Zira her şeyin hızla değiştiği günümüz dünyasında, yazılımcılar bu değişime ayak uydurmaya mecbur. Siz de kabul edersiniz ki günümüzde online kaynakların çok sayıda ve kolay erişilebilir olması kendimizi geliştirmeyi bir hayli kolaylaştırıyor. 

Bir yazılımcı olarak ufkunuzu geliştirecek veya başka deneyimli yazılımcıların tecrübelerinden faydalanmanızı sağlayacak 5 kitabı sizlerle birlikte inceleyeceğiz.

1. Clean Code – A Handbook of Agile Software Craftsmanship


Nedir bu temiz kod dediğinizi duyar gibiyim. Temiz kod sadece yazanın değil okuyan diğer yazılımcıların da anlayabileceği ve geliştirebileceği şekilde yazılmış olan koddur diyerek özetleyebiliriz galiba. Yazarımız Robert C. Martin ise bu konuyu bizden daha detaylı ele almış anlaşılan :)

Bu kitap çoğu kurumda, okulda veya deneyimli yazılımcılar tarafından şiddetle tavsiye edilir. Kitapta öncelikle temiz kodun nasıl yazılacağı hakkında ilkeler, modeller ve uygulamalara yer veriliyor. Sonrasında ise okuyucuyu da olayın içine dahil ederek ona bolca kod okutuyor ve bu kodlar hakkında interaktif bir şekilde neyin doğru ya da neyin yanlış olduğunu fark etmesini istiyor. Böylelikle bir kodu nasıl temiz bir kod haline getirebileceği konusunda biraz düşünmesini sağlıyor.

2. Head First Design Patterns: A Brain-Friendly Guide



Üniversitede girdiğim ilk programlama dersinde hocam “Yazılım bir problem çözme sürecidir. Fakat çözüm için her zaman tekerleği baştan icat etmenize gerek yok.” demişti. Bu sözün ağırlığını o an için anlayamamıştım ama zaman içinde daha net anlayabildim. Yazılım çok geniş bir alan olsa da karşılaşılan problemler sınıflandırılabilir ve bir çözüm başka bir probleme uyarlanabilir. Tasarım kalıpları (Design Patterns) ise tam da bu işe yarıyor işte! Yazılım dünyasında en çok kullanılan tasarım kalıplarını öğrenerek siz de sorunlarınıza daha kolay çözüm bulabilirsiniz.


3. Introduction to Algorithms



Dünya çapında çoğu üniversite gibi bizim de ders kitabı olarak kullandığımız bir kitap… Algoritmalar hakkında okuyabileceğiniz en detaylı kitaplardan bir tanesi. Veri yapıları, dynamic programming, greedy algoritmalar, graph theory ve daha niceleri için sizi buraya alalım…

Kelimenin tam anlamıyla yazılımcılar için başucu kitabı şeklinde özetlenebilir.


4. Cracking the Coding Interview



Madem yazılım problem çözmek demektir dedik o zaman size bu konuda soru bankası niteliğinde bir kitap önerelim... İçindeki 189 algoritma problemiyle ve ipuçlarıyla kod yazma konusunda haddinden fazla pratik yapmanıza yardımcı olacak. Ayrıca soruları çözmeniz için size kanıtlanmış beş stratejik yol da sunuyor bu kitap. Adından da anlaşılabileceği gibi iş mülakatlarında bu tarz sorularla karşılaşabileceğinizden bahsetmiyoruz bile...


5.. Refactoring – Improving The Design Of Existing Code



Bu sefer de nedir bu refactoring dediğinizi duyar gibiyim 🙂 Refactoring halihazırda yazılmış bir kodun işlevselliğini değiştirmeden tasarımı değiştirmek olarak açıklayabiliriz. Peki bu konu neden bu kadar önemli?

Hepimiz zaman zaman geri dönüp kodumuzu temize çekeceğimizi söylemişizdir. Ancak o zamanlar LeBlanc’ın şu kuralını bilmiyorduk: “Sonra asla demektir (Later equals never).” Robert C. Martin

Daha önce de bahsettiğim gibi yazılımcı olarak hayatınız boyunca birçok problem çözeceksiniz fakat işiniz burada bitmeyecek maalesef. Daha sonra bu kodun tasarımını bozmadan üzerinde iyileştirmeler yapmanız gerekebilir. İşte bu kitap size tam da bu konuda yardımcı olacak! Sadece nasıl refactoring yapacağınız değil, aynı zamanda refactoring gerektiren bir kodu nasıl tanıyacağınız (Bad Smells in Code) üzerine de şahane bilgiler veriliyor bu kitapta.


Mert Saraç16 Ocak 2021
Tags

Yorum Gönder

0 Yorumlar
Yorum Gönder (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !
To Top