SlideShare a Scribd company logo
1 of 18
	PRAGMATIC PHILOSOPHY Belgi Özen, CRM & CustomerDept.
Contents PragmaticProgrammers? “TheCatAteMySourceCode” “Software Entropy” “Stone Soup & BoiledFrogs” “GoodEnough Software” “YourKnowledgePortfolio” “Communicate” References
1.PragmaticProgrammers ,[object Object]
Problemin arkasındakileri görür ve büyük resimi ortaya çıkarır..Bu sayede akıllı/ doğru kararlar verir; dar kapsamlı bakmaz.
Başarılarındaki önemli bir nokta yaptıkları herşeyin sorumluluğunu üstlenirler; bahane üretmez; kötüye giden birşeyi oturup izlemez, önlemini zamanında alırlar.
Yaptıkları işin kapsamını/çerçevesini iyi bilir; yazılımın ne kadar iyi olması gerektiğini belirler(good –enough software; near-perfection)
Geniş bir bilgi birikimi ve deneyim gerektirir. Sürekli öğrenme , kendini geliştirme önemlidir
İletişimi iyi yönetir. Bu işin önemli parçalarından biridir.,[object Object]
Kontrolun Dışındaki Riskleri Tespit et ve gözet;
Her durumda, imkansız problemler/durumlar; riski çok ok yüksek olan işler , sorumluluk alman gerekmez fakat bunları önceden belirle ve paylaş/değerlendir.
Hatalar Yaptığında, dürüstçe kabullen ve çözüme yönelik öneriler getir; birilerini veya durumu suçlamaya, bahane üretmeye kalkma..Bunlar hatanın oluşmasında rol oynamış olabilir fakat çözüm getirmek te yine senin elinde.
Acil Durum planların olmalı; disk bozulup ta kaynak kodun gittiğinde disk üreticisini suçlayamazsın; günlük backuplarınolmalıydı mesela..,[object Object]
Birine birşeyin neden olmadığını/geç kaldığını sormadan önce dur ve kendini dinle; konuşmayı kafandan geçir; mantıklı mı yoksa aptalca mı?
“YAPILAMAZ” deme; sorunun üstesinden gelmek için neler yapılabileceğini(uzun vadeli yada kısa vadeli) anlat/öner.Refactoring üzerine eğit; Kod Atılmalı mı? Daha iyi mi test yapılmalı?Nasıl olur? Automated(sistematik, belki kod yazılarak) bir yöntem olabilir mi? Vs..
3. Software Entropy ,[object Object]
Herşey iyi olsa bile(plan, kişi kalitesi vs) proje zamanla bozulabilir.
BROKEN WINDOWS THEORY – Binalar(bazıları çok bakımlı; bazıları çürümüş gibi..); 	New York PoliceDept.( Küçük Suçları azalt; büyükler oluşmasın) 	Araba(1 hafta herşeykapalı iken durabilir; ya biri pencereyi kırınca??) ,[object Object]
Yeterli zaman yoksa, sonradan ele alınacak şekilde MUTALAKA İŞARETLE.. Daha fazla ilerlememesi için bir çeşit ÖNLEM AL!!!

More Related Content

Similar to Part 1 A Pragmatic Philosophy

Linux gunleri ytu
Linux gunleri ytuLinux gunleri ytu
Linux gunleri ytuCihan Okyay
 
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım Murat Çabuk, MBA
 
Oracle Database and Technologies Seminar
Oracle Database and Technologies SeminarOracle Database and Technologies Seminar
Oracle Database and Technologies SeminarOrhan ERIPEK
 
Bagimlilik yaratan uygulamalardan korunmak için 10 uygulama
Bagimlilik yaratan uygulamalardan korunmak için 10 uygulamaBagimlilik yaratan uygulamalardan korunmak için 10 uygulama
Bagimlilik yaratan uygulamalardan korunmak için 10 uygulamaErcan Altuğ YILMAZ
 
Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Umut IŞIK
 
Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Umut IŞIK
 
Yalın Yeni Girişim - The Lean Startup
Yalın Yeni Girişim - The Lean StartupYalın Yeni Girişim - The Lean Startup
Yalın Yeni Girişim - The Lean StartupErol KABADAYI
 
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİTÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİErtugrul Akbas
 
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıCBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıTuğrul Can Şöllü
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriLemi Orhan Ergin
 
Yeni Nesil Yazılımcı
Yeni Nesil YazılımcıYeni Nesil Yazılımcı
Yeni Nesil YazılımcıÜnal Sürmeli
 
Hayır Çevik Değilsiniz!
Hayır Çevik Değilsiniz!Hayır Çevik Değilsiniz!
Hayır Çevik Değilsiniz!Erol Bozkurt
 

Similar to Part 1 A Pragmatic Philosophy (15)

Linux gunleri ytu
Linux gunleri ytuLinux gunleri ytu
Linux gunleri ytu
 
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
 
Php ile debugging
Php ile debuggingPhp ile debugging
Php ile debugging
 
