Kariyer.Net Derin Öğrenme Tabanlı Otomatik İlan Metni Üretme Projesi

Veri Bilimi ve Yapay Zeka projeleri gerçekten zor, emek ve sabır istiyor. Size gerçek hayata dokunan bir projeden bahsetmek istiyorum 🙂 Kariyer.net Ar-Ge Merkezi ile ortak gerçekleştirdiğimiz (İzmir Bakırçay Üniversitesi) “Derin Öğrenme Tabanlı Otomatik İlan Metni Üretme” projesinin prototip sayılabilecek ilk versiyonu çıktı.

Projede:

  • Metin İşleme,
  • Doğal dil işleme,
  • Word2Vec,
  • GRU,
  • LSTM gibi

bir çok kütüphane ve mimari kullanıldı.

Yüz binlerce ilan ile çalışıldı. Geliştirmeler ve deneyler devam ediyor. UX tarafında da işimiz var. Ümit ediyorum ki projenin veri setleri ve deneyleri hem yayına dönüşecek hem de araştırmacıların kullanımı için açık kaynak olarak sunulacak. Üniversite tarafını yürüten Fatma Bozyiğit hocama ve Murat SAHIN‘e, Ar-Ge merkezinde çalışan ve projeyi yürüten Kemal Can Kara ve Şevval AZ‘a teşekkür ediyorum. Tüm proje ekibinin emeğine sağlık…

Not: Ayrıca bu sürecin resmi olarak başlamasına vesile olan Aşkın Karakaş, PhD beye de saygılarımı iletiyorum… Uygulamanın ufak bir test videosunu ekte bulabilirsiniz…

Yazılım Proje Şablonu: Basit ve herkese lazım…

Bir fikrim var ama nasıl bir yol haritası izleyeceğimi bilmiyorum. Hatta içerisinde birçok yazılım bileşeni var (yapay zeka bile var) ancak nasıl bir planlama yapacağım, bu iş için nelere ihtiyacım var, planı nasıl yapacağım, riskler neler gibi aklıma birçok soru geliyor. İş planları, kanvas modelleri vs. gibi farklı kaynaklardan okuyorum ama hepsini bir araya getiremiyorum. İşte tam da bu noktada yazılım projesini şekillendirmek ile ilgili az derli toplu ama basit ve anlaşılır bir dokümana ihtiyacınız olacaktır.

Öncelikle şunu belirteyim, 20 senedir farklı birçok projenin içerisinde yer alan birisiyim ve bu doküman;

  • SRS (Software Requirement Specification),
  • SDD (Softwre Design Document),
  • BRS (Bussiness Requirement Specification),
  • Sow (Statement of Work)

dokümanlarını birebir karşılayacak bir doküman değil ancak kesinlikle işinize yarayacaktır.


Projenin ana şablonunda yer alan başlıklar aşağıdaki gibi. Ancak size tavsiyem Github’a yüklediğim şuradaki dokümanı indirerek oradaki detaylar üzerinden projenizi şekillendirmeniz.

1. Projenin Amacı
(Not: 10–12 cümle ile projenin amacı anlatılacak)
2. Kısaltmalar
3. Projenin Kapsamı
4. Projenin Üst Seviye Görünümü
5. Fonksiyonel Gereksinimler
5.1. Faaliyet ve Süreç ile İlgili Fonksiyonel Gereksinimler
5.2. Yazılımla ile İlgili Fonksiyonel Gereksinimler
6.Yazılımla ile İlgili Fonksiyonel Olmayan Teknik Gereksinimler

(Not: Kullanıcı Sayısı, Erişim Şekli (Web, Mobil), Güvenlik, Gizlilik, Eğitim…)
7. Grafik Arayüz Tasarımları
(Not: Balsamiq gibi bir araç ile yapılacak uygulamaya ait prototip arayüzler)
8. SWOT Analizi
(Not: Projenin SWOT analizi yapılacaktır. A) Güçlü yanlarımız: neleri iyi yapabiliriz? Üstün noktalarımız neler? B) Zayıf yanlarımız: Neleri iyileştirmemiz lazım? Rakipler bizden hangi konuda daha iyiler? C) Fırsatlar: Çevremizde ne gibi gelişmeler yaşanıyor? Önümüzdeki fırsatlar neler? D) Tehditler: Önümüzde ne tarz engeller var?)
9. Proje Planlama
9.1. Proje Metodolojisi

(Not: Yazılım projeleri için XP, Scrum, V Model, Şelale kullanılabilir. Projede neden bu yöntemin kullanıldığı 1–2 sayfayı geçmeyecek şekilde anlatılacaktır.)
9.2. Proje Ekibi
(Not: Projede çalışacak ekibe ait bilgiler yer alacaktır. Analiz-Tasarım-Kodlama-Test-Proje Yönetimi-Ürün Yöneticisi)
9.3. Organizasyon Şeması
(Not: Proje ekibinin çalışacağı organizasyon şeması burada yer alacaktır.)
9.4. Proje Plan Takvimi
(Not: Excel veya Microsoft Project benzeri bir araçlar proje takvimi buraya eklenecektir. Projenin ne kadar süreceği ayrıca belirtilecektir. Ya da https://www.ganttproject.biz/ kullanılabilir)
10. Riskler
(Not: Projenin gerçekleştirilmesi sırasında oluşacak idari ve teknik riskler belirlenmelidir. Bu risklerin yönetilmesi için planlama yapılmalıdır.)
11. Bütçe ve Kaynaklar
(Not: Projenin ilk versiyonunu sahaya sürmek için gerekli olan maliyet nedir? İnsan kaynağı maliyeti de dahil edilmelidir.)
12. Sürdürülebilirlik
(Not: Proje tamamlanınca sürdürülebilir olması için aylık ne kadar gelire ihtiyaç var? Aylık giderlerimiz neler? Bu gelirin elde edilebilmesi için nasıl bir aksiyon planı yapılabilir?)
Örn: Proje tamamlandıktan sonra sürdürülebilir olabilmesi için planlanan iki gelir modeli bulunmaktadır. Reklam, aylık üyelik…


Github reposuna ve eklenecek yeni dokümanlara ise buradan ulaşabilirsiniz:

Veri Bilimi ve Yapa Zeka Yazı Serisi

Veri bilimi ve yapay zeka üzerine kaleme aldığım tüm yazıları tek makalede bir indeks mantığında topladım. Yaklaşık 50 dakika okuma süresi olan bol uygulamalı bu seri; hem yeni başlayacak arkadaşlar için iyi bir rehber hem de işin içindeki bireyler için toparlayıcı olacaktır.

1. Python ile Veri Bilimine Dalış

1.1. Giriş (Veri Bilimi, Tanıtım)

1.2. Python Programlama Dili (Geçmişi ve Yapısı)

1.3. Kurulum

1.4. Python Değişken Türleri

1.5. Python Koşul Deyimleri

1.6. Python Döngüleri

1.7. Python Veri Yapıları (Listeler, Sözlükler)

1.8. Referans Türleri ve Nesne Klonlama

1.9. Python Fonksiyon Tanımları

1.10. Python Lambda Fonksiyonları

1.11. Veri Bilimi ve Nesne Yönelimli Programlama

1.12. NumPy Kütüphanesi

1.13. Pandas Kütüphanesi

Makale adresi: https://medium.com/deep-learning-turkiye/python-ile-veri-bilimine-dal%C4%B1%C5%9F-3f069260ebda

2. Python ile Veri Tanımaya ve Temel İstatistiğe Dalış

2.1. Veri tanıma fonksiyonları (Pandas dataframe)

2.2. Temel istatistik fonksiyonları

→ Merkezi eğilim ölçüleri: mod, medyan, aritmetik ortalama

→ Dağılım ölçüleri: standart sapma, varyans, kovaryans, korelasyon

Makale adresi: https://medium.com/@denizkilinc/python-ile-veri-tan%C4%B1maya-ve-temel-i%CC%87statisti%C4%9Fe-dal%C4%B1%C5%9F-7e1028270ac

3. Python ile Veri Ön İşlemeye Dalış

3.1. Eksik Veri Doldurma (Data Imputation)

3.2. Yeni Öznitelikler Oluşturma (Feature Extraction)

3.3. Kategorik Değerleri Dönüştürme (Label /One-Hot Encoding)

3.4. Veriyi Ölçeklendirme (Scaling) ve Normalize Etme (Normalization)

3.5. Aykırı/Uç Verileri (Outliers) Tespit Etme

Makale adresi: https://medium.com/@denizkilinc/python-ile-veri-%C3%B6n-i%CC%87%C5%9Flemeye-dal%C4%B1%C5%9F-f89f921658bd

4. Metin İşleme (Text Processing)— Eski Tarz Yöntemler

4.1. Ön işleme (Pre-processing)

4.2. Öznitelik/Terim Temsili ve BoW (Bag of Words)Modeli

4.3. TF x IDF Skorlama Modeli

4.4. Konu Modelleri (Topic Models)

Makale adresi: https://medium.com/deep-learning-turkiye/metin-i%CC%87%C5%9Fleme-1-eski-tarz-y%C3%B6ntemler-bag-of-words-ve-tfxidf-76d5a0cf1b29

5. Makine Öğrenimi ve Derin Öğrenme ile Müşteri Kayıp (Churn) Analizi

5.1. Orange telekomünikasyon veri setinin incelenmesi

5.2. Veri seti üzerinde ön işleme adımlarının çalıştırılması

5.3. Makine Öğrenimi Algoritmaları ile Model Değerlendirme

→Temel Sınıflandırma Modelleri: Logistic RegressionNaive BayesDecision Tree (CART)K-NNSVM(Support Vector Machines), LDA (Linear Discriminant Analysis)

→ Kolektif Sınıflandırma Modelleri: AdaBoostClassifierBaggingClassifierRandomForestClassifier

Makale adresi: https://medium.com/deep-learning-turkiye/makine-%C3%B6%C4%9Frenimi-ve-derin-%C3%B6%C4%9Frenme-ile-m%C3%BC%C5%9Fteri-kay%C4%B1p-churn-analizi-1-63a4513b8a6f

6. Yapay Zeka ile İlgili Ortaya Karışık Notlar ve Sorular

6.1. Yapay zeka alanı ile ilgili problemler neler?

6.2. Yapay zeka öğrenmek zor mu?

6.3. Yapay zeka alanında hangi programlama dilini tercih edersiniz?

6.4. Veri bilimi yapmak ile yazılım geliştirmek aynı mı?

6.5. Yapay zeka/veri bilimi projelerinde İş/Alan bilgisi ne kadar bilmeliyim?

Makale adresi: https://medium.com/@denizkilinc/yapay-zeka-ile-ilgili-ortaya-kar%C4%B1%C5%9F%C4%B1k-notlar-ve-sorular-279f75ba7a90


İletişim: Bana, www.denizkilinc.comLinkedin üzerinden veya

Kaliteli Yazılım Tasarımı ve Anti-Patternler Üzerine Notlar

Kaliteli Yazılım Tasarımı Deyince?

  • Basitlik olmalı yani basit yazılmış ve değiştirilebilir kod altyapısına sahip olmalı (Maintainable).

→Kod parçaları okunabilir olmalı (Readability).

→Tasarım genişleyebilir olmalı (Extendable).

→Yüksek kohezyon önemli: Sadece kendi işini yapan kod parçaları (sınıflar, fonksiyonlar) olursa, nerede iş yapacağımıza kolay karar veririz.

  • Yazılan kod parçaları tekrar kolayca kullanılabilmeli (Reusability).
  • Yazılan kod parçaları kolayca test edilebilmeli (Testability).

→ Örneğin: Kolay birim test yazılabilmeli.

  • Kodda değişiklik yaptığımızda üründeki diğer kod parçalarının minimum seviyede etkilenmesi (Minimum regresyon hatası/etkisi). Yani sınıflar arası minimum bağımlılık olması (Dependency ya da Coupling).

Yazılım kalite ölçütleri olarak adlandırılabilecek bu anahtar kelimelerin (readability, testability, usability, coupling, cohesion, dependency vb.) önemli bir kısmı, yazılım tasarım prensipleri ve kalıpları ile doğrudan ya da dolaylı şekilde ilişkilidir. Bu noktada yazılım tasarım prensiplerine ve kalıplarına direk olarak dalmadan önce yazılım tasarımında kalite düşmanı olarak niteleyebileceğimiz (tecrübeyle sabit) anti-patternleri incelemek daha sağlıklı olacaktır.

Yazının tamamına bu linkten ulaşabilirsiniz.

Bilişim Zirvesi 2019 – Veri Bilimi Paneli

20-21 Kasım 2019 tarihlerinde İstanbul Kongre Merkezinde gerçekleşen Bilişim Zirvesi’19 bu sene oldukça kalabalıktı. Data Talks (Veri Konuşur) sloganıyla oluşturulan zirve programından kısa bir alıntı aşağıdaki gibi:

“Her veri konuşur ve bir şeyler söyler. Bu noktada ne kadar veriye sahip olduğumuzun bir önemi yok, önemli olan onu iyi kullanıp kullanmadığımız. Veri şirketlerin gelecekleriyle ilgili stratejik planlar yapmalarında, sorunları kayseri escort bayan etkili bir şekilde çözmelerinde, ürün ve hizmetlerini müşterilerinin ihtiyaç ve tercihleri doğrultusunda geliştirmelerinde büyük rol oynuyor. Büyük veri, özellikle şirketlerin rekabet güçlerini artırabilmeleri için eşsiz birer kaynak olarak karşımıza çıkıyor. Veriyi stratejik bir değer olarak gören şirketlerin hayatta kalacağı ve büyüyeceği bir gerçek.”

Benim de katılım gösterdiğim zirvede, 21 Kasım Perşembe günü TUBITAK Bilgem – Bulut Bilişim ve Büyük Veri Araştırma Laboratuvarı Başuzman Araştırmacı Mehmet Haklıdır, Hepsiburada Büyük Veri Geliştirme Yöneticisi Mustafa Yağımlı ve Suse kocasinan escort Türkiye Ülke Müdürü Seçil Songür ile birlikte “Veri Biliminde Veri Analitiği Çeşitleri: Ne oldu? Neden oldu? Ne olacak? Ne yapmalı?” isimli paneldeydik. Hem keyifli hem de faydalı bir panel olduğuna inanıyorum.

Geleceğin Meslekleri Kitabı

Sevgili hocam Dr. Şebnem Özdemir ile birlikte kaleme aldığımız “Geleceğin Meslekleri” isimli kitabı bitirip yayına çıkarmayı başardık. Çok hassas bir konuda detaylı araştırma yapmayı gerektiren bir kitaptı ve bizi gerçekten yordu. Kitabı bitiremeyeceğimizi düşündüğümüz zamanlar bile oldu 🙂

Kitabın Ön sözünü aşağıda paylaşıyorum.

Meslekler; ortalama iki insan ömrünün toplamı kadar bir süredir zaten hep değişiyordu, ancak bu dönüşüm hızı o kadar yavaştı ki pek çoğumuz hem fark edemedik hem de etkisini şiddetli şekilde hissedemedik. Öte yandan hem teknolojideki değişim hızı hem de uygulama sahasının genişlemesi ile 2016 yılından itibaren pek çok önemli kaynak, mesleklerin sanıldığından daha hızlı şekilde değişeceğini vurgulamaktadır. Üstelik bu sefer değişimin hızı insan ömrü kadar değil, sadece 5-6 yıl olarak tahmin edilmektedir. 5 yıl, bir mesleği hedefleyerek üniversiteye giren bir gencin, mezun olduğu zaman hedefinin (mesleğinin) büyük ölçüde değişmiş/güncellenmiş olması demektir. Peki insanoğlu bu hıza, değişime nasıl adapte olmalıdır? “Geleceğin Meslekleri” kitabımız, değişimin tetikleyicileri hakkında bilgi vererek, olası meslekler ve bu mesleklerin arka planı hakkında aklınıza takılanları ve karanlıkta kalan noktaları aydınlatmak amacıyla hazırlanmıştır.

Geleceğin mesleklerini anlayabilmek için öncelikle böylesine bir değişime bizleri götüren ana tetikleyicileri konumlandırmak gereklidir. Kitabın ilk bölümünde, ilk tetikleyici olan yeni endüstriyel devrime yer verilmiştir. Çünkü her endüstriyel devrim radikal değişimler yaratmış, insanlık önce isyankâr, sonra kucaklayıcı ve daha sonra da sürükleyici rolleri ile yerini bulmuştur. Dijital dönüşüm, endüstri 4.0, akıllı toplum 5.0 gibi farklı tanımlamalarla anlatılan bu yeni sanayi devrimi, her sanayi devriminde olduğu gibi insanlık için hem tehdit hem de fırsat anlamına gelmektedir. Kendi bildiklerinize sıkı sıkıya sarılır, yeni bilgiler kazanmayı, öğrenmeyi reddederseniz dönüşümün tehdit eden yüzüyle karşılaşmanız kaçınılmaz olacaktır. Ancak her gün yeni bir merakla zihninizi açar, araştırarak, okuyarak onu beslerseniz dönüşümün sunacağı fırsatlar sizi hayrete düşürecektir.

Kitabın ikinci bölümü, ikinci tetikleyici olan veriye ayrılmıştır. Veri; iyi ya da kötü değildir, ancak ona hükmetmek için toplayanın, işleyenin amacı doğrultusunda hizmet eden sadık bir hizmetkârdır. Bu hizmetkârın (verinin) gücü, Edward Snowden’in parmaklarından tüm dünyaya yayılarak, yıkıcı ve aydınlatıcı olabileceği gibi Afrika’nın bir köyünde susuzluktan ölmek üzere olan çocuklar için umut kaynağına dönüşebilecek güçtedir. Bu gücü anlamak, sürekli veri üreten insanlar olarak bizleri, pek çok anlamda korunaklı kılacaktır. Çünkü mevcut yapay zekânın veriye muhtaç olması, insanı “altın yumurtlayan kaz”a çevirmektedir. Ürettiği her veri ile internet devlerinin, çeşitli şirketlerin yapay zekâlarını besleyen insan, haklarının farkında olmalı, kendi iyiliği için “kendi altın yumurtasına” sahip çıkmalıdır.

Kitabın üçüncü bölümünde, son tetikleyici olarak yapay zekâya yer verilmiştir. Oluşturduğu imkânlar ile yeni bir yaşam biçimi sunan yapay zekâ, aslında insanlığın, kendini anlama gayesi adına en derin ve en naif hamlesidir. İnsanlık; Antik Yunan’dan 1818 yılında yazılmış Frankenstein’a, vatandaşlık almış Sofya’ya, Terminatör serisinin ölümcül yüzü Skynet’e kadar hep yapay zekâyı hayal etmiş, korkmuş, denemiş, yılmış ve yeniden denemiştir, denemektedir. Bu denemelerin hayatımızı önemli ölçüde değiştireceği artık aşikârdır. Bu nedenle insan, değişimin ana odağını iyi anlamalı, katkısının, varlığının nelere neden olabileceğini iyi bir şekilde çözümlemelidir. Yazarlar olarak, yapay zekânın henüz varacağı noktaları tahmin edebilmenin insanlık için zor olduğunu kabul ediyoruz. Ancak bu zorluk; bilime meraklı binlerce dimağı keşfetmekten ve yenilikler üretmekten alıkoymayacaktır. Tıpkı sihirli fasulyeler masalındaki gibi “yapay zekâ”, sonunun nereye varacağını kestiremeden toprağa ektiğimiz fasulyelerimizdir. Sabah kalktığımızda göğe uzanan fasulye sırığı (yapay zekâ) ile ilgili emin olduğumuz tek şey, insanlığı gökyüzünün/görülenin ötesine taşıyacağıdır.

Kitabın son bölümü gelecekte var olacağına inandığımız mesleklere yani geleceğin mesleklerine ayrılmıştır. Gelecekteki her meslek açık görüşlü olmayı zorunlu kılmaktadır. İzlenme rekorları kıran bir filmin çokça güldüğümüz “Zeki Müren de bizi görecek mi?” repliği, zekice tasarlanmış bir mesaj içermektedir. Bu mesaj; yeni bir teknolojiyi kabullenmekteki önyargılarımız, mevcut kalıplarımıza uydurma çabamız ve gerçekliğine duyduğumuz korkunç şüpheciliğimizdir. Bu alaycı tavrımız, doğamız gereği halen değişmemiştir. Bu tavrı sürdürmeye devam edersek, geleceğin dünyasında çok güldüğümüz repliğin benzerleri bizler için kullanılacak, çokça kınadığımız hattatların konumuna, tarih bizleri yerleştirecektir.

Mesleklerdeki değişim, 20 yıl öncesine kadar önümüze konan mavi ve kırmızı hap gibiydi. Kırmızı hapı seçerek değişimin getirdikleri ve götürdüklerine gözümüzü kapatabiliyor ve görmezden gelebiliyorduk. Mavi hapı seçenler “Hadi canım bunun da mesleği mi olurmuş?” dediğimiz işlerle uğraşmaya çoktan başlamışlardı. Ancak içinde bulunduğumuz çağda önümüzdeki masada artık sadece mavi hap var. Bu kitap, mavi hapı almanızda sizleri cesaretlendirecek ve Alice Harikalar Diyarında masalındaki gibi sıkışıp kaldığınız tavşan deliğinden kurtularak, yenilikler dünyasına adım atmanızı sağlayacaktır.

Uygulamalarla Veri Bilimi Kitabımızın 3. Baskısı Çıktı !!!

Nezahat Başeğemez ile yazdığımız Uygulamalarla Veri Bilimi kitabımızın 3.baskısı çıktı. Bu baskıya özel bir bölüm ekledik. Bölümde sıkça sorulan 12 adet soru ve cevap yer alıyor.

  1. Veri bilimi ve yapay zekâ alanları ile ilgili problemler nelerdir?
  2. Veri bilimini anlamaya başladık, peki yapay zekâ öğrenmek zor mu?
  3. Veri bilimi öğrenme sürecinde bilinmesi gereken Matematik ve İstatistik konuları nelerdir?
  4. Veri bilimi uygulamalarında hangi programlama dili tercih edilmelidir?
  5. Veri bilimi yapmak ile yazılım geliştirmek aynı şey midir?
  6. Veri bilimi odaklı geliştirilen bir projede hangi görev tanımları mevcuttur?
  7. Veri bilimi projelerinde çevik yazılım geliştirme yöntemleri ya da çatıları (XP, Scrum vb.) uygulanabilir mi?
  8. Veri bilimi projelerinde çalışabilmek için ne kadar alan bilgisine sahip olunması gerekir?
  9. Türkiye’de ve dünyada veri bilimci olarak çalışan insanlar neden mutsuz ve zamanlarının azımsanmayacak bir kısmını iş aramakla geçiriyorlar?
  10. Veri bilimi iş mülakatında karşılaşabileceğiniz sorular nelerdir?
  11. Büyük veri ve veri bilimi arasındaki ilişki nedir?
  12. Dijital dönüşüm ve veri bilimi arasındaki ilişki nedir?

TRT Radyo 1 “Yarının Dünyası” programında “Veri Bilimi” konuştuk…

5 Eylül 2019 Perşembe günü TRT Radyo 1’de yayınlanan “Yarının Dünyası” adlı programa katılma fırsatım oldu. Programın yapımcısı ve sunucusu Özgür Gündoğdu’ya çok teşekkür ediyorum. Programda; veri bilimi, yapay zeka ve geleceğin mesleklerinin ana tema olarak seçildiği programda; verinin hayatımızdaki yeri, verinin doğru ve yanlış kullanımları, yanlı veri ile eğitilen/öğretilen yapay zeka sistemlerinin neden olacağı problemler, veri mahremiyeti ve veri regülasyon konuları üzerinde konuştuk. Ayrıca gelişen yeni dünyada çok disiplini çalışmalar yapılarak, katma değeri yüksek ürünlerin üretilebileceğini vurguladık.

Benim için çok keyifli bir programdı. Dinlemek isteyenler için link aşağıda:

Yazılımcı Konsantrasyonu, Beyin Akış Durumu ve Bölünmeler Üzerine

Bu yazıyı 2013 senesinde akademik kariyerimin bebek adımlarını atarken (sektörden yeni geçmiş olmanın verdiği bir gazla) ilk defa kaleme almış ve farklı bir mecrada yayınlamıştım. O zaman da çok ilginç ve keyifli yorumlar almıştım. Şimdi Aykırı Yazılımcılar için yazıya tekrar el attım ve güncelleyerek sizlerle paylaşıyorum.

Özellikle yazılım işine hiç girmemiş ya da bu işe bulaşmamış ama programlamadan çok iyi anlayan 🙂 arkadaşlara, bölünmenin mahiyetini ve maliyetini terbiyenizi bozmadan bilimsel bir dille anlatmak için yine bu yazıyı kullanabilirsiniz…

Giriş
Yazılım geliştirme (programlama, kodlama), yaratıcı bir iş çıkartmayı (değeri olan bir çıktı elde etmeyi) hedefleyen bir süreç olup, azami dikkat ve konsantrasyon gerektirir.
Chicago Üniversitesi Psikoloji Bölüm Başkanı Mihaly Csikszentmihalyi tarafından yapılan bir çalışmada yazılımcıların beyinlerinin sanatçıların çalışma tarzına sahip olduğu görülmüştür.

Not: Tam da bu noktada “yazılım bir sanat mıdır?”, “programlama sanatı”, “yaratıcılık ve yazılım”, “yazılım mühendisi olma yazılım sanatçısı ol”, “yazılım geliştirme sadece yaratıcı insanlar için mi?” gibi ucu bucağı bitmeyen konuları açıyoruz… Şimdilik bunları az öteye park edelim 🙂

Tam konsantre bir programlama sırasında beyin bir “akış” (flow) moduna geçmekte, etrafla ilişkisini kesmekte ve bir probleme günlerce konsantre olabilmektedir. Ciddi bir çevresel izolasyon gerektiren akış moduna girildiğinde, üretkenlik maksimum düzeydedir ve tüm kritik kodlamalar bu seviyede yapılır.

Akış moduna giriş, zaman alan ve karmaşık bir süreç olup, çözülmesi gereken problemle veya yapılması gereken işle ilgili gerekli bilgiler bu aşamada toplanır. Örneğin bize Jira’dan iletilen bir hatayı çözmek için uğraştığımızı düşünelim. Bu hata ile uğraşırken aşağıdaki gibi birçok şeyi (girdiyi) aynı anda analiz ediyor ve aklımızda tutmaya çalışıyoruz (hatta ilişkilendiriyoruz).

  • Hata iş akışları (oluşum adımları)
  • Önceki çözümler (tecrübeye dayalı)
  • Yeni olası çözümler
  • İlgili kaynak kod dosyaları
  • Son yapılan değişiklikler
  • İlgili sınıflar ve metotlar
  • Değişkenler
  • Parametreler
  • Kullanıcı ara yüzleri
  • Veritabanı yapısı

Yazının tamamına bu linkten ulaşabilirsiniz.

Eğitim: TÜBİTAK 4005 Projesi, Disiplinlerarası Öğretmen Akademisi

Bugün eğitmen olarak görev aldığım “TÜBİTAK 4005 Projesi: Disiplinlerarası Öğretmen Akademisi” kapsamında Türkiye’nin 25 farklı lokasyonundan gelen 40 tane öğretmenimize “Veri Bilimi ve Veri Bilimi Proje Tasarımı” konulu 4 saatlik uygulamalı bir eğitim verdim.

Hem benim hem de katılımcı hocalarımız için yoğun ve yorucu olsa da konu üzerine farkındalık yaratmak adına oldukça yararlıydı. Veri Büyümesi, Veri Bilimi, Yapay Zeka, Makine Öğrenmesi, Derin Öğrenme tanımları ve gerçek hayat uygulamaları üzerinden geçip, bir veri bilimi projesinin iş adımlarını anlamaya çalıştık. Hatta bir ara Naive Bayes algoritması bile anlatmışız 🙂

Başka bir eğitimde görüşmek üzere…