Hakkımda

Merhaba! Ben Cenk Şener. Ağırlıklı olarak Microsoft teknolojilerini kullanarak web uygulamaları geliştiren bir yazılım geliştiriciyim. Bu yazı; hakkımda yazısı ile CV karışımı bir yazı olacak. Her ne kadar “hakkımda” ve “CV” kavramları benzer kavramlar olsa da CV denilince; resmi bir dilin kullanılması gerektiği algısı oluşuyor bende. Bu tarzda bir yazı için daha doğal ve samimi bir dil kullanmayı tercih ederim.

1991 yılında Kocaeli’de doğdum. Ancak liseyi Çanakkale’de okuduğum için ve şehri de benimseyip sevdiğimden dolayı, yeni tanıştığım birisi nerelisin diye sorarsa “Çanakkaleliyim” cevabını veriyorum. Çanakkale, Türkiye’nin en yaşanılabilir şehirlerinden birisi bence. Çocukluğumdan beri bilgisayarı yoğun bir şekilde kullansam da, üniversiteyi kazanana kadar bilgisayar kullanmam hep eğlence amaçlı oldu. Oyun oynamak, film izlemek veya internette gezinmek gibi şeyler… Aslında lise yıllarında iken yazılım geliştirici olmaya karar vermiştim ama bu doğrultuda harekete geçmem üniversiteyi kazanmamla başladı.

2009 yılında Çanakkale Fen Lisesi’nden mezun oldum. Yıldız Teknik Üniversitesi Matematik Mühendisliği bölümünü kazanarak İstanbul’a geldim. Kendisi de bir yazılımcı olan kuzenimin tavsiyesi üzerine C ve Sistem Programcıları Derneği’nden (kısaca C Derneği diyoruz) programlama eğitimleri almaya başladım. 2009 – 2016 yılları arasında C Derneğinden 9 farklı eğitim aldım. Linkedin profilime bakarak hangi eğitimleri aldığımı görebilirsiniz. C derneğine giderek sistematik bir eğitim almanın kendim için yaptığım en faydalı yatırımlardan birisi olduğunu düşünüyorum.

Bilmeyenler için C Derneği 1993 yılında kurulan ve başta sistem programlama alanı olmak üzere programlama eğitimleri veren bir dernek. Bu alanda Türkiye’de bulunan en yetkin kurumdur. Yüzlerce firmaya danışmanlık ve eğitim vermiştir ve halende vermektedir. Kaan Aslan, Ali Vefa Serçe, Necati Ergin gibi efsanevi eğitmenlere sahiptir. Dernek hakkında daha fazla bilgi almak ve açılan kursları incelemek isterseniz Csystem.org adresini ziyaret edebilirsiniz.

Her ne kadar ilk yazılım eğitimimi 2009-2010 yıllarında almış olsam da; o yıllarda, iyi bir yazılım geliştirici olmak için çok sıkı çalışmam gerektiğinin bilincinde değildim. Yazılım dünyasının bu denli büyük olduğunun farkında da değildim. Yalnızca kursa gidiyordum ve kurs haricindeki vaktimin çok küçük bir kısmını yazılım öğrenmek için harcıyordum. Ancak yine de yaşımdan dolayı erken sayılabilecek bir dönemde “Programlamaya Giriş”, “C Programlama Dili” gibi eğitimleri almış olmam ileriki yıllar için çok iyi bir altyapı hazırladı. Daha sonraki dönemlerde yazılım alanında sistematik ve yoğun bir çalışmaya başladığımda önceden aldığım bu kursların faydasını gördüm.

Profesyonel anlamda tüm vaktimi yazılım geliştirmeye ayırmam ve sistematik bir şekilde çalışmaya başlamam 2014 yılını buldu. 2014’ün yaz aylarından beri severek ve yüksek bir motivasyon ile yazılım geliştirme alanında çalışıyorum. Yaptığım işi kesinlikle bir “iş” olarak görmüyorum. Yazılım alanında bir şeyler üretmek, öğrenmek, kendini geliştirmek vs. tüm bunlar benim için bir hobi. Özellikle web uygulamaları geliştirme kısmı en keyif aldığım alan.

Bir web uygulaması geliştireceğim zaman kullandığım teknolojiler şu şekilde;

  • Backend tarafında .NET Core 3, .NET 5, ASP.NET Core Mvc gibi teknolojileri ve C# programlama dilini kullanıyorum.
  • İlişkisel veritabanı olarak MySQL, PostgreSQL veya SQL Server kullanıyorum. Ancak son zamanlarda çoğunlukla PostgreSQL kullanmaya başladım. ORM aracı olarak Dapper kullanmayı tercih ediyorum.
  • NoSQL çözümü olarak genelde MongoDB ve Redis’i kullanıyorum. Tabii ki bu durum projenin ihtiyaçlarına göre değişiyor.
  • Bulut bilişim çözümleri için AWS (Amazon Web Services) kullanıyorum. Çoğunlukla AWS’nin, RDS veya S3 gibi %100 olarak yönetilen servilerini kullanmayı tercih ediyorum. Eğer bir sanal sunucu oluşturacaksam ve kendim yöneteceksem bu durumda AWS yerine Vultr veya UpCloud gibi firmaları tercih ediyorum.
  • Frontend tarafında ise bilindiği gibi HTML, CSS ve JavaScript dillerini yoğun olarak kullanıyoruz zaten. Ayrıca Css Framework’ü olarak TailwindCss’i de çok seviyorum. Tema giydirme konusunda da epeyce bir tecrübem var.
  • Bir de kimsenin dilinden düşürmediği JavaScript frameworkleri konusu var. Yalnızca ihtiyaç dahilinde Vue.js kullanıyorum. Zaten ASP.NET Core gibi şahane bir teknolojiyi kullandığımız için, elimizde Razor gibi güçlü bir view engine mekanizması var. Bu nedenle bir uygulamanın önyüz kısmının tamamını bir JavaScript framework ile gerçekleştirmek zorunda değiliz. “Frontend bilmek” kavramı bir JavaScript frameworku bilmek anlamına gelmiyor.

Yukarıdakilerin haricinde geçmişte Java, Php, C ve Swift gibi dillerde de kod yazmışlığım var. Ancak bunlar kısa dönemli veya eğitim amaçlı çalışmalar olduğu için belirtme gereği duymadım. Aynı şekilde Linkedin profilimde de yer vermedim. Belirli bir alandaki yetkinliklerimizden bahsederken gerçekten tecrübeli olduğumuz konuların söylenmesi gerektiğini düşünüyorum.

İş geçmişimden ve çalışma şekillerinden bahsedecek olursam;

  • freelance olarak,
  • şirket bünyesinde eleman olarak,
  • proje bazlı olarak bir şirket bünyesinde,
  • ve kendi startup projemde

çalışma tecrübem oldu. Çalıştığım bu süreler boyunca çoğunlukla (%80 diyebilirim) uzaktan (remote olarak) çalıştım. Günümüzde zaten salgın sebebi ile uzaktan çalışmak bir standart haline geldi. Salgın sonrasında da yazılım sektöründe uzaktan çalışma kültürünün aynı şekilde devam edeceğini düşünüyorum. Çalışmaktan en fazla keyif aldığım projeler; A’dan Z’ye sıfırdan bir ürün ortaya çıkardığım projeler. Eğer kurumsal ve büyük bir firmada çalışıp, 10-15 yıllık projeler ile ilgilenmek zorunda kalsaydım muhtemelen pek mutlu olmazdım. O nedenle yeni bir iş veya projeye başlarken “Ben bu işten keyif alır mıyım?” diye kendime soruyorum. Sonuçta yazılım işini sevdiğim için yapıyorum ve yalnızca para kazanmak için keyif almadığım bir projede yer almayı istemem.

Yazılım geliştirmenin dışında bahsetmek istediğim bir de eğitmenlik konusu var. Udemy üzerinde yayınladığım Sistematik ASP.NET Mvc (.NET Framework + .NET Core + C#) isminde bir kursum var. Sürekli olarak güncelliyorum. Microsoft teknolojilerini kullanarak nasıl web uygulamaları geliştirilebildiğini anlatan bir kurs. Aslında birilerine bir şeyler anlatma durumu benim için udemy ile başlamış bir şey değil. Bildiğim bir konuyu karşımdaki insana çok iyi bir şekilde anlatabilirim. Bu durum ortaokulda, lisede veya üniversitede de böyleydi. Aklımda uzunca süredir yazılım eğitimi oluşturma fikri vardı. Çünkü internette var olan pek çok yazılım eğitiminin yeterince iyi olmadığını düşünüyorum. Eğitim henüz tamamlanmış değil, ancak tamamlandığında bu alanda oluşturulmuş en iyi Türkçe eğitimlerden birisi olacak.