Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Yazılım Geliştirme Hakkında Okulda Bahsedilmeye...

Yazılım Geliştirme Hakkında Okulda Bahsedilmeyenler

Lemi Orhan Ergin

March 02, 2024
Tweet

More Decks by Lemi Orhan Ergin

Other Decks in Technology

Transcript

  1. 2022 2023 2024 LEMi ORHAN ERGiN linkedin.com/in/lemiorhan speakerdeck.com/lemiorhan @lemiorhan kurucu

    ortak, Craftgate kurucu, SCTurkey çalıştı, Sony, eBay/GittiGidiyor, ACM, iyzico programladı, 2001’den bu yana aşk ile Ödeme Orkestrasyon Platformu Yazılımda Ustalaşma Topluluğu basic programlama dilinde kod yazmıs kim kaldı? koca bir nesil bu balonu uçurdu
  2. İyi profesyoneller ve mentorlarla çalışmak ve ilham verici bir amaçla

    en son teknolojileri kullanırken becerilerinizi geliştirmek istiyorsunuz
  3. İyi profesyoneller ve mentorlarla çalışmak ve ilham verici bir amaçla

    en son teknolojileri kullanırken becerilerinizi geliştirmek istiyorsunuz Çoğunlukla okulda bize öğretilmeyenlere takılıp kalıyoruz gerçek hayat bazen tam tersi olabilir
  4. Yazılım geliştirme bir beceridir Çoğu meslek gibi uzmanlık bilgisi, eleştirel

    düşünme, etik, işbirliği ve sürekli iyileştirme gerektirir meslektir
  5. https://speakerdeck.com/lemiorhan/ai-ethics-problems-questions-hopes-regrets https://www.youtube.com/watch?v=D3vVJWyBqn8 Yazılım geliştirme, önce sorumluluk, güvenlik ve etik sorunlarını

    çözmeden asla yapay zeka tarafından ele geçirilemez. Yazılım geliştirme bir beceridir meslektir kim nasıl yazıldıgı ve çalıstıgı belli olmayan yazılıma sahip bir uçaga binmek ister? - - - , Çoğu meslek gibi uzmanlık bilgisi, eleştirel düşünme, etik, işbirliği ve sürekli iyileştirme gerektirir
  6. Yazılım geliştirme hiç bitmeyen bir zanaatkarlık yolculuğudur ustalardan öğrendiğiniz, becerilerinizi

    geliştirmek için pratik yaptığınız ve öğrettiğiniz bir yolculuk
  7. Şirketlerin çoğu yazılım geliştirirken berbat pratikler kullanır ve çöp üretir

    evet, en meshurları bile , Hiç ummadığınız şirketlerin ne kadar kötü yönetildiğine, ne kadar eski, hantal ve sorunlu sistemlere sahip olduğuna tanık olacaksınız
  8. https://medium.com/ctonun-el-defteri/startup-dinamikleri-ve-cto-rolleri-18af101649cc Hakan Erdoğan, Startup Dinamikleri ve CTO Rolleri ürünler, yenilikçilik

    ve uyarlanabilirlik yetenegini kaybettiginde ölmeye baslar Ürün Özellikleri Zaman ERKEN AŞAMA ÖLÇEKLENME GEÇ AŞAMA Ana Endişe: Hız Kalite İş Devamlılığı Odak: Doğrulama Büyüme Müşteri Memnuniyeti Müşteri Geliştirme Devamlılık Müşteri Bağlılığı Geliştirilen: Ürün Proje MVP İŞ DÜNYASININ SIGMOID EĞRİSİ AŞAMASI
  9. Zaman İŞ DÜNYASININ SIGMOID EĞRİSİNDE İKİNCİ EĞRİ TEORİSİ YENİDEN ÖLÇEKLENME

    AŞAMASI Ana Endişe: Kalite Odak: Büyüme Müşteri Memnuniyeti Geliştirilen: Ürün Ürün Özellikleri İlk egri - İkinci egri -
  10. Gerçek bir ürün ekibinde çalışmadan bir yazılım ürünü oluşturmanın ne

    anlama geldiğini asla anlayamazsınız. Proje geliştirmek ve ürün geliştirmek tamamen farklı şeylerdir ve çok az insan aradaki farkı bilir.
  11. bir proje geliştirmek başkasının çocuğuna bakmak gibidir gerçekten önemsediğiniz şey,

    verilen görevleri yerine getirmek ve bunun için para almaktır
  12. uzun vadeli bir vizyon ve amaç peşindesiniz her başarısızlıktan ders

    alırsınız amaç sürdürülebilir memnuniyettir büyüme ve gelişmenin sonu yoktur sürekli iyileştirmek istersiniz iyi insanlar ve süreçler arasınız bir ürün geliştirmek kendi çocuğunuzu yetiştirmek gibidir
  13. Yazılım geliştirme karmaşıktır, pahalıdır, bilinmeyen bilinmeyenler içerir İhtiyaçların gerçekten ne

    olduğunu anlamalı ve bunları sonsuza kadar sürdürebilmek için uygulama yollarını keşfetmelisiniz neyi bilmediginizi bilmeden nasıl yolculuga çıkarsınız? - -
  14. Herkes hata yapar ve düzeltme kaçınılmazdır. Bu nedenle, ucuza düzeltebilmek

    için sürekli çıktılarımızı gözden geçiririz The important thing is to detect and fix bugs quickly, at an early stage. Almost all software development practices are built on this principle.
  15. Kodlama, geliştirme faaliyetinin %5'idir. Geliştiriciler geri kalan zamanda düşünürler. Bu

    nedenle yazılım geliştirme esas olarak bir düşünme işidir.
  16. Temelleri derinlemesine anlamadan yazılım geliştirmek, yıkılmaya hazır bir ev inşa

    etmeye benzer. Programming languages Data structures Algorithms OOP and FP Design & integration patterns Databases Automated Testing Version control systems Web development basics CI/CD Pipeline
  17. İş alanını derinlemesine anlamadan yazılım geliştirmek, kenarları birbirine bağlamak için

    bir nehrin üzerine ev inşa etmeye benzer. Sadece alanı iyi bilenler bir sorunu gerçekten çözen uygun çözümler yaratabilir. Aksi takdirde sadece aklınıza gelen ilk çözümü yaparsınız.
  18. Geliştiriciler yeni fikirleri sever ama orijinal fikirler hala en iyisini

    gösterir 70'li veya 80'li yılların fikirleri hala geçerlidir the most important fundeman in softw Minimum Cost Systems Black Boxes Modular Design Modularity Software Engineering Complexity Coupling Cohesion Morphology of Simple Systems Design Heuristics Refactoring Transaction Analysis Communication in Modular Systems Packaging Optimization of Modular Systems Typology of System Components Recursive Structures Incremental Structures Program Quality Top-down Implementation Bottom-up Development Management Benefits
  19. Yazılım geliştirici olmak için araçlarda uzmanlaşmak şarttır. Her profesyonel, kendi

    mesleğinin araçlarını kullanmakta iyi olmalıdır. Gerçek profesyonelleri amatörlerden ayıran da budur.
  20. sonra her yeni adaptör ve kablo ile entropi artar ve

    kaos baslar KAÇINILMAZ DAĞINIKLIK
  21. Refactoring, bağlantıyı azaltarak ve uyumu geliştirerek yazılımı daha uzun ve

    sağlıklı tutmak için düzenlemektir. Karmaşıklık ve maliyet zamanla artar. Yazılım yeni bağımlılıklar eklenerek büyütülür ve bağımlılıklarla başa çıkamadığınızda çürür.
  22. Asla bir ... dahi bir pislik ya da herkesi sevgilisi

    bir aptal teknoloji̇ fanatiği sosyal medya fenomeni aşırı özgüvenli bro-gramming üyesi yalnız kovboy egoist, narsist hep olumsuz düşünen … olmayın Yazılım geliştirme teknolojiden çok iletişimdir
  23. Plajda kod yazmak çok seksidir, ama berbat bir deneyimdir. Esnek

    bir çalışma ortamı vaadiyle sizi yazılımcı yapmalarına izin vermeyin. Yazılım geliştirme için en iyi kurulum, egonomik sandalyeniz, büyük monitörünüz ve favori klavye ve farenizdir. bu arada, uzaktan çalısma hala harikadır
  24. Yazılımda mutlak iyi veya kötü, en iyi veya en kötü,

    herkese uyan tek bir beden yoktur, her şey verilen ödünlerle ilgilidir. Tüm soruların cevabı tektir: Duruma göre değişir