bg-top
Fikirden çalışan ürüne

Hakkımda

Web geliştirme, tasarım, SEO ve sunucu yönetimini gerçek projeler üzerinden ele alan bağımsız bir geliştiriciyim.

Ben Yaman Hacıoğlu.

Web dünyasıyla tanışmam 1999 yılına dayanıyor. O dönemlerde bugünkü hazır sistemler, birkaç komutla kurulan geliştirme ortamları veya dakikalar içinde sayfa oluşturan araçlar yoktu. Bir şeyi öğrenmenin en yaygın yolu merak etmek, kurcalamak, bozmak ve tekrar yapmaktı.

Benim yolculuğum da tasarımla başladı.

İlk yıllarda daha çok bir web sayfasının nasıl göründüğüyle ilgileniyordum. Renkler, görseller, tipografi ve yerleşim benim için işin merkezindeydi. Zaman içinde güzel görünen bir arayüzün tek başına yeterli olmadığını fark ettim. Tasarladığım şeylerin yalnızca ekranda durmasını değil, gerçekten çalışmasını istiyordum.

2017 yılından itibaren programlama, yaptığım işlerin daha büyük bir parçası hâline geldi. PHP ve Laravel ile başlayan bu süreç; Livewire, Alpine.js, Filament, WordPress ve farklı frontend teknolojileriyle gelişmeye devam etti.

Bugün kendimi yalnızca tasarımcı veya yalnızca yazılımcı olarak tanımlamakta zorlanıyorum. Çünkü yaptığım iş çoğu zaman bu iki alanın çok daha ötesine geçiyor.

Bir Projeye Yalnızca Kod Olarak Bakmıyorum

Bir web projesi benim için birkaç sayfadan, bir yönetim panelinden veya çalışan formlardan ibaret değil.

Tasarımın iyi görünmesi kadar anlaşılır olması, yazılımın çalışması kadar sürdürülebilir olması, sitenin yayına alınması kadar yayında sorunsuz kalması da önemli. Kullanıcı deneyimi, performans, içerik yapısı, SEO altyapısı ve sunucu tarafı birbirinden bağımsız konular değil.

Bu nedenle bir projeye başladığımda yalnızca “Hangi teknolojiyle geliştireceğim?” diye düşünmüyorum.

Öncelikle projenin neyi çözmesi gerektiğine bakıyorum. Kim kullanacak, hangi bilgiler yönetilecek, süreç nerede başlayıp nerede tamamlanacak ve proje büyüdüğünde mevcut yapı bunu taşıyabilecek mi?

Bazen müşterinin istediği şeyle gerçekten ihtiyaç duyduğu şey aynı olmayabiliyor. İstenen özellik teknik olarak yapılabilir olsa da kullanıcı açısından gereksiz olabilir. Basit görünen bir talebin arkasında ise daha kapsamlı bir iş süreci bulunabilir.

Bu noktada kod yazmaya başlamadan önce doğru soruları sormanın önemli olduğuna inanıyorum. Çünkü yanlış anlaşılan bir problemi kusursuz kodla çözmek, ortaya doğru bir ürün çıkarmıyor.

Tasarımdan Sunucuya Uzanan Bir Çalışma Alanı

Çalışmalarımın merkezinde PHP ve Laravel bulunuyor. Laravel, Livewire, Alpine.js ve Filament kullanarak kurumsal web uygulamaları, yönetim panelleri ve iş süreçlerine özel yazılımlar geliştiriyorum.

Ancak projenin ihtiyacına göre WordPress, Bootstrap, Tailwind CSS, jQuery ve farklı araçlarla da çalışıyorum. Benim için kullanılan teknoloji, projenin amacı değil; doğru sonuca ulaşmak için seçilen araçtır.

Geliştirdiğim projeler yalnızca kurumsal web sitelerinden oluşmuyor. Gayrimenkul platformları, hukuk ve dosya yönetim sistemleri, rezervasyon uygulamaları, saha operasyon yazılımları, ürün yönetimi, çok dilli içerik sistemleri ve farklı sektörlere özel yönetim panelleri üzerinde çalıştım.

Bu projelerde kullanıcı ve rol yönetimi, ödeme sistemleri, çoklu dil, raporlama, görsel işleme, API bağlantıları, queue işlemleri, bildirimler, SEO yönetimi ve üçüncü taraf entegrasyonlar gibi birçok farklı ihtiyacı ele aldım.

İşin sunucu tarafı da çalışma alanımın önemli bir parçası.

Bir uygulamayı geliştirmek kadar onu doğru ortamda yayına almak, PHP ve web sunucusu yapılandırmalarını düzenlemek, Supervisor ile kuyrukları yönetmek, performans sorunlarını incelemek ve e-posta teslimat problemlerini çözmekle de ilgileniyorum.

cPanel, WHM, CWP, Ubuntu, Apache, Nginx ve LiteSpeed kullanılan farklı sunucu ortamlarında çalışıyorum. Bazen günün büyük kısmı yeni bir özellik geliştirmekle geçerken bazen de gönderildiği hâlde Gmail’e ulaşmayan bir e-postanın veya silinmesine rağmen görüntülenmeye devam eden bir görselin peşinden gidiyorum.

Gerçek projelerin doğası biraz böyle. İş her zaman planlandığı sırayla ilerlemiyor.

Tasarım Benim İçin Hâlâ İşin Temelinde

Yazılım geliştirmeye ağırlık vermiş olmam, tasarımdan uzaklaştığım anlamına gelmiyor.

Bir arayüzün teknik olarak doğru çalışması benim için yeterli değil. Boşlukların, oranların, tipografinin ve içerik sırasının da doğru görünmesi gerekiyor. Kullanıcı yazdığımız kodu görmüyor ama düzensizliği, sıkışıklığı ve bir şeylerin yerinde olmadığı hissini hemen fark ediyor.

Bu yüzden geliştirdiğim projelerde tasarım ile kodu birbirinden ayrı değerlendirmiyorum.

Hazır bir tema kullanılmış olsa bile gerçek içerik eklendiğinde neye dönüşeceğine bakıyorum. Türkçe başlıklar uzadığında kartların nasıl davranacağını, farklı görsel oranlarının düzeni nasıl etkileyeceğini ve mobil ekranda içerik sırasının anlamlı kalıp kalmadığını kontrol ediyorum.

Bazen birkaç CSS düzenlemesi sorunu çözüyor. Bazen de mevcut yapıyı yamamaya devam etmek yerine ilgili bölümü baştan yazmak daha doğru oluyor.

Tasarım tarafında yıllar içinde değişmeyen yaklaşımım şu oldu: Bir şeyin yalnızca güzel görünmesi yetmez. İçeriği doğru taşıması ve kullanıldığı koşullara dayanabilmesi gerekir.

SEO’yu Projenin Sonunda Hatırlamıyorum

SEO, çoğu projede site tamamlandıktan sonra eklenecek ayrı bir çalışma gibi görülüyor. Bana göre bu yaklaşım, daha sonra çözülmesi gerekmeyen birçok sorunu en başta oluşturuyor.

Sayfa yapısı, bağlantılar, içerik hiyerarşisi, çoklu dil kullanımı, görsel optimizasyonu, indekslenebilirlik ve performans daha geliştirme aşamasında düşünülmeli.

Bu nedenle projelerde teknik SEO altyapısını yazılımın doğal bir parçası olarak ele alıyorum. Bunun yanında içerik stratejisi, kategori yapısı, arama niyeti ve uzun vadeli içerik planlaması üzerine de çalışıyorum.

Teknik olarak iyi hazırlanmış bir web sitesinin kendiliğinden görünür olmayacağını biliyorum. Aynı şekilde yalnızca çok sayıda içerik yayımlamanın da tek başına yeterli olmadığını düşünüyorum.

İyi sonuç; doğru teknik altyapı, nitelikli içerik ve düzenli çalışmanın birlikte yürütülmesiyle ortaya çıkıyor.

Northlab ve Bağımsız Üretim

2023 yılında Northlab Dijital’i kurdum.

Northlab; tasarım, yazılım, SEO ve dijital üretim alanlarında yıllar içinde biriktirdiğim deneyimin daha düzenli bir yapı altında devam etmesini sağladı. Burada farklı sektörlerden işletmeler için web siteleri, özel yazılımlar, yönetim panelleri ve dijital çözümler geliştiriyorum.

Bağımsız çalışmanın bana kazandırdığı en önemli şeylerden biri, bir projenin bütününü görebilmek oldu.

Yalnızca kendime verilen küçük bir parçayı tamamlamak yerine; müşteri ihtiyacından tasarıma, veri yapısından sunucuya, içerikten yayına alma sürecine kadar bütün aşamalarla ilgileniyorum. Bu bazen işleri zorlaştırıyor ama alınan kararların birbirinden kopmasını da önlüyor.

Bir tasarım kararı yazılımı, yazılım kararı yönetim panelini, yönetim paneli içerik girişini ve bütün bunlar kullanıcının deneyimini etkiliyor. Projeye bütün olarak bakmadığımızda bir bölümde çözdüğümüz sorun başka bir bölümde yeniden karşımıza çıkıyor.

Benim çalışma biçimim biraz bu bağlantıları görmek üzerine kurulu.

Bu Blog Neden Var?

Uzun süredir web için bir şeyler üretiyorum. Bu süreçte çözdüğüm problemlerin, yaptığım hataların ve edindiğim deneyimlerin önemli bir kısmı proje dosyalarının veya eski konuşmaların arasında kaldı.

Bu blogu biraz da bunları kayıt altına almak için hazırladım.

Burada Laravel, Livewire, Filament, WordPress, sunucu yönetimi, SEO ve web tasarımı hakkında içerikler paylaşacağım. Ancak yalnızca dokümantasyonlarda bulunan bilgileri farklı cümlelerle tekrar etmek istemiyorum.

Daha çok gerçek projelerde karşılaştığım sorunları, çözüm ararken denediğim yöntemleri ve zaman içinde değişen düşüncelerimi anlatacağım.

Bazen bir Laravel kuyruğunun neden çalışmadığını inceleyeceğiz. Bazen teknik olarak doğru olduğu hâlde kötü görünen bir tasarımın nedenlerini konuşacağız. Bazen de proje fiyatlandırması, müşteri beklentileri ve bağımsız çalışmanın görünmeyen taraflarına değineceğim.

Her konuda değişmez doğrulara sahip olduğumu iddia etmiyorum. Teknoloji değişiyor, kullandığımız yöntemler gelişiyor ve bugün doğru bulduğumuz bir yaklaşım yarın yerini daha iyi bir çözüme bırakabiliyor.

Benim için önemli olan; neyin gerçekten işe yaradığını anlamak, gerektiğinde önceki kararları sorgulamak ve daha iyisini üretmeye devam etmek.

Kısacası burada tasarımın, kodun, sunucuların, SEO’nun ve gerçek proje deneyiminin kesiştiği ne varsa bulabilirsiniz.

Ben Yaman Hacıoğlu. Tasarlıyor, geliştiriyor, sorun çözüyor ve öğrendiklerimi burada paylaşmaya çalışıyorum.

bg-top