Oracle Database and Technologies Seminar
Oracle Database and Technologies SeminarOracle Database and Technologies Seminar
Oracle Database and Technologies Seminar
 
Bagimlilik yaratan uygulamalardan korunmak için 10 uygulama
Bagimlilik yaratan uygulamalardan korunmak için 10 uygulamaBagimlilik yaratan uygulamalardan korunmak için 10 uygulama
Bagimlilik yaratan uygulamalardan korunmak için 10 uygulama
 
Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?
 
Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?
 
Yalın Yeni Girişim - The Lean Startup
Yalın Yeni Girişim - The Lean StartupYalın Yeni Girişim - The Lean Startup
Yalın Yeni Girişim - The Lean Startup
 
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİTÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİ
 
Yarı zamanda iki katı iş
Yarı zamanda iki katı işYarı zamanda iki katı iş
Yarı zamanda iki katı iş
 
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıCBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
Yeni Nesil Yazılımcı
Yeni Nesil YazılımcıYeni Nesil Yazılımcı
Yeni Nesil Yazılımcı
 
Hayır Çevik Değilsiniz!
Hayır Çevik Değilsiniz!Hayır Çevik Değilsiniz!
Hayır Çevik Değilsiniz!
 
Odoo ile Sosyal Ag
Odoo ile Sosyal AgOdoo ile Sosyal Ag
Odoo ile Sosyal Ag
 

Part 1 A Pragmatic Philosophy

  • 1. PRAGMATIC PHILOSOPHY Belgi Özen, CRM & CustomerDept.
  • 2. Contents PragmaticProgrammers? “TheCatAteMySourceCode” “Software Entropy” “Stone Soup & BoiledFrogs” “GoodEnough Software” “YourKnowledgePortfolio” “Communicate” References
  • 3.
  • 4. Problemin arkasındakileri görür ve büyük resimi ortaya çıkarır..Bu sayede akıllı/ doğru kararlar verir; dar kapsamlı bakmaz.
  • 5. Başarılarındaki önemli bir nokta yaptıkları herşeyin sorumluluğunu üstlenirler; bahane üretmez; kötüye giden birşeyi oturup izlemez, önlemini zamanında alırlar.
  • 6. Yaptıkları işin kapsamını/çerçevesini iyi bilir; yazılımın ne kadar iyi olması gerektiğini belirler(good –enough software; near-perfection)
  • 7. Geniş bir bilgi birikimi ve deneyim gerektirir. Sürekli öğrenme , kendini geliştirme önemlidir
  • 8.
  • 9. Kontrolun Dışındaki Riskleri Tespit et ve gözet;
  • 10. Her durumda, imkansız problemler/durumlar; riski çok ok yüksek olan işler , sorumluluk alman gerekmez fakat bunları önceden belirle ve paylaş/değerlendir.
  • 11. Hatalar Yaptığında, dürüstçe kabullen ve çözüme yönelik öneriler getir; birilerini veya durumu suçlamaya, bahane üretmeye kalkma..Bunlar hatanın oluşmasında rol oynamış olabilir fakat çözüm getirmek te yine senin elinde.
  • 12.
  • 13. Birine birşeyin neden olmadığını/geç kaldığını sormadan önce dur ve kendini dinle; konuşmayı kafandan geçir; mantıklı mı yoksa aptalca mı?
  • 14. “YAPILAMAZ” deme; sorunun üstesinden gelmek için neler yapılabileceğini(uzun vadeli yada kısa vadeli) anlat/öner.Refactoring üzerine eğit; Kod Atılmalı mı? Daha iyi mi test yapılmalı?Nasıl olur? Automated(sistematik, belki kod yazılarak) bir yöntem olabilir mi? Vs..
  • 15.
  • 16. Herşey iyi olsa bile(plan, kişi kalitesi vs) proje zamanla bozulabilir.
  • 17.
  • 18. Yeterli zaman yoksa, sonradan ele alınacak şekilde MUTALAKA İŞARETLE.. Daha fazla ilerlememesi için bir çeşit ÖNLEM AL!!!
  • 19.
  • 20. PUTTING OUT FIRE(şömineye yakın duvardaki halı; antikalar ile dolu zengin ev; itfaiyenin paspas/hasır sermesi(kirletmemek için))
  • 21. Bir yazılımda da az da olsa BROKEN WINDOWLAR varsa, yazılımcı nasıl olsa var; ben de bu şekilde devam edim der; çabuk çürüme!!
  • 22. Kod çok güzel yazılmış ise, çok iyi tasarımı varsa, onu bozmamak için EKSTRA ÖZEN gösterirsiniz(zaman kısıtlı olsa bile) çünkü bunu ilk bozan siz olmak istemezsiniz!!
  • 23.
  • 24. Köylülerin tek tek sakladığı besinlerin; ortak bir çalışma ile enfes bir yemeğe dönüşmesi; Sinerji.. Herkes Kazanır
  • 25. Fakat geleceği düşünmeden sadece merak sonucu ile eldeki herşeyin plansızca gitmesi..
  • 26. Yazılımda da benzer şekilde; çok büyük bir sistem değişikliğinde önce herkes karşı çıkar;kaynak vermez.. Mantıken İsteyebileceğinizi isteyin; ortaya bununla bir şey çıkarın.
  • 27. Çıkanı görünce, herkes yavaş yavaş katılımcı olacak; buna şu da eklenebilir mi vs.. Derken kaynaklar kendiliğinden gelir, sistem ortaya çıkar.
  • 28.
  • 29. Projelerde zamanla kapsamı dışına çıkıp, gereğinden fazla sürebilir; küçük küçük eklentiler geldikçe… bir de bakmışsın ki ilk baştaki amaçlanın, yapılanın nerdeyse hepsi gitmiş; patchler vs ile karmaşık bir şey ortaya çıkmış; Bu takımın da moralini bozar. Gerektiği yerde durmak; doğru yalıtmayı yapmak lazım.. REMEMBER THE BIG PICTURE Yavaş Yavaş tencerede ısıtılıp yenen canlı kurbağa gibi olmayın; brokenwindowlara izin vermeyin her an bigpicture ı görüp; neleri yaptığınızı review edin ve ona göre hareket edin…(Hızlı yapılan taleler ile bozulan yapı, kod vs..)
  • 30.
  • 31. Kendini, programın kullanıcıları, ilerde bakımını yapacak yazılımcılar ve kendin için yeterince iyi olacak şekilde yazmak üzere disipline et.
  • 32. Kullanıcı gereksinimleri MUTALAKA başarılı bir şekilde gerçeklenmeli
  • 33. Kullanıcılar uygulamadı neyin ne zaman üretilmesinin iyi olacağına karar verebilsin.
  • 34. Low-LevelLibrary yazarken bunu uygulamak güç olabailir ama yeni bir ürün ortaya çıkarırken uygulanması lazım. Pazrlamanınihityacı olan zamanilansman tarihleri, beklentileri gözetilmeli.
  • 35.
  • 36. Birçok kullanıcı ihtiyacını gören fakat belirli kısıtları olan bir yazılımı BUGÜN kullanmayı, bir sene sonra ancak hayata geçecek fakat Multimediadetseği de olan bir yazılıma tercih eder..
  • 37. Onların hemen oynayabileceği bir şeyler ver.. Onlardan gelecek feedbackler ile zaten daha iyiye gidilecektir.
  • 39.
  • 40.
  • 41. Yeni teknolojiler, diller, dev. Ortamları geldiğinde bilginizi tazelemeniz gerekir. Değişen market koşuları, yeni iş yapış şekilleri ise eski deneyiminizi geçersiz kılar..
  • 42. Bilgi Portfoyunuzu Sürekli Canlı Tutmanız İyi Yönetmeniz Gerekir;Devamlı Yatırım Yapın( Bilgi portfoyunuzu geliştirmek için) Daha fazla yeni şeyleri öğrenin; gelişen teknolojiler, yeni kavramlar, programlama dilleri vs. Riski iyi yönetin; kullanım alanı daha uzun sürecek, daha geniş kullanımlı işlere daha fazla pay ayırın fakat diğer könemli konuları da kaçırmayın; tüm yumurtanıı tek sepete koymayın!! Teknolojileri daha yaygın olmadan öğrenmek kiiye çok fazla değer katar. Sürekli değişimleri gözden geçirin ve ona göre kendinizi ayarlayın.. DÜZENLİ BİR ŞEKİLDE PORTFOYÜNÜZE YATIRIM YAPIN
  • 43.
  • 45. Readnon-technicalbooks , too.(İşin insanı tarafını da unutmayın)
  • 46. TakeClasses. (Üniversitelerden, eğitim kurumlarından ilginizi çeken konulardaki eğitimlere katılın)
  • 47. Participate in LocalUserGroups(Şirketinizdışında insanların neler yaptığını takip edin; çalışma gruplarına katılın)
  • 49. StayCurrent (Bir journal yada magazine i mutlaka takip edin; IEEE vs..)
  • 50. GetWired( Newsgroupları, önemli web sitelerini, insanların düşüncelerini takip edin)
  • 51.
  • 52. CRITICAL THINKINGSize sunulan her bilgiyi direk doğru olarak kabul etmeyin; bunu süzgeçten geçirin; bilgi portföyünüzün kirlenmesine izin vermeyin; bazen TİCARİ Sebepler ile(Microsoft vs. SUN) bilgi kirlilikleri oluşur. Critically Analyze What You Read and Hear
  • 53.
  • 54. Knowyouraudience (Ne duymak istiyorlar; ne detayda duymak onları ilgilendiriyor, hangi seviyede insanlar?,Nasıl onları dinlemeye motive edersin? )
  • 55. Chooseyour moment( Doğru zamanda söylemek önemli)
  • 56. Choose a style. ( Bazıları direk özet sever; bazıları ile ön chat vs yapmayı sever)
  • 57. Make it lookgood. (sunum şekli önemlidir;)
  • 58.
  • 59.