Tag Archives: GOYGOY

Genel

Para Yönelimli Programlama (PYP)

Para Yönelimli Programlama (PYP)Para Yönelimli Programlama, programlama eyleminin para ekseninde gerçekleştirildiği yazılım geliştirme faaliyetidir. Geliştiriciler arasında “Dark Side”, “Para Çokomel”, “Parasıyla değil mi ?” sözleriyle de ifade edilen bu yaklaşımı, bu yazıda birlikte irdeleyeceğiz.

PYP, aslında hepimizin bildiği algülüm vergülüm esasına dayanan ticari bir faaliyetten başka birşey değildir. İşverenin, yazılım geliştirme ihtiyaçlarının karşılanması doğrultusunda aylık periyodlarla yaptığı maaş ödemesine istinaden, geliştiricinin işveren beklentilerini makul sürelerde karşılaması esasına dayanır.

Adından da anlaşılacağı üzere programlama faaliyeti asla mantık ekseninde gerçekleştirilmez. İşin içeriği, yaratacağı prestij kaybı, görsel/mantıksal/fonksiyonel problemler geliştiriciyi ilgilendirmez. Ödemeler düzgün gerçekleştiği sürece müşteri her zaman haklıdır. Ödemenin aksaması, rakip veya farklı sektördeki firmanın yapacağı X+1 lik ücret teklifi mevcut firmayla olan ilişkilerin aynı gün sonlanmasına neden olabilir. (Mevcut firmanın x-1 lik personeli temin edebilmesi durumunda mevcut personelin işine aynı gün sonverebildiği gibi.)

PYP uygulayan geliştiricinin egosu ve fikri olmaz. Şayet fikri varsa ısrarcı olmaz. Tartışmaya girmez. Alınacak nihayi cevap her zaman için “Ok o zaman o şekilde yapalım.” şeklindedir. Kıdeme bağlı olarak “parasıyla değil mi ?” gibi türlü varyasyonların da duyulması mümkündür.

Para Yönelimli Programlama (PYP)Bu tip geliştiriciler, yedi köyle barışık denilecek cinsten insanlardır. Sistemcisinden, proje yöneticisine ve diğer tüm ekip arkadaşlarıyla tam anlamıyla uyum içindedir. Asla laf taşımaz. İşinin yürümesi için herşeyi yapar. Nabza göre şerbet verir. İtin köpeğin önde gidenidir. İş bitiricidir. Üretimin süreci ve sonucu göz önünde bulundurulduğunda aslında her PYP geliştiricisi DGYP ve GGYP yaklaşımlarını da benimser. (Bkz. Daya Geç Yönelimli Programlama (DGYP). Bkz. Goygoy Yönelimli Programlama (GGYP)) Projedeki mevcut özellik defalarca kaldırılıp eklense de asla üşenmez, yorum getirmez. İşverenin kendisine bunun için para ödediğinin bilincindedir.

PYP uygulayan geliştirci, bir projenin öyle veya böyle yayına çıkabilmesi adına her firmada en az birkaç tane bulunması gereken geliştirici tipidir. Ego tatminin yaşanacağı yer işyeri olmadığından işverenin yazılım geliştiricinin egosunun tatmin etmek için iş beğendirmek veya her an yeni bir challange yaratmak gibi bir mecburiyeti yoktur. İşveren para karşılığında geliştiricinin bilgisini ve zamanını satın alır.

Pahalıdır. Standart bir yazılım geliştiriciyi X liraya, bir rockstar ı X+1 liraya çalıştırabilirsiniz. Deneyimli bir PYP geliştiricisini X+2 liraya çalıştıramazsınız. Şayet anlaşsanız bile daha iyi şartları sağlayan başka bir firma bulduğu gün yerinde yeller eser.

Sadakat ancak hayvanlarla insanlar arasında yaşanabilecek bir duygudur. Bu nedenle firmanın geliştiriciden sadakat beklentisi son derece yersizdir. PYP geliştiricisi, yukarıda belirtilen ücret politikası nedeniyle asla herhangibir projede tek adam olarak konumlandırılmamalıdır. Çünkü her an herşey olabilir :)

Genel

Goygoy Yönelimli Programlama (GGOP)

Evet… Gelen yoğun istek üzerine bu konu hakkındada bir blog yazısı yazmak şart oldu.

Goygoy yönelimli programlama yaklaşımı, umumiyetle yurtdışındaki bazı büyük yatırım şirketleri veya popüler elektronik ticaret şirketlerinin güzel yurdumuzdaki seçkin şirketlere yatırım yapması ve bu şirketlerdeki çalışma şartlarının yıllardır patron baskısı altında ezilen yağız Türk developerının alışkın olmadığı bir level e gelmesiyle başlamış, son derece geniş ve lakayit bir programlama biçimidir.

Goygoy yönelimli programlama yaklaşımının hakim olduğu şirketlerde :

– Mutfak, kahve makinesi, oyun odası, langırt masası ve oyun konsolu gibi ekipman ve imkanlar mevcuttur.

– IK tarafından belirlenen mesai saatler, öğlen arası ve kılık kıyafet yönetmeliği gibi kurallar olmasına karşın IT cephesinde “Bu kurallar IT yi kapsamaz” anlayışı hakimdir. O gün mesainin kaçta başlayacağı veya öğlen arasının ne kadar süreceği gibi konular developerdan developer a değişgenlik gösterebilir. Ancak herkes çıkış saatine riayet eder.

– Örneğin GGOP uygulanan ve mesai saatleri 9:00 – 12:00 13:00 – 18:00 olan bir şirketteki tipik bir işgünü:

09:45 – 10:15 : Ayılma, adaptasyon kahvaltı, çevre arkadaşlarla goygoy.
10:15 – 11:25 : Jiradaki işlere şöyle bir göz gezdirilir. IDE açılır. Projeden yalandan bir iki tane dosya ekrana getirilir. 5-10 dk. amaçsız bir şekilde scroll çubğu yukarıdan aşağıya, aşağıdan yukarıya gezdilir durulur. Maksat leadler işte görsün.
11:25 – 11:35 : Çay, kahve, goygoy…
11:35 – 11-58 : “- Kanka iki tur pes atakda joystiği kolunun altına vereyim.” muhabbeti.
11:58 – 12:15 : “-Beyler ne yiyoruz bugün ?”, yemeğe hazırlık, toplaşma…
12:15 – 13:30 : Öğle arası (Toplaşmayı saymazsak zaten 12 de çıkmadığımız için geç gelme hakkını otomatik olarak elde ediyoruz.)
13:30 – 14:10 : PES / langırt / goygoy arası
14:10 – 15:30 : Yalandan kodlar incelenir, belki bir tane issue çözülür.
15:30 – 16:15 : Mevcut sistem, projenin bir bölümü veya tamamı ya da şirketin işleyişiyle ilgili aksaklıklar hakkında goygoy yapılır.
16:15 – 17:10 : PES/Langırt/GoyGoy/Sigara
17:10 – 18:15 : Gün içerisinde ite kaka yalandan yapılan issue lara ait kodlar deploy edilir. Kodlar patlar, bugfix yapılır, birdaha deploy edilir, birdaha patlar, birdaha bugfix yapılır… Bir yandan bugfix yapan yağız Türk developerı bir yandan koca günde ite kaka yaptığı o kıytırık iki issue ile ilgili olarak “Lan kendi yazdığım kodu nasıl test edeyim…!” şeklinde söylenmeye devam eder.
18:15 – 18:30 : Sigara / kahve molası
18:30 – <belirsiz>: Gün içinde yapılmayan işler için mesaiye kalınır. Yiyecek/içecekler şirketten.

– Her işin deadline ı vardır. Ancak kaynak yetersizliğinden (mevcut kaynak goygoya kanalize olduğundan) deadline hedefleri genellikle tutmaz.

– Sigara kahve tüketimi insani ölçülerin üzerindedir.

Bunun gibi birsürü özelliği sıralayabiliriz.

GGOP uygulanan yerlerde bir nevi çan eğrisinin uygulandığını söyleyebiliriz. Belirli goygoy performansını gösteremeyen developerlar, mesainin tamamına yakınını bilgisayardan kafasını bile kaldırmadan, tek kelime konuşamadan kod yazarak geçirmeye mahkumdurlar. Ayrıca evlerine zamanında gidebildikleri de pek görülmemiştir. Zaten böyle çalışan şirketlerde yönetimin Y sinden de söz edilemez. İyi bir developersanız, çalıştığınız şirkette GGOP uygulanıyorsa kaynak kullanımında denge diye birşey sözkonusu olmadığından “Zevkle çalışanı şevkle… ” felsefesi hakimdir. Allah böyle şirketlerin de buna vesile olanın da bu yaklaşımı sürdürenin de… diyorum başka da birşey demiyorum!!!

Genel

Daya Geç Yönelimli Programlama (DGOP)

DGO programlama, bilgisayar programlama eyleminin avamın eline düşüp, OOP nin popülaritesini arttırmasıyla ayyuka çıkmış acımasız bir programlama yaklaşımıdır.

DGO yaklaşımının temel özellikleri sırasıyla :

* Kısa vadede günü kurtarır, geliştiricisine pirim yaptırır.
* Sınıflar ve metodlar arasında mantık ilişkisi yoktur.
* Sınıf, metod ve değişken isimlendirme sistemi tamamen rastlantısaldır. Yapılan iş ve işi icra eden metodun ismi arasında herhangibir mantıksal ilişki bulunmaz.
* Sınıfların veya metodların kendisini ilgilendiren/ilgilendirmeyen birden fazla sorumluluğu bulunabilir.
* İç içe, peş peşe yazılan döngüler DGO yaklaşımının vazgeçilmezlerindendir.
* Kodlama süreci at gözlüğü takılmışcasına gerçekleştiğinden, bağımlılık, ilişki gibi kavramlar DGO da gözardı edilir.
* Ömrü kısa, geliştirilmesi imkansız, yeniden kullanılabilmesi mümkün olmayan kod üretimine olanak sağlar.
* Bellek yönetimi, performans, ölçeklenebilirlik, yeniden kullanılabilirlik gibi kavramlar DGO da gözardı edilir.
* Kodlama standardı developer a ve zamana bağlı olarak değişebilir. Aynı projede hatta kimi zaman aynı dosyada farklı girinti ve blok kullanım biçimlerine rastlamak mümkündür.

DGO yaklaşımında süreç, CPD (Copy/Paste Developer) nin gelen taleplere hızlı ve plansız çözümler üretip, çöpe dönen kodu başka bir developer ın refactor etmesi şeklinde devam eder.