Yazılıma Başlamak Mı İstiyorsunuz? Görmeniz Lazım!

Yazılıma Başlamak Mı İstiyorsunuz? Görmeniz Lazım!

20 Ocak 2018 8 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 2039
Yaklaşık okuma süresi : 23 DK
Visual Studio Nedir?
Visual Studio Kısayollarını Biliyor Musunuz?

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.

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…

 

Advertisements

Madde 1: Araştır, Araştır Ve Araştırmayı Sev

araştır araştırmayı sev

Araştırma yapmadığın sürece kendini geliştirmen imkansız. Hemde 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 zamanAraştır, Araştır ve Araştırmayı Sev….


Madde 2: Yaz Sil, Yaz Sil, Yaz Sil 

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. Sonradan gerekli olmadığını düşünüp silmiştim.

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

önce düşün sonra yaz

Dşünce şeklinizi güzel bir düzene sokmanız gerekiyor. Tabi bu 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ı olunur” 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.

İlgili İçerik  C# Mouse Koordinatlarını Almak

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.

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;

  1. Düşün / Planla
  2. İstekleri incele ve istekler hakkında kafana takılan her şeyi sor.
  3. Tekrar düşün / Tekrar Planla.
  4.  Kafanda soru işareti kalmayana kadar aklındaki tüm soruları sor.
  5.  Kafanda projeyi tasarla – Gerekirse kağıt üzerinde yaz, çiz.
  6.  Kullanacağın formları kafanda hazırladığın tasarıya göre ayarla.
  7. İstenilen yetkilendirme şeklini tasarla. (Bu yeni maddedir ve önemlidir.)
  8.  Kodlarını yazmaya başla. (Database tablolarını hazırlamakta bu aşamada).

Fromları tasarladıktan sonra veritabanını açma taraftarıyım. Yaptığım tasarımı kafamda ilişkilendiriyorum. Sonra veritabnını ayarlamaya başlıyorum. İllaki gözden kaçanlar oluyor ama geri dönüş süreci de min seviyede oluyor.

Bu yada buna benzer bir sıralama ile başlamazsan ve devam etmezsen o projenin sonu gelmeyecektir. Gelse bile sizi projeden hatta belki 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, 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…

“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.

**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

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 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 anlamayabilir. O yüzden yapabildiğin en basit halinde yapman gerekir.

Unutma, o projeyi sen yazdığın için ve neyin nerede olduğunu çok iyi bildiğin için 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 felsefemdir. 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 ise o kadar zor biter.


Madde 5: Az kod çok iş

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 gibi seçimler yapılması gerekecektir. Şimdi düşünün, fatura düzenlerken, irsaliye düzenlerken, tahsilat yaparken cari 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, hemde 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?

Bunun bir adım daha ilerisinde hem personel seçim, hem departman seçim hemde 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.

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. Bu 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ü 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.

  1. Kod çalışıyor mu? Evet. Tamam elleme (50 satır)
  2. Kod çalışıyor mu? Evet de bu kodlar ne böyle. Gereksiz satırları sil. (35 satır)
  3. 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
  4. 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.
İlgili İçerik  SQL Other Functions - Diğer Fonksiyonlar

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ğıdaki 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.

**

C# Class Nedir? Nasıl Kullanılır? yazımda bu kısımı 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

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, yeni 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.

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 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 Şey Çözmez…


Madde 7: Yapmayı SEVECEĞİN alanı belirle

Yapmayı SEVECEĞİN alanı belirle

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;

  1. Masaüstü
  2. Web
  3. Mobil
  4. Oyun
  5. 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.

Örnek olarak C# programlama dili, windows var olduğu sürece tamamen boşa çıkmayacaktır.

Bu linktenYapay Zeka Nedir? Yapay Zekanın Alanları Nelerdir? tanıtım yazısına ulaşabilirsiniz.

Neler Bilmeliyiz?

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 gibi bir çok şey türetilmeye başlandı. Yapay zeka’nı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. 

**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!)

asla pes etme

 

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 var?.
  • Şuan kaç farklı araba 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.

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.

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. Tabi 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.

Ö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 rahat edebilirsiniz. Umarım yeterince açık olmuştur.

İlgili İçerik  ERP Nedir? Neden Kullanılmalıdır?

**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

Paylaşmayı Unutma bilgini paylaş

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 olamaz.

Elbette herkesin sakladığı bir takım şeyler vardır. Ve, evet benimde var. Hiçbir şeyi saklamayacaksın diye elbette bir şey demiyorum, diyememde. 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 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 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?

Kendimden Örnek Vereyim;

Sitemi açmadan önce blogspot sitemde ve sanalkurs.net üzerinde yüzlerce ders yayınladım. 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?

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.

Ş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 😀

Paylaşın, paylaşmak güzeldir. Sizi insan yapar…

**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

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. Bir yerde çakılıp kalmamalısın.

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 olan 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ıpta 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. 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 azrulamalı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 sektörde olabilir. O sektöre kök salıp o sektörde biz iz bırakmak, o sektöre yeni girenlere yardımcı olup gölgemizden ve meyvelerimizden faydalanmalarını sağlayabiliriz.

**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


 

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ı zamanda 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ı paylaşarak bana hemde ç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.

  1. İlk Yazım: 27.12.2017
  2. Yayınlama: 20.01.2018
  3. Güncelleme 1: 12.11.2018
  4. Güncelleme 2: 26.08.2019
  5. Güncelleme 3: 28.08.2019 – 10. Madde ve Son Sözlerim eklendi
Visual Studio Nedir?
Visual Studio Kısayollarını Biliyor Musunuz?