Yazılıma Başlamak Mı İstiyorsunuz? Görmeniz Lazım! Yazım ile karşınızdayım. Yazılıma sıfırdan başlamak istiyorsanız inanıyorum ki sizler için faydalı olacak ve size yeni bir bakış açısı kazandıracaktır. Bu yazıdaki her cümle, kendi deneyim ve tecrübelerimden gelmektedir. Yani salt tecrübedir. Daha önce duyduğunuz şeylerde olabilir bu yazıda ilk defa duyacağınız şeylerde. O halde başlayalım. Umarım siz yazılıma merak duyan kardeşlerim için faydalı bir yazı sunabilmişimdir. Yazılım öğrenmek istiyorum diyen herkes için çok önemli olduğuna inandığım bilgiler bu yazıda yer almaktadır.
Bu yazım bir bakıma yazılımcı olmak için gerekenler diyebilirim ama yazımı sıkılmadan okursanız aslında sadece yazılımcı olmak için gerekenler hakkında olmadığını da göreceksiniz.
Programlama kategorisindeki diğer yazılarım için tıklayınız.
Unutma: Bu yazı yazılımcı olmanın değil yazılımcı olmadan önce bilmen gerekenler hakkındadır. Bunları bilirsen yazılımcı olmayacaksın. Bunları bilerek yazılıma başlarsan diğer yazılımcılardan çok daha ileride ve temeli sağlam başlayacaksın.!
Yazılıma Başlamak Mı İstiyorsunuz? O halde okumaya devam…
Madde 1: Araştır, Araştır Ve Araştırmayı Sev
Araştırma yapmadığın sürece kendini geliştirmen imkansız. Hem de her konuda… Yazdığın kod çalışıyor diye sorun yok şeklinde düşünmek çok yanlış bir düşünce. Bol bol araştırma yap, araştırmayı sev…. Kendini geliştir, kendini geliştirmeyi sev. Kodlarını geliştir, kodlarını geliştirmeyi sev… Yazım tekniğini geliştir. Yeniliklerden haberdar ol, teknolojiyi takip et… Yeni şeyler denemekten korkma. DENE!!!
Yeni şeyler öğrenmeye çalış.
Bak mesela Yapay Zeka konuları revaçta şu sıralar (26.08.2019). Uzmanlık alanının hangi programlama dili olduğu önemli değil. Aç YouTube’yi yada Udemy’i öğrenmeye başla hemen. Phyton öğren mesela, araştır nerelerde kullanılıyor. Bir dile takılıp kalma. Yeni şeyler öğrenmekten sakın korkma. Bir konuda uzman olmak yetmiyor artık. Şirketlerin seni tercih etmelerini sağlayacak şeyler de gerekli. Yada yeni ufuklara yelken açabilmek için…
Değişmeyen tek şey değişimin kendisidir.
**Yazılıma Başlamak Mı İstiyorsunuz? O zaman Araştır, Araştır ve Araştırmayı Sev….
Madde 2: Yaz Sil, Yaz Sil, Yaz Sil
Hemen hemen tüm yazılımcılar işe çok kod yazarak başlar. Onlara diyecek bir sözümüz yok tabi. Bizde en başta aynı kodu tekrar tekrar ve uzun uzun yazıyorduk. Hangimiz, birçok kez arkada eski projelerimiz açıkken birinden diğerine kopyalamaya yapmadık.
Ancak, örneğin ben hiçbir zaman bir formun içerisinde SqlConnectionString yazmadım. Yani o bilinen sql server bağlantı kodlarını formlar içinde yazmadım. O connectionları, adaptorleri vs.. Üniversitede proje ödevi olarak bir asp.net site yaparken, izlediğim eğitim setinde eğitmen direk bir SqlConnectionClass ve diğer class hazırlama işlemlerini de göstermişti. Bu yüzden direk classlar ile çalışmaya başladım. Ve inanın proje bitiş süresini inanılmaz etkiliyor. Bir kere yazıyorsun her yerde kullanıyorsun.
O ilk sql class yorum satırları ile birlikte 205 satırdı. Şuan da ise yorum satırları dahil 63 satır.
Peki bu nasıl oluyor?
İşte yaz sil, yaz sil, yaz sil burada başlıyor. Yazıyorsun, sonra bakıyorsun işe yaramayan yerler var siliyorsun. Yazıyorsun, sonra bakıyorsun buraları şöyle birleştirsem yine aynı şey olur deyip siliyorsun. Yeni bir şey öğreniyorsun onu eklemek için silip yazıyorsun. Kodları artık ihtiyaçlarını karşılamıyor araştırıp öğreniyorsun silip yazıyorsun. Hatta bazen tamamen silip, yeniden yazıyorsun. Ve kodların daha kısa ve anlaşılır oluyor.
Buradan ilk maddeye atıfta bulunmak istiyorum. İlk madde olmadan buralar ilerlemiyor. Aynı kalıyorsun.
Üç yıl dört yıl sonra ilk projelerine bakıp kendine küfür edebiliyorsun. “Ben burada ne yapmışım böyle” diyorsun kendi kendine. Ara sıra ilk yazdığım projelere geri dönüp bakıyorum “bu ne la” deyip siliyorum, “ne yazmışım burada“ deyip siliyorum, “Ne gerek var buna” diyorum ve siliyorum.. Ve inanın sile sile projedeki kodların yarısından fazlasını silmişimdir ve hala siliyorum.
Gerçi yakın zamanda, bahsettiğim o projeyi tamamen sildim. Çünkü düzenlenecek gibi değildi. O yüzden projeyi yavaş yavaş “New Project” diyerek yeniden yazmaya başladım.
Silmekten korkma. Sil gitsin. Bu zamana kadar yazdığım ve sildiğim projelerin hesabı yok. Ha bu projeler elbette büyük şeyler değildi. Bazıları saçma sapan şeylerdi. Fantezi şeylerdi. Denemek için yaptığım şeyler. Yapabilir miyim acaba diye düşündüğüm şeylerdi. Ve hepsini de yapmıştım çünkü başladım mı sonunu getirmem gerekiyor. Sonradan zaten gerekli olmadığını düşünüp silmiştim.
Ama bu siteyi açtığımda keşke silmeseydim dedim. En azından yazacak daha çok şeyim olurdu ve o projeleri de sitemde paylaşmış olurdum. :)
Ancak burada sizlere tavsiyemdir ki o eski projelerinizi silmeyin. Github’a yükleyin. Elinizin altında olmasa da orada dursun. Github’daki projeleriniz sizin bu işi ne zamandır yaptığınız nerelerden geçtiğiniz ve neler öğrendiğinizin kanıtı niteliğinde olacaktır.
**Yazılıma Başlamak Mı İstiyorsunuz?, Yaz Sil. Yaz Sil. Yaz Sil. Bu işler böyledir.
Madde 3: Önce Düşün, Sonra Yaz
Düşünce şeklinizi güzel bir düzene sokmanız gerekiyor. Tabi burada bahsettiğim düzen her yerde duyduğunuz analitik düşünmek gibi öyle karizmatik sözler değil. Öyle sağlam bir matematik bilgisine sahip olma gereği de görmüyoruz. Yapmamız gereken işlerde, lazım olan formülleri zaten o işi yaparken mecburen öğreneceksiniz. Bu sebeple kafanızı daha başlamadan bunlarla doldurmaya kesinlikle gerek yok.
Örnek olarak şu sıralar bir sektör için başladığım nacizane projemde onlarca formül kullanmak gerekiyordu. Bu zaman kadar o formüllerin adlarını bile duymamıştım. Ancak bu projeye başladığımda gerekli oldu ve öğrendim. Demek istediğim şeyde tam olarak bu.
Ancak zaten matematiğiniz iyi ise ne ala! Matematik bilmek her zaman kazandırır… Matematiği ne kadar iyi biliyorsanız şöyle 5, 10 sıfır önde başlarsınız ancakkkkk! Matematik bilmeyen programcı olamaz diyenler af edersiniz halt etmiştir. (Yapay zeka konularında bu durum farklıdır. Daha sonra bundan bahsedeceğim.) Yazılım işi gönül işidir arkadaşlar. Matematik profesörü dahi olsanız sevmediğiniz, aşık olmadığınız takdirde sadece eziyet olur. (Haha! ben daha geçen seneye kadar kerat cetvelini dahi ezbere bilmiyordum. 2016. yıl olmuş 2019 biri sorduğunda hala takılıyorum. Ha bununla övünmüyorum elbette ama “matematik bilmeyenden de yazılımcı olur” sözümü kanıtlamak istiyorum.) Bilmeniz gereken tek şey temel matematik. Yani toplama, çıkarma, bölme, çarpma, işlem önceliği vs. Bu şimdilik yeter.
Kaliteli yazılımın en önemli kısmı aslında burasıdır. İşin başladığı yer burasıdır. Önce yazacağın programı iyice düşünürsün. Tasarlarsın. Algoritmasını çıkarırsın. Yazarsın. Çizersin. Projeyi kullanacak kişilerle görüşürsün ki can alıcı nokta burası… İşi size veren kişi ile 1 saat görüştüyseniz projeyi kullanacak kişilerle 100 saat görüşmelisiniz. Bir kerede yazar bitirirsin. Sonra kafan rahat eder.
Algoritma Nedir? Algoritma Nasıl Yazılır? ve Algoritma Nedir? Algoritma Tasarımı Nasıl Yapılır? yazılarıma göz atarak algoritma dediğimiz şeyin nasıl bir şey olduğunu görebilirsiniz.
Peki neden? İşi veren kişi yazılım hakkında neler biliyor olabilir?
İşletmede çalışan kişi işi veren kişi değildir. İşi elbette biliyordur ama kendisi sadece görmek istediği şeyleri isteyecektir. “Ben ne dersem onu yapacaklar!” şeklinde yüksekten konuşmalarla proje bitmez arkadaşlar. Elbette işi veren kişini isteklerini dikkate alacaksınız ancak olmayacak bir isteğe de “bu dediğiniz mümkün değil” cümlesini de kurabilmelisiniz.
Yazdığınız projede veri girişini yapacak kişiler işletmedeki kişiler olacaktır. Mesai saatleri boyunca sizin geliştirdiğiniz yazılımı kullanacaklar değil mi? O halde veri giriş ekranları neden patronun istediği gibi olmak zorunda? Bu mantıklı mı? Cevabımız HAYIR! Sipariş ekranını, siparişi girecek kişilerle, üretim ekranını üretimde çalışan kişilerle, kalite ekranını kalite biriminde çalışan kişilerle görüşerek onların iş yükünü azaltmaya dolayısı ile yazılımı kullanmaya istekli olacakları şekilde geliştirmelisiniz. Bunu size işi veren kişinin söylemesi mümkün değildir. Bunu sizin düşünmeniz gerekiyor. Sizin profesyonelliğiniz işte burada ortaya çıkıyor.
Hemen yukarıdaki son iki paragrafı okuduktan sonra sizin de hak vereceğiniz, düşündüğüm bir mottomu daha vermek istiyorum…
Yazılıma Başlamak Mı İstiyorsunuz? Bilmelisiniz ki iş, işte öğrenilir!
Buradan ikinci maddeye atıfta bulunmak istiyorum. İkinci madde sayesinde proje süresinin ne kadar kısa olacağını birazcık düşün isterim.
İşlem Sıralaması;
Sırası ile;
- Projeyi düşün / nasıl ilerlemen gerektiğini planla.
- İstekleri incele ve istekler hakkında kafana takılan her şeyi sor. Ama her şeyi… Bir aptal gibi görünmen hiç önemli değil.
- Tekrar düşün / Tekrar Planla.
- Kafanda soru işareti kalmayana kadar aklındaki tüm soruları sor.
- Gerekiyorsa benzer uygulamaları incelemeye çalış.
- Kafanda projeyi tasarla – Gerekirse kağıt üzerinde yaz, çiz.
- Kullanacağın formları kafanda hazırladığın, yazıp çizdiğin tasarıya göre ayarla.
- İstenilen yetkilendirme şeklini tasarla. Buradaki konu projeye nasıl bir yetkilendirme gerektiğidir. Örneğin bir ekrandaki kaydetme, değiştirme ve silme noktasına kadar yetkilendirme gerekiyor mu? Yoksa sadece ilgili ekrana ulaşma yetkisi gerekli mi? Veya bir ekranda değişken yetkilendirme olacak mı yani bir kaydı onaylama reddetme gibi… Bu aşama da bunu anlayıp ona göre bir alt yapı hazırlığı yapılması gerekebilir. Bu sebeple sonradan yapmaya çalışılması projede istenmeyen sorunlara ve gecikmelere sebep olabilir. Yine bu sebeple bu aşamada yetkilendirmenin nasıl yapılacağını kararlaştırmak ve alınan karara göre proje kodlanmaya başlandığında gerekli altyapıların hazırlanması sağlanabilir.
- Kodlarını yazmaya başla. (Database tablolarını hazırlamakta bu aşamada).
Formları tasarladıktan sonra veri tabanını açma taraftarıyım. Yaptığım tasarımı kafamda ilişkilendiriyorum. Sonra veri tabnını ayarlamaya başlıyorum. İllaki gözden kaçanlar oluyor ama geri dönüş süreci de minimum seviyede oluyor.
SQL Server Nedir? SQL Nedir? T-SQL Nedir? yazıma giderek SQL veri tabanı hakkında bilgi edinebilirsiniz. Yazımın geri kalanında da SQL hakkında notlar olacaktır.
Bu yada buna benzer bir sıralama ile başlamazsan ve devam etmezsen o projenin sonu gelmeyecektir. Gelse bile sizi projeden hatta belki de meslekten tiksindirecektir.
NOT: Yukarıda benim takip ettiğim sıralama vardır. Sizlerde bu sıralama farklı olabilir. Yaptığınız işin şekline göre bu sıralama ve maddeler tamamen değişebilir. Burada vermek istediğim şey proje deadline yani bitiş süresine en kısa sürede ulaşma eşittir paraya en kısa sürede ulaşma, daha çok iş bitirme ve bu işleri temiz ve alnınızın akı ile tamamlamaktır… Daha hızlı iş bitirmek paraya daha hızlı kavuşmak ve daha fazla proje almak ve yine daha fazla para kazanmak… :)
Sözleşmelerin Önemi
“Yaw hele bir başla sen, aklımıza geldikçe söyleriz eklersin” diyerek işe başlamanı isteyen bir müşteri üç beş kuruşa kendi kafasındaki mükemmel programı yaptırmaya çalışacaktır. Tecrübe ile sabittir. Üç yılda zar zor bitirebildiğim bir proje var. Tahmini altı yedi ay gibi bir sürede bitirebilirdim. Belki daha kısa da sürebilirdi ve üstelik mevcut halinden belki de 10 kat daha güzel olurdu. Tabi buradaki güzellikte sizin yazdığınız projeden tatmin olmanızdır. Yani sizin tatmin noktanızla bağlantılıdır.
Projenin haliyle maddi konuların büyük olduğu projelerde kesinlikle ve kesinlikle ama kesinlikle gerçekten kesinlikle başlamadan önce tüm istekleri ve nasıl çözüleceklerini net bir şekilde kağıda ve oradan da sözleşmeye dökün. Sözleşmesiz kesinlikle iş yapmayın arkadaşlar. Yukarıda verdiğim 9 maddeden çıkarttığınız tüm sonuçları müşterinize onaylatın. Sözleşmesini hazırlayın ve öyle başlayın. Bu özellikle sizin için hayat kurtarıcı olacaktır.
Şöyle düşünün, siz projeyi belirli bir aşamaya kadar getirmiş olun. Tam o sıralarda iş verenler “biz sana bir şeyi söylemeyi unuttuk” diye sana geldiklerini düşün. Ve o unuttukları şeyde projenin temelinden etkileyecek… Eğer sözleşme yapmamışsanız, bu değişikliği yapmak zorunda kalacaksınız ve yine sizden sözleştiğiniz sürede bitmesini isteyecekler. Ama sözleşme yaptıysanız, sözleşmeyi gösterip biz böyle anlaşmadık. Bu isteğin projeye etkisi şudur ve ekstra ücret ile ekstra süre gerekir diyebilirsiniz.
Önce düşün sonra yaz kuralını uygulamadığınızda başınıza gelebilecek en gerçekçi örnek budur. Bittabi benim başıma geldiği için ve sözleşme bariyerine sahip olduğum için çok rahat ettiğim bir tecrübe olmuştu. Tecrübe her zaman kötü olaylar değildir. İyi tecrübelerde vardır.
**Yazılıma Başlamak Mı İstiyorsunuz? Önce Düşün, Sonra Yaz. Önce yazar sonra düşünürsen, sıkıntı.
Madde 4: Basit düşün
Şunu bilmelisin ki insanlar basit şeyleri severler. Bir formdan gir ona tıkla, oradan çık şuraya gir şunu tıkla, şuradan da şuna tıklarsan istediğin olur dersen bir adama, adam mala bağlar “yaw bu seferlik sen yap da bende bakıp öğreneyim” der. Sonra bir bakmışsın herkes o raporu yada o işlemi senden ister, bekler olmuş. Bir yazılım şirketinde çalışıyorsan da sürekli seni arar sorarlar ve hayatı sana zindan ederler.
Bir kere cevap vermediğinde de hemen seni şikayet ederler. Yaptığın projeyi kullanmamaya ve kendi hatalarını sana mal etmeye çalışırlar. Sana göre çok basittir. “Yahu bunda ne var ki?” dersin ama müşteri veya kullanıcı anlamayabilir. O yüzden yapabildiğin en basit halinde yapman gerekir.
Unutma, o projeyi sen yazdığın için ve neyin nerede olduğunu ve nerede ne yaparsan hata çıkacağını çok iyi biliyorsun bu yüzden sana çok basit gelmesi gayet normaldir.
“Dünya üzerindeki en düşük IQ ya sahip bir insanın bile anlayacağı şekilde yap.”
Bu, benim bu konudaki mottolarımdan. Yardım dosyalarını hazırlarken, kullanım kılavuzu hazırlarken ve programı yazarken hep bu felsefe ile yazarım. En temel anlamı da “Basit Düşün” dür.
Buradan üçüncü maddeye bir atıfta bulunmak istiyorum. Ne demiştik Önce Düşün Sonra Yaz. Basit Düşün Hızlı Yaz. ;)
**Yazılıma Başlamak Mı İstiyorsunuz?, Basit düşün, hızlı bitsin. Ne kadar kompleks düşünürsen ise o kadar zor biter. Ve aynı zamanda o kadar stres altında kalırsın.
Sana, senin düşünmeni bile gerektirmeyecek netlik ve basitlikte bir proje dosyası ile gelmedilerse ki bu mümkün değil (ben daha ne istediğini bilen müşteri bile görmedim). Eğer araştırma yapmayı ve kendini geliştirmeyi sevmezsen, hiç yaz sil yaz sil yapmamışsan ve düşünmeden projeye başlamışsan sana garanti verebilirim dostum. O proje asla bitmez.
Madde 5: Az kod çok iş
Yazılımcıların bazıları yazdıkları kod satırı sayısı ile hava atarlar. “Çok iyi yaa bugün 10.000 satır kod yazdım. Var mı benden hızlısı?” diyen bir tanıdığım vardı. Benim gözümde onlar yazılımcı değildir. O hava atan insanlar bu işi hava atmak için yapıyorlardır. Yani işin karizma tarafına ağırlık veriyorlar. Gerçi artık öyleleri fazla kalmadı. :) Fazla kod yazmak sadece kod hammallığıdır. Bende kopyala yapıştır ile günde bir proje bitirebilirim. Benim mantığıma göre bir kodu / kod bloğunu iki kere yazmak da kod hammalığıdır ve o işte bir sıkıntı vardır. Hatta bırakın kodu, benzer işleri yapacak bir formu bile iki kere tanımlamam. Örneğin bir seçim listesi yapacaksam gelinen sayfaya göre sadece gösterilecek verileri değiştiririm.
Bu Senaryo Nasıl?
Diyelim ki basit bir ön muhasebe programı yapıyoruz. Böyle bir programda, hemen hemen her yerinde cari seçme, stok seçme, personel seçme vs. gibi seçimler yapılması gerekecektir. Şimdi düşünün, fatura düzenlerken, irsaliye düzenlerken, tahsilat yaparken cari ve personel seçmek gerekir değil mi? 3 yerde cari seçme işlemi yapmak için aynı formdan 3 tane mi açarsınız? Yoksa tek form açıp hepsinde kullanır mısınız? Sizce hangisi daha mantıklı?…
Bunun bir adım ötesi de, aynı form içinde hem cari, hem de stok seçtirebilmektir. Bu seçim formlarında önemli olan şeyler, cari ya da stoğun kodu ve adıdır değil mi? Bu listede sadece stoğun ve carinin kodunu ve adını göstererek tek bir formda proje genelinde hem cari seçim hem stok seçim yaptıramaz mıyım?
Yani diyorum ki, bir tane seçim formumuz olsun. Cari seçme işleminden gelinirse cariler, personel seçme işleminden gelinirse personeller, stok seçme işleminden gelinirse de stoklar listelensin. ama arka planda sadece tek bir form olsun. Nasıl? Üç form açmaktansa tek formda işi bitirmek sizce de mantıklı değil mi? Sizce de bu yöntem bize zaman kazandırmaz mı?
Bunun bir adım daha ilerisinde hem personel seçim, hem departman seçim hem de aklınıza gelebilecek Kodu ve Adı formatında olan tüm seçim işlemlerini tek bir form üzerinden yönetebilmek vardır. Sizce bu şekilde mi daha güzel olur. Yoksa her cari yada stok seçimi yapacağınız yerde ayrı ayrı formlar açmak mı daha güzel olur? Bu sorunun cevabını düşünün.
Cari (Alıcılar, Satıcılar), Stok, Personel (Satış yapan, evrağı düzenleyen), Departman, Kullanıcı, Banka, Depo vs. gibi bu liste uzar gider. En az bir kere de olsa yapmamız gereken seçim listelerine örnektir.
Mesela sql bağlantısı yaparken her yere SqlConnectionString yazmak, bağlantı açmak / kapatmak ve daha bir sürü kod yazmak yanlıştır. Bunları bir class içerisine çekip, genel bir hale getirdiğinizde bir kere yazar tüm projede kullanırsınız. C# Class Nedir? Nasıl Kullanılır? ve C# Class Hazırlama Yöntemi – C# Kodları Class’a Çekme yazımda bu dediğim olaydan etraflıca bahsetmiştim. Bir değişiklik yapmanız gerektiğinde class’ı değiştirirsiniz ve tüm projede aktif olur. Diğer türlü o kodları kullandığınız her formu tek tek gezmek zorundasınız.
İşin İlerisi De Böyledir. Bak aşağıda tecrübe ile sabit gelişim süreci yer alıyor.
Tabi ki bu biraz tecrübeye bağlıdır. Ancak 1. maddeden buraya geldiyseniz direk aşağıdaki 4. sorudan başlamanız hiçte zor olmaz.
- Kod çalışıyor mu? Evet. Tamam elleme (50 satır)
- Kod çalışıyor mu? Evet de bu kodlar ne böyle. Gereksiz satırları sil. (35 satır)
- Kod çalışıyor mu? Evet de bu kodu yazan çocuk kör oldu. Gereksiz tüm satırları sil. (17 satır)
bkz. Bu Halıyı Dokuyan Çocuk Kör Oldu - Kod çalışıyor mu? Evet de ağa her yerde bu kod var. Kodları bir class’ a çek. (25 kullanım 25 * 17 satır)
Son hali class içi 25 satır ve 1 satırda çağırma ( 25 * 1 ) + 25 satır = proje genelinde toplam 50 satır. Proje genelinde 25 * 50(ilk hali) = 1250 satırdan 25 + 25 = 50 satıra düşürdük. Yani burada tam olarak 1200 satır kod yazmaktan / kopyalamaktan kurtulduk. - C# CheckState İçin Özel Metod Oluşturmak yazımı inceleyerek yukarıda bahsettiğim maddeleri daha net anlayabilirsiniz.
Buradan dördüncü maddeye atıfta bulunmak istiyorum. Ne demiştik Basit Düşün. Basit Düşün, Az Kod Yaz. Az Kod Yaz, Çok İş Yaptır. ;)
**
Buradan ilk maddeye de atıfta bulunmak istiyorum. Aşağıda atıf amacını açıklıyorum.
Hiç araştırma yapmayan kişi, kendinden çok iyi yazılımcıların yazılarını hiç göremeyecek ve kendi yazdığı kodların on numara olduğunu düşünecek. Kodlar çalıştığı için kendini geliştirmeyecek ve böylece devam edecek. Düşünün bu kodda bir değişiklik yapmanız gerekirse? 50 yerde kullandınız, tek tek oralara gidip tek tek düzelttiniz. Kaç saatinizi alacak?. Proje ilerledikçe değişiklik yapmaktan korkacaksınız ve giderek meslekten uzaklaşacaksınız.
Büyük bir proje yapmış olun. Bir ön muhasebe programı olsun ve her sql işlemi yaptırdığınızda yerde tek tek connection string yazdınız. Bağlantıyı aç, verileri getir, bağlantı kapat yaptınız. bir sebepten ötürü veri tabanı adını değiştirmek istediğinizde çekeceğiniz çileyi düşündünüz mü?
**
C# Class Nedir? Nasıl Kullanılır? yazımda bu kısmı ayrıntılı bir şekilde anlattım. Görmek isterseniz tıklayabilirsiniz. Ancak önce bu yazımı okuyup bitirin daha sonra ilgili yazıya gidin. Daha faydalı olacaktır.
**Yazılıma Başlamak Mı İstiyorsunuz?, Az Kod Çok İş, az bir koda ile maksimum iş yaptır.
Madde 6: Kopyala Yapıştır Hiçbir Şey Çözmez
Profesyonel yazılımcılar bile kopyala yapıştır yapar / yapmaları gerekir.
Ancak kopyalayıp yapıştır yaptıktan sonra kodlar çalışmadı diye o kodları paylaşan adama, (bazı yazılımcılar gibi) küfür yada hakaret etmez. Çünkü profesyonel yazılımcılar bilir ki o kodları kendi projesine uygun hale getirmesi / uyarlaması gerekir. Hatta o kopyaladığı o kodların son hali kopyala/yapıştır yaptığı kodlardan alakasız bir hale gelebilir. Ama o yazılımcı o kodları sindirmiş / öğrenmiş olur.
Kodlar üzerinde çalışacak, uğraşacak ve mantığını anlayacak belki o mantığı kendi yöntemleri ile kendi projesinde kullandığı yazım yöntemime göre yeniden yazacak. Başlıkta dediği gibi kopyala/yapıştır bir şeyi çözmez. O kodları kendi kodlarınıza adapte etmelisiniz.
Şöyle düşünelim… Ben bazı projelerimde teraziden veri okuma işlemi yapmak istediğimden hep ara uygulamalar kullanıyordum ve hep sıkıntılar çekiyordum. Sonra dedim ki ben neden o ara programların kodlarını kendi projeme uygun şekilde yazmayayım? Sonra seri porttan veri okuma konusunu araştırdım. İlk olarak çalışan kodları bir siteden kopyaladım. Baktım çalışıyor mu? Çalışıyor olmadığını gördüğümde (%95 çalışmaz zaten ki ben bundan çok çektiğim için çalıştığından emin olmadığım hiçbir şeyi yani deneyip kullanmadığım hiçbir şeyi paylaşmam) çıkan hatalardan neden çalışmadığını araştırır ve anlamaya çalışırım. Tabi bu sırada bir çok yerden bu işlemi okumuş olurum. En sonunda çalıştırınca kafamda o konu iyice oturur. sonra o kodları siler kendi projeme uygun şekilde tekrar yazarım.
Buradan ilk maddeye atıfta bulunmak istiyorum. Araştırmayı sevmeyen adam için zaten bu madde hükmen geçersiz olur. Kodları çalışıyor diye araştırmayacağı için yani ilk bulduğu çalışan kodları kullanacağı için gereksiz hale geliyor.
Kopyala yapıştır mantığı ile ilgili ayrıntılı yazıma buradan ulaşabilirsiniz.
**Yazılıma Başlamak Mı İstiyorsunuz?, O zaman hep duyduğun Kopyala Yapıştır, Hiçbir Şeyi Çözmez…
Madde 7: Yapmayı SEVECEĞİN alanı belirle
Buraya kadar yazılımcı hayatınızda göreceğiniz/ görebileceğiniz şeylerden bahsedip durdum. Olabildiğince genel konuşmaya çalıştım. Şimdi daha geriye gidiyoruz. Yazılımcı olmaya ilk karar verdiğiniz zamanda, vermeniz gereken ilk karara geldik. Bittabi başladığınız yolda ilerlemek gibi bir zorunluluğunuz yok. Web ile başlar masaüstü ile devam edebilir. Mobil ile başlar oyun ile devam edebilirsiniz. Burası başlama noktanızı belirleme anıdır.
Bir yazılımcı olmak istediğinizde, artık hangi alanda yazılımcı olmak istediğinize karar vermek zorundasınız. Bir başlayalım da gerisi gelir dediğinizde o “gerisi” gelmeyecektir. Sayıp sövüp başka işlere yönelirsiniz. Genel anlamda sektöre bir bakarsak;
- Masaüstü
- Web
- Mobil
- Oyun
- Yapay Zeka
olarak beş ana dala bölünmüş olduğunu görürüz ancak bu genel alanlarda kendi dallarına ayrılmaktadır.
Şu sıralarda Masaüstü Programcılığı geri plana düştü. Çünkü insanlar artık mobil ve web alanına yönelmeye başladı. Ancak sakın üzülmeyin. Bunu artık herkes biliyor ki benzer şeylerden çok farklı şeyler üretilmeli ki tutulsun. Burada sizin hayal gücünüz devreye giriyor. Masaüstü uzun bir süre daha kaybolmayacak. Hala bir şeyler başarabilirsiniz.
Masaüstünden kastım bilgisayarlardır arkadaşlar. Masaüstü bilgisayarlar, dizüstü bilgisayarlar, taşınabilir (tabler, el terminalleri vs) bilgisayarlar, dokunmatik ekran AIO (all in one) bilgisayarlar Genel anlamda düşündüğümüzde iş yerlerinde uzun bir süre kalkmayacak olan bilgisayar çeşitleridir.
Örnek olarak C# programlama dili, Windows var olduğu sürece tamamen boşa çıkmayacaktır.
Bu linkten Yapay Zeka Nedir? Yapay Zekanın Alanları Nelerdir? tanıtım yazısına ulaşabilirsiniz.
Yazılıma Başlamak Mı İstiyorsunuz? O halde neler Bilmelisiniz?
Masaüstü Programcılığında uzmansanız, Web Programcılığı hakkında da bilginiz illaki olacaktır. Olmalıdır!! Yok ise yine üzülmeyin en kısa zamanda Web Programcılığı alanına giriş yapın. Hiç vakit kaybetmeyin!!.
Yeni başlıyorsanız ve bana sorarsanız size mobil alanına ya da yapay zeka alanlarına yönelin derim. Mobil konusunda ilerlediğiniz zamanlarda oyun alanına da yönelmeniz gerekecek/isteyeceksiniz zaten. Dolayısı ile Web alanında da illaki bilgi sahibi olmaya başlayacaksınız. İhtiyaç dahilinde masaüstü programlama alanına da geçersiniz. Ama şu da bir gerçek ki masaüstü alanında uzmansanız artık farklı bir platforma da başlamalısınız. Geç kaldım demeyin, deneyin.
Ek olarak artık Yapay Zeka konusu da bayağı revaçta… Chatbotlar, resim çizen yapay zekalar, resimleri yorumlayan yapay zekalar, resimdeki nesneleri tanıyan zekalar gibi bir çok şey türetilmeye başlandı. Yapay zekanın alt başlıkları olarak bir sürü meslek dalı da var. Makine öğrenmesi, Derin öğrenme, Veri analizi gibi alt alanlar giderek popülerleşiyor. Yapay zeka konusu mobil, web, masaüstü gibi diğer alanlarında içlerine girebilen bir yapıdır.
Yapay zeka alanına girecekseniz belirli bir matematik bilgisi de gerekmektedir. Tam olarak girmek istediğiniz alanı belirleyip öncelikle minimum gereklilik olan matematik bilgisini öğrenmelisiniz.
Üniversitede iken sınıfımda 41 yaşında biri vardı ve okul birincisi olarak mezun oldu. Ayrıca bu siteyi açtıktan sonra bana ulaşan ve fikir veya yardım isteyen çok fazla 40+, 50+ yaş insanlar mail attılar. Yazılımın, daha doğrusu öğrenmenin yaşı yok.
**Yazılıma Başlamak Mı İstiyorsunuz?, O halde bu en mühim konudur. Yapmayı SEVECEĞİN Alanı Belirle…
Madde 8: Asla Pes Etme (Aynısı yapmışlar yaaaa offf deme!)
Yazılıma Başlamak Mı İstiyorsunuz? O halde hangi alanda ilerliyor olursanız olun farklı olduğunuz sürece başaracaksınız. Benzer bir şeylerin içerisinde de farklı olanlardan olmanız gerekiyor. 1. ve 4. maddelere tekrar göz atarsanız ne demek istediğimi net bir şekilde anlayacağınızı düşünüyorum. Diyelim ki süper bir fikriniz var. Etrafınızdakilere danıştınız ve olumlu cevaplar alıyorsunuz. O fikre büyük umutlar bağladınız. “Kesin tutar bu bende parayı kırarım” diye düşünüyorsunuz. Tam kolları sıvadınız araştırmalara başladınız bir baktınız ki “aynısı yapmışlar yaaaa offf” dediniz. Onu gördüğünüz anda başınızdan aşağı kaynar sular dökülmüş gibi bir hisse kapılırsınız ve büyük bir hayal kırıklığı ile karşılaşırsınız. Bunlar her insanın başına gelecek (bence mutlak, yani %100) düşüncelerdir. Eee ne olacak şimdi? O işe, daha başlamadan pes mi edeceksin?
Pes Mi Edeceksin?
TABİKİ DE HAYIR!!!
- Şuan kaç farklı işletim sistemi var?.
- Şuan kaç farklı akıllı telefon markası var?.
- Şuan kaç farklı araba markası var?.
- Şuan kaç farklı beyaz eşya markası var?.
Üstelik düşünün, şu zamanlarda yapılmayan bir şeyler kaldı mı? Ne tür bir şey yapacak olursanız olun, birilerinin onu zaten yapmış olması ihtimali çoook yüksektir. Ancak yine de pes etmemek gerekir.
Herkes aynısının var olduğunu öğrendiğinde aynı hissi yaşamıştır ancak çok azı “Ben daha iyisini yapabilirim!” deyip yola devam etmiş ve başarmıştır. Karşımızdaki ennnnn büyük örnek SpaceX ‘tir arkadaşlar. Adamlar zaten NASA var demedi ve dünyanın ilk ticari uzay şirketi oldular. Farklı olmak zorundasınız. Farklı ve daha iyi…
Belki de biliyorsunuzdur. Zynga Şirketi, bir Türk oyun firması olan Peak Games’i 1.8 Milyar dolara satın almıştı. Neredeyse bir kaç gün sonra yine Zynga, başka bir Türk firması olan Rollic Games’i 168 milyon dolara satın aldı. Birileri bir oyun şirketi kurdu diye, başka birileri oyun şirketi kurmaktan vaz mı geçti?. TABİKİ DE HAYIR! E o zaman sizin yapmanız gereken nedir? Vaz geçmek mi yoksa devam etmek mi?
O zaman ne diyoruz? Yazılıma Başlamak Mı İstiyorsunuz? Asla Pes Etme! Çünkü fırsatın ne zaman karşına çıkacağı belli olmaz.
Ayrıca yine biliyorsunuz ki son yıllarda StartUp’lar yani girişimcilik konusu artmaya başladı. Birileri bir StartUp başlatıyor biraz büyütüyor ve büyük firmalara satılıyor. Üstelik bu satışlardan sonra satılan şirketin yapısı bozulmuyor. Eski çalışanlar hiçbir şey olmamış gibi çalışmaya da devam edebiliyor. Yani en azından ben satış yapıldıktan sonra personelleri dağıtılan bir StartUp görmedim. Kaldı ki zaten mantıksız bir karar olacaktır.
Yazılıma Başlamak Mı İstiyorsunuz – Durma! Yola devam et.
Rakiplerini araştır güçlü ve zayıf yönlerini bul ve her zaman daha iyisi için çabala. Hiçbir başarısızlık kayıp değildir aksine kazançtır. Deneyip kaybetmek, bir açıdan nasıl başarısız olunacağının yeni bir şeklini öğretirken diğer bir açıdan başarmaya giden yolda bir kaç adım daha atmak demektir.
Her ne kadar çok tasvip etmesem de bizde şöyle bir motivasyon cümlesi vardır, “O salak yaptıysa, bende yaparım!”. Evet! Sende yaparsın! Tabiiiii, azmin o yapan kişiden fazlaysa ya da en azından o kişi kadar varsa…
İnsanlar tek olan şeylere kolay kolay yönelmezler. Eğer kendilerine lazım olan şeylerin muadilleri ya da aynı işi, bazı farklarla yapan birileri varsa kendilerini daha rahat hissederler. Çünkü, bir sorun yaşadıklarında birinden vazgeçme ve diğerlerini deneme şansları çok yüksektir. Sektörde tek olan bir işin kalitesi, mudaili çıkana kadar pek anlaşılmaz değil mi? Sonuçta kalite dediğimiz kavram aslında rakiplerin arasından sıyrılabilme gücüdür.
Örnek olarak arabaları ele alalım. Lüks araç üreten kaç firma var? Çok değil mi? Diyelim siz bir Mercedes aldınız ama servislerini beğenmiyorsunuz. Ama lüks araçta sizin için bir gereklilik olsun. Piyasa da başka lüks araç olmasa ne kadar rahatsız hissedersiniz? Ancak lüks araç satan tek firma olmadığından servisleri daha iyi olan başka bir firmadan araç alabilir ve rahat edebilirsiniz. Umarım yeterince açık olmuştur.
**Yazılıma Başlamak Mı İstiyorsunuz?, Yok, hayır, bu başlık yaptığın her şey için çok mühim. Asla Pes Etme
Madde 9: Paylaşmayı Unutma
Yazılıma Başlamak Mı İstiyorsunuz? O halde yazdığınız kodları kendinize saklamanız sizi asla ilerletmez. Asla ve asla bir profesyonel olamazsınız. Ne kadar çok şey bildiğiniz, neler paylaştığınızla ölçülebilir. Hiçbir şey paylaşmayan bir insanın profesyonel olduğunu nereden anlayacaksınız? Yazdığı kodları çeyizine saklayan insanlar benim gözümde hiçbir zaman profesyonel değil ve olamaz.
Elbette herkesin sakladığı bir takım şeyler vardır. Ve, evet benimde var. Hiçbir şeyi saklamayacaksın diye elbette bir şey demiyorum, diyemem de. Yazdığım bazı sql sorgularını ve bazı class’larımı elbette paylaşmıyorum çünkü o paylaşmadığım şeyler benim yıllarca verdiğim emeğin karşılığında kazanç elde ettiğim bilgiler. Elbette o bilgileri öylece paylaşamam. Ancak sitemde biraz gezindiyseniz göreceksiniz. Şuanda C# eğitim setimde tam olarak 93 160 302 320 tane dersim var.
Bu dersleri inceleyenler bu maddeye istinaden yazım altına yorum atabilirlerse çok memnun kalırım.
Bir çok siteye göre benim anlatımım deneyimlerinden gelen şeyler. Yazdığım yazılarda deneyimlerimden elde ettiğim püf noktalar ve çoğu kişini anlatmadığı şeyler bulunmaktadır. Paylaşmak güzeldir arkadaşlar. İnsanların size teşekkür etmesi, bir yerde birilerine faydanız olması güzel şeylerdir. Zaten bir yazılımcıysanız herhangi bir platformda bildiklerinizi paylaşmalısınız ki, bir işe başvurduğunuzda sizin bilgili biri olduğunuzu paylaşımlarınızdan anlayabilsinler. Bilgilerinizi ve deneyimlerinizi çeyizinize saklıyorsanız insanlar sizi nasıl bulacaklar?
Yada direk şöyle söyleyeyim. Google’a ad ve soyadınızı yazdığınızda çıkan şeyler aslında sizi temsil eder. Mustafa BÜKÜLMEZ, Türkiye’de tek olan bir isim değil. En baştan dedemin adı da Mustafa BÜKÜLMEZ. Ayrıca Mustafa BÜKÜLMEZ adında 3, 4 kişi daha var. Siteme ilk başladığımda Google’nin ilk sayfasında benimle ilgili bir tane link vardı. Ama şimdi İlk sayfayı resmen ele geçirdim. :D Bu benim sanal CV’im değil de nedir? Bu site bir CV’dir, Github profilim bir CV’dir. Hazırladığınız bir CV’ye ileri düzey C# yazabilirsiniz belki de gerçekten o düzeydesinizdir ama Google’de adınız yazıldığında ” ileri düzey C#” bilginiz hakkında bir sonuç çıkmıyorsa CV’nize yazdıklarınız hava cıva kalmaz mı?
Şimdi hemen bir deneme yapın. Açın Google’yi ve kendi adınızı yazıp aratın. Hakkınızda neler çıktığı, sizi kişisel olarak tanımayan kişilerin sizin hakkındaki ilk izlenimlerinin nasıl olacağını bir düşünün.
Şahsen, Google’de Mustafa BÜKÜLMEZ yazdığımda çıkan sonuçlardan memnunum. Benim bir yazılımcı olduğum ve bu konuda bilgili olduğum açık ve nettir. Gerçi birden fazla Mustafa BÜKÜLMEZ olması aramalarda diğerlerinin çıkmasına da neden oluyor ama sorun değil. En azından ilk sayfanın neredeyse tamamı bana ait :D
Kendimden Örnek Vereyim;
Sitemi açmadan önce blogspot sitemde ve sanalkurs.net üzerinde yüzün üzerinde ders yayınladım. Sonra madem yazıyorum ve yazmayı da seviyorum o zaman neden kendi sitemi açmayayım dedim. Sitemi açtığımda ise bu yazılarım üzerine daha fazla bilgi ekleyerek ve yenileri ile birlikte sitemde topladım. Şimdi ben, bir iş başvurusuna gittiğimde bir kağıt olarak cv vermek yerine sitemi CV olarak gösteremez miyim? (Ama maalesef hala pdf yada kağıt üzerinde CV istiyorlar…)
Forum sitelerinde sorulan sorulara cevap verin, eğitim sitelerinde yazılar paylaşın, size mail atarak ulaşan insanlara yardımcı olun. Sadece birilerinin sorduğu sorulara yardımcı olmanız bile sizi geliştirecektir.
Paylaşın, paylaşmak güzeldir. Sizi insan yapar… Bilginin zekatı paylaşmaktır…
“Bir mum başka bir mumu yakmakla ışığından bir şey kaybetmez” demiş Mevlânâ Celâleddîn-i Rûmî ne de güzel demiş. Bende bu söze nacizane bir cümle daha eklemek istiyorum. “Aksine çevremiz daha aydınlık olur”
** Yazılıma Başlamak Mı İstiyorsunuz?, O halde sakın ha Paylaşmayı Unutma
Madde 10 : Bildiğinle Yetinme, Bir Yerde Çakılı Kalma
Yazılıma Başlamak Mı İstiyorsunuz? o zaman, ne kadar çok şey bilirsen bil. Asla o kadarı ile yetinme. C# biliyorsun diye C# ile yetinme. ASP.Net biliyorsun diye ASP.Net ile yetinme. Yeni teknolojileri, yeni programlama dillerini öğren. Bildiğin şeyler zamanla değişebilir. Sende değiştirmelisin. Sende değişmelisin. Bir yerde çakılıp kalmamalısın. Sen ilerlemezsen, herkes seni geçer.
Hiçbirimiz ağaç değiliz. Beynimiz bir ağaç değil. O halde neden kendimizi bir yere çakıp orada bekleyelim. Zaman geçerken, yeni şeyler sürekli ortaya çıkarken biz neden eskilerde kalalım. Hangi işi yaparsak yapalım bildiğimizle asla yetinmemeliyiz. Sektördeki bu işi yapan kişilerle konuşun, okul zamanlarında öğrendiklerinin hangilerini şu anda aktif kullanıyorlar?
Özellikle yazılım sektöründe bir kişi çıkıp da ben C#’ta uzmanım diyemez. Çünkü programlama dillerinde kütüphaneler vardır. Her kütüphane yeni bir boyut gibidir. En basitinden C#’ta DATA ile uğraşacaksanız System.Data kütüphanesi gereklidir. Bu System.Data kütüphanesi içerisinde de bir sürü kütüphane vardır ve onların içlerinde de kütüphaneler olabilir.
Bu şekilde, belki de binlerce kütüphanesi olan bir programlama dilinde kim nasıl uzman olabilir? Mümkün değil. Sadece kendi alanında uzman olabilir. Örneğin bir kişi Görüntü İşleme konusunda uzman olabilir. DATA konusunda uzman olabilir ama her kütüphanede uzman olamaz.
“Ben artık bu programlama dilinde uzman oldum!” cümlesi, senden bulunduğun yere bir kök salar. Bu cümleyi her kullandığında bir kök daha salarsın. Artık bilinç altına da işlediğinde o noktadan ayrılman çok zordur. İnanın çok zordur. Ben bu hatayı yaptım. Benden atılan kökleri kurutan şey bu cümleyi her kurduğumda, yüzüme yediğim “Nah biliyorsun!” tokadı oldu. Elbette bu tokat sektörde çalışmaya devam ettikçe geldi. Zamanla daha büyük ve kapsamlı projelere giriştikçe aslında ne kadarda bilgisiz olduğumu fark ettim. İşte bu yediğim manevi tokatlar, benden salınan kökleri teker teker kuruttu. İyi ki de kuruttu.
Yazılıma Başlamak Mı İstiyorsunuz? O halde egolarınızı susturup, bildiklerinizi konuşun.
Bu sebeple bildiğimizde asla yetinmemeliyiz. Hep daha fazlasını öğrenmeyi arzulamalıyız. Yeni programlama dilleri öğrenmeyi arzulamalıyız. Yeni teknolojileri öğrenmeyi arzulamalıyız. Yeni metotları öğrenmeyi arzulamalıyız.
Şu zamanda bir aşçının bile kendisini geliştirmesi gerektiğini göz önüne alırsak; teknoloji ile uğraşan bizlerin, kendimizi geliştirememesi nasıl bir saçmalık olurdu?
Kök salmamız sadece içinde olduğumuz sektörde kabul edilebilir. O sektöre kök salıp o sektörde bir iz bırakmak, o sektöre yeni girenlere yardımcı olup gölgemizden ve meyvelerimizden faydalanmalarını sağlayabilmek… Bana sorarsınız asıl tatmin işte burada…
** Yazılıma Başlamak Mı İstiyorsunuz?, heh, o zaman bu konu hayat kurtarır. Aslında hayatını devam ettirir. Bildiğinle Yetinme, Bir Yerde Çakılı Kalma
Son olarak da buraya bir video bırakayım. Hayata bakış açınızı biraz değiştirecek bir video olduğuna inanıyorum. Konu stres ama bu başlığa da uyduğunu düşünüyorum.
Yazılıma Başlamak Mı İstiyorsunuz? O halde, Son Sözlerim
Yazılıma Başlamak Mı İstiyorsunuz? O halde bu 10 maddeye dikkat etmelisiniz. Unutmayın bu maddeler sizi yazılımcı yapmayacak. Yani bu yazının sonunda bir yazılımcı olmayacaksınız. Sadece yazılımcı olmanın temellerini göreceksiniz. Bu temeller ile başladığınızda ise sağlam temeller ile başlayacaksanız.
Programlama kategorisindeki diğer yazılarım için tıklayınız.
Yazılıma Başlamak Mı İstiyorsunuz? Görmeniz Lazım! yazımda bu kadar dostlarım. Bu yazımı zamanla güncelleyeceğim. Bu sebeple bu yazıyı özellikle takip edebilirsiniz. Sağlıcakla ve takipte kalın. ;)
Bu yazımı buraya kadar okuma azmi gösterdiyseniz ve gerçekten faydalı olduğunu düşündüyseniz, yazımı yazılıma sıfırdan başlamak isteyenlere paylaşarak bana hem de çevrenize yardımcı olabilirsiniz. Yazılıma Başlamak Mı İstiyorsunuz? yazım sürekli olarak güncellenmektedir. Aşağıda güncelleme geçmişini görebilirsiniz.
Yazılıma Başlamak Mı İstiyorsunuz yazısının Güncelleme Geçmişi
- İlk Yazım: 27.12.2017
- Yayınlama: 20.01.2018
- Güncelleme 1: 12.11.2018
- Güncelleme 2: 26.08.2019
- Güncelleme 3: 28.08.2019
- 10. Madde ve Son Sözlerim eklendi
- Güncelleme 4: 22.09.2020
- Tüm başlıkların açıklamalarına yeni notlar ve bilgiler eklendi. Sitedeki diğer yazıların linkleri verilerek anlatımlar güçlendirilmeye çalışıldı.
- Güncelleme 5: 02.05.2021
- Bazı maddelere ekstra açıklamalar eklendi. Bazılarına bir kaç paragraf, bazılarına bir kaç cümle. (Sözleşmenin önemi kısmı en önemeli kısmı… )
Selam. Bu bayram günü ne güzel geldi bu güzel yorumunuz.
Ben her yazımda bildiklerimi paylaşmaya özen gösteriyorum. Yani gerçekten deneyimlemediğim konuları pek yazmıyorum.
Özellikle bu yazı %100 kendi deneyimlerimden geliyor. Yazılıma ilk başladığım günden bu güne kadar yaşadıklarımı ve gördüklerimi yazabildiğim kadar ayrıntılı yazmaya çalıştım. Yazılarımın Türkiye’yi aşıp sizlere kadar ulaşmış olması da beni ayrıca mutlu etti.
Teşekkürler.
Salam, əllərinə sağlıq, verdiyin dəyərli məlumatlara və xoş niyyətinə görə, C#-ı örgənməyə başlayanda bu yazın qabağıma çıxmışdı, o zaman proqramlaşdırmayla bağlı çox məlumatım yox idi deyə məqaləni yarıya kimi oxumuşdum, amma xoşuma gəlmişdi. Bu aralar bir müddət C#-la məşğul oldum və daha çox bilgim olduqdan sonra təkrar yazınızla qarşılaşdım və oxudum, iş yerindəki bəzi təcrübələrimlə və mənim fikirlərimlə dedikləriniz üst-üstə düşdü, və yenə çox xoşuma gəldi məqaləniz. Proqramlaşdıramaya yeni başlayan bir dostuma göndərdim ki, o da faydalansın. Təkrar təşəkkürlər!!!
Mustafa kardeşim öncelikle bu yazı için çok teşekkür ediyorum. ben 42 yaşındayım. 1998 senesinden beri çoğu zaman bilişimin ile iç içeyim. yazılarını okurken bu zaman zarfında yaşadığım zorluklar ve çözümlemelerimin bir özeti olarak gördüm. çünkü yazdığın makale bence hayat felsefesi ve hayata bakış açısıdır. sorunların en mantıklı çözümlemeleridir. zaten yazılım olayı da hayatın mantık içerisindeki işleyişidir. gw basic ten başlayıp c#’ ta amatörce halen yazılım yapmaya çalışmaktayım. şu 10 maddelik yazındaki bütün maddeleri yaşayarak pes etmeden, araştırarak ve uygulamaktan vazgeçmeden devam etmekteyim ve de uzun süre devam edeceğim inşallah.
Bu yazdığın makale sürekli okunması gereken, ara ara motivasyonu düşen arkadaşların tekrar tekrar okuması ve her okuduğunda farklı düşüncelerle çözüm üreteceğine inandığım bir makaledir. Tekrar teşekkür eder hayatında başarılarının devamını dilerim.
Bu harika ve motive edici yorumun için bende çok teşekkür ederim. Bu yorumundan bu yazının amacına ulaştığımı anlıyorum. Yardımcı olabildiğime çok sevindim. Takıldığın noktalarda gmail adresime mail atmaktan çekinme. Takıldığın yerde yardımcı olmak olsun, akıl danışmak olsun elimden geldiğinde yardımcı olmaya çalışacağım.
Yazılım hayatında başarılar dilerim.
Emek verip zaman ayırıp bu yazıyı yazdığın için com tesekkurler mustafa kardeşim inan okadar makale ve yazı okudum senin yazın kadar samimi bulmadım . çok iyi geldi bana yazılım konusuna kafa yoralı 2 gün oldu , 30 yaşındayım henüz yola çıkmış değilim senin sayende o yola cıkmaya buyuk bir azimle hazırlanıyorum hayatında başarılar diliyorum kardeşim çok tesekkürler sayfanı favorilerime ekliyorum sanırım artık buralarda olacağım sağlıcakla kalman dilekleri ile .
Faydalı olmasına çok sevindim. Güzel yorumunuz için de teşekkür ederim :)
Bu yazıyı okuyanlar aslında benim yazılım mesleğini yapmaya karar verdiğim günden sonraki yaşadıklarımın bir özetini okuyorlar. Bu yazıyı 2016, 2017 yıllarında başka bir sitede yazmıştım. Kendi sitemi açınca da buraya güncelleyerek eklemiştim. Hala da ara arada açar güncellerim.