Arkadaşlar bu yazıyı can sıkıntısından yazdım bazıları bana ait bazıları deil.Bu konu güncel olucaktır fırsat buldukça bir şeyler yazacam
İyi programcı olmanın yolu, hemen hemen her yerde "kendini bu işe adamak ve çok iyi bir şekilde geliştirmekten geçer" diye tanımlanır. Hatta bazı insanlar o kadar abartır ki programcılar sosyal mıdır yoksa asosyal mıdır soruları sıklıkla sorulan ve tartışılan konulardır. Yurt dışında aslında bu işin tam tersi bir durum var. İnsanlar içine kapanık bir şekilde kod yazmaktan ziyade tam aksine aşırı derece sosyal bir şekilde hayatlarını sürdüklerini görürüz.
Şu son zamanlarda gördüm ki gerçekten iyi bir programcı olmanın yolu sosyal olmaktan geçer. Bir insan kendi başına asla kendini iyi bir şekilde geliştiremez. İnternetten araştırmalar ile kendi başına yapılan 1 aylık çalışma süreci , ekip olarak yapılan 1 haftalık çalışma sürecinin yanından bile geçemez. Bu yüzden iyi programcı olmanın yolu sosyal olmaktan, insanlar ile ilişkilerinizi iyi şekilde yürütmekten geçer.
Ekip çalışması denilen olay, oturup sadece saatlerce kod yazmaktan ibaret olmamalı. Türkiye'deki çoğu proje yöneticisi programcıları bu şekilde çalıştırdığı için, hem o programcılardan tam olarak verim alamamakta hemde kısa süre içerisinde proje başarısızlık yoluna doğru gitmekte. Ekip olmayı , aile olmaya benzetebiliriz. Beraber bir şekilde projeyi geliştirirken aynı zamanda iş çıkışında ekip olarak bir bara , kafeye gidip stres atmak hem programcı için önemli , hemde projenin olumlu ilerleyişi açısından önemli rol oynar. Örneğin topluca yenilen bir akşam yemeğinde projenin ilerleyişi hakkında ve yapılacak olan işlerin analizi harika bir şekilde çıkartılabilinir. Çünkü o ortam iş stresinden tamamen uzak ve samimi bir ortam yarattığı için ekip elemanları üzerindeki baskı tamamen ortadan kalk ve verimlilik en üst seviyeye çıkartılmış olur.
Bu tür ekip içi yapılan sosyal aktiviteler, ekip içi bağı da kuvvetlendirerek insanların bir birileri ile ilişkilerini güçlendirir. Bir proje geliştirilirken sıklıkla yüksek seviyeli tartışmalar geçebilir. Bu tartışmalar ekip içindeki takım ruhuna göre proje iyi yada kötü yönde etki eder. Eğer ki ekip, tam bir aile olabilmiş ise tartışma orada sonuçlanır ve unutulur.
İyi programcı olmanın yolu, öncelikle insan olmaktan geçer. Sorumluluk sahibi olabilmeyi becerebilmelidir. Dürüst olmak ve olgun olmayı gerektirir. Ayrıca bu programcı, tamamen kendini beğenmiş tavırlardan arındırmalı, diğer insanlardan bilgi olarak üstün olsa bile bu üstünlüğü mütevazı bir şekilde yürütebilmeyi başarmayı öğrenmesi gerekmektedir. Aksi taktirde sırf ego tatmini için tartışmalar oluşturursa kimse o programcı ile çalışmak istemez. Bütün bunlar iyi programcı olmanın yanında, nasıl iyi proje yöneticisi olunur sorusunu da kapsar.
Mantıklı bir şekilde olaya baktığımızda bütün başarı sağlamış büyük projeler takım çalışması sonucu ortaya çıkmıştır. Tek başına bir insanın büyük çapta bir program yazması teorik olarak imkanlı olsa da aslında imkansızdır. Çünkü kendi kendini teşvik etmesi bir yere kadar süreceği için bir mühted sona sıkılacak ve projeyi geliştirmeyi durduracaktır. bu şekilde başlanmış ve sonra sıkılarak bırakılmış daha en baştan ölü doğan milyonlarca proje var
İlk Olarak istekli olun. (Bir İki Arkadaşa hava atmak için bu işe basladıysanız yada bu isi yaparken zevk almıyorsanız sıkılıyorsanız bu isi hiç başlamadan bitirin)
Programcı olmak için,yüzlerce örnekler ve denemelerle kendinizi geliştirin
Sabırlı olun programı yaparken sanki bu sizin için bir görev olduğunu varsayın.
Source Bulup üstüne kendi adınızı yazmayın.Böle sadece kendinizi kandırırsınız. Sourceler kodlarına bakıp faydalanmak içindir. siz kendiniz yapmış gibi gösterirseniz biri bulur sourceyi yalanınızı ortaya çıkarır.
Önce Küçük bir program yapın sonrada yavas yavas büyük programlara odaklanın hep küçük projelerde kalmayın.
Ben simdiye kadar bir sürü program yaptım ama hiç forumda paylasmadım ama siz paylasın Fikirler ve eleştirilere açık olun.
İyi Bir Programın Temel Özellikleri
Doğruluk:Verilen işi tam olarak yerine getirebilmesi.
Dayanıklılık: Beklenmedik hatalardan dolayı kesilmemelidir .
Genişletilebilme: Program, ileri aşamalarda eklemelere açık olmalıdır.
Basitlik: Karmaşık , göz yorucu tasarımlardan kaçınılmalıdır.
Modülerlik: Başka programlara içerisinde de programımız kullanılabilmeli.
Uyumluluk: Yazdığımız program güncel işletim sistemleri ile uyumlu olmalıdır.
Kontrol Edilebilirlik: Hata olabilecek yerlere açıklayıcı hata mesajları konulmalıdır.
Kolay Kullanım
Parçalanabilirlik: Program küçük parçalara ayrılarak yazılabilmelidir.
Anlaşılabilirlik: Bir başkasının program kodlarına baktığında veya uzun bir süre aradan tekrar bir şey düzenlememiz gerektiğinde program akışını anlayabilmek.
Koruma: Modüller birbirine müdahale etmemelidir.

