Alain Schlesser şu anda Almanya'da yaşayan bir yazılım mühendisidir. 25 yılı aşkın süredir farklı platformlar ve programlama dilleri üzerinde çalışmaktadır. Şu anda WP-CLI'de Bakım Sorumlusu olarak çalışıyor ve burada kod kalitesini sağlamak için en iyi uygulamalarını kullanıyor. Bunun yanı sıra, düzenli bir WordPress Çekirdek Katılımcısıdır ve genel olarak WordPress Topluluğuna yardımcı olur. Gerisini adamın kendisinden okuyalım!
Mansur: Merhaba Alain! Bu röportajda sizi aramızda görmek harika bir deneyimdi. Bize kendinizden bahseder misiniz? Profesyonel kariyerinize nasıl ve ne zaman başladınız? Hayatında her zaman olmasını istediğin şey?
– Alain: Merhaba ve beni kabul ettiğiniz için teşekkürler!
Ben Alain Schlesser, Lüksemburglu bir yazılım mühendisi ve danışmanıyım ve şu anda Almanya'da yaşıyorum. Gelirimi her zaman yazılım geliştirme yoluyla elde etmedim, bu yüzden size şu anki iş alanıma nasıl geldiğim hakkında kısaca bilgi vermeme izin verin.
Bilgisayarlara ilk gözlerimi diktiğimden beri hayran oldum. BASIC'te çok basit bir geliştirmeye 7 yaşında başladım ve ilk bilgisayarımı (Commodore C-64) 9 yaşında aldım. Yaşım ilerledikçe ideal profesyonel kariyerimin oyun geliştirme olacağını hissettim. Ancak o dönemde Lüksemburg'da gerçek bir sanayi varlığı yoktu. 15 yaşımdan itibaren yerel işletmelerin geliştirme çalışmalarından biraz para kazandım, ancak bundan nasıl düzgün bir kariyer yapacağımı hiçbir zaman gerçekten anlamadım. Gördüğüm kadarıyla çoğu BT işi geliştirmeden çok teknik destek olarak sonuçlandı ve ben de yazılım geliştirmeyi yalnızca bir hobi haline getirdim.
Bunun yerine bir hükümet ajanı oldum ve Lüksemburg'daki Adalet Bakanlığı'nda uzun bir süre çalıştım; burada yüksek güvenlikli bir hapishane için çeşitli idari işler yapıyordum. Geçmişim ve becerilerim göz önüne alındığında, yine de hapishanenin BT departmanıyla giderek daha fazla ilgilenmeye başladım ve sonunda BT personeli ile yönetim arasındaki irtibat kişisi oldum. Bu rolde, etrafta bunu yapabilecek tek kişi olmam nedeniyle hala oldukça fazla geliştirme çalışması yaptım. Oracle DB'ler, .NET özel uygulamaları, Sharepoint intranetleri, JBoss üzerinde Java, SAP vb. üzerinde bu şekilde çalıştım. Temel olarak aklınıza gelebilecek tüm “eğlenceli” kurumsal teknolojiler.
Ancak hükümet için çalışmanın siyasi yönünden bıktım ve sonunda serbest çalışmaya başlamak için istifa ettim. O zamanlar yazılım geliştirmenin etrafındaki ekonomi farklı olduğundan, artık bunu bir kariyer yolu olarak işime yarayabileceğime emindim. Ancak oyun geliştirmek benim için çok riskliydi. Böylece 2014 yılında devletteki işten ayrıldım ve web geliştiricisi olarak uzaktan çalışmaya başladım.
Mansoor: Son 25 yılı aşkın süredir farklı platformlar ve programlama dilleriyle çalışıyorsunuz. En sevdiğiniz platform ve dil hangisi? WordPress’le ne zaman tanıştınız? Bununla ilgili ilk deneyiminiz nasıldı?
– Alain: Gerçekten favori bir platformum olduğundan emin değilim. BASIC, C/C++, .NET, PHP gibi uzun süre vakit geçirdiğim her platform, o zamanın bağlamı göz önüne alındığında benim için en mantıklı seçenekti. Şu anda PHP'ye odaklanmayı takdir ediyorum, çünkü dilin ve ekosistemin itibarından çok daha iyi olduğunu düşünüyorum, ancak mantıklı gelirse yeni bir şeye yönelmekten çekinmiyorum.
2014 yılında bir web geliştiricisi olarak serbest çalışmaya geçtiğimde WordPress'i öğrendim. Belirli bir tercihim yoktu, bu yüzden en büyük pazar payına sahip olanı seçtim, çünkü bu, müşteri bulmanın kolay olması gerektiği anlamına geliyordu.
WordPress ile ilk deneyimim korkunçtu. WordPress kodeksinde okuduklarım ve bana ne kadar yanlış göründükleri karşısında kafamı sallamama rağmen, bu çılgınlığın bir nedeni olduğunu varsaydım ve ilk müşteri projem için resmi belgelerin önerdiğini uyguladım. Proje sürdürülmesi gereken bir kabusa dönüştü ve ürettiklerimden utandım. Bu, WordPress belgelerini ve eğitimlerini göz ardı etmeye ve bunun yerine kendi başıma çözmeye karar verdiğim noktaydı. Hiç arkama bakmadım ve bir süre sonra bir WordPress projesinin nasıl inşa edilmesi gerektiğine dair “alternatif” bakış açımı bile paylaşmaya başladım.
Mansoor: WP-CLI, geliştiricilerin web sitesi bileşenlerini komut satırı arayüzünü kullanarak güncellemesine yardımcı olur. WP-CLI.org'un Bakımcısı olarak WordPress geliştiricilerine önerebileceğiniz en iyi kod uygulamaları nelerdir?
– Alain: Artık kodunuzu ayırma veya doğru paradigmalarla düşünme konusuna devam edebilirim. Ancak WordPress geliştiricilerine bir numaralı tavsiyem muhtemelen şu olmalı: Tekerleği yeniden icat etmeyi bırakın! Bir sorunla karşılaştığınızda, bu sorunun hem akademik hem de pratik olarak zaten tartışıldığını ve çözüldüğünü varsayarak çözmeniz gerekir. Bu sorunların çoğu yeni değildir ve onlarca yıldır denenmiş ve test edilmiş çözümleri sıklıkla bulabilirsiniz.
Dolayısıyla, eleştirel düşünmek ve statükoyu sorgulamak çok önemli olsa da, bunu bilgi ve uzmanlık pozisyonundan, tercihen sizden öncekilerin omuzlarının üstünden yapmalısınız.
Mansoor: Küçük bir hata, bir web sitesinin tüm kodunu bozabilir. Bir projeyi tamamlamaya gelince asla geç kalmayacağınızdan nasıl emin olursunuz? Sorunsuz çalışmanıza yardımcı olacak geliştirme iş akışı nedir?
– Alain: Korkarım, keyfi teslim tarihlerini güvenilir bir şekilde karşılamanıza olanak tanıyan tek sihirli değneği henüz keşfetmedim. Sanırım bir projenin zamanında tamamlanmasını sağlamanın tek yolu, son teslim tarihine yaklaştığınızda “bitti” tanımını uyarlamaktır.
Yazılım oluşturmanın doğru bir şekilde tahmin edilmesinin oldukça zor olduğu ve önemsiz olmayan her şeyin birçok risk ve bilinmeyen içerdiği biliniyor. Gerçekten yapabileceğiniz tek şey tek bir sabite bağlı kalmaktır. Bu, özellik seti veya yayın planı olabilir, ancak her ikisi birden olamaz. Ve çok şanslı olmadığınız veya geliştirme sırasında nadiren sürprizlerle karşılaşmayacak kadar olgun bir proje üzerinde çalışmadığınız sürece, birinin diğerine uyarlanması gerekecektir.
Bu nedenle, daha az olgunlaşmış bir projede, bir yayın tarihine karar verin ve yazılımı her entegrasyonda çalışır ve test edilmiş durumda tutun. Bu şekilde “tamamlanma”, çıkış tarihine ulaşmış olmanızdır ve o anda o sürümün özellik setinin nasıl ortaya çıktığını öğreneceksiniz.
Mansoor: WordPress, topluluğu ve internetteki 1 numaralı CMS olmayı mümkün kılan temel katkıda bulunanlar sayesinde hızla büyüyor. Sizce WordPress'in güçlü ve zayıf yönleri neler?
– Alain: WordPress'in bir numaralı gücünün içerik oluşturma deneyimi olduğunu düşünüyorum. Hatta WordPress'in bir içerik yönetim sistemi değil, bir içerik oluşturma sistemi olduğunu söyleyecek kadar ileri gideceğim, çünkü CMS teriminin gerçek “yönetim” kısmı WordPress için sonradan düşünülmüş bir şeydir. Diğer CMS'ler, oluşturduğunuz her şeyin anlamsal olarak yapılandırılmış olduğundan emin olmak için içerik oluştururken sizi engellerin üzerinden atlatmanıza neden olurken, WordPress, yapıya zarar verecek şekilde içeriğin kendisine öncelik verir. Çoğu içerik oluşturucu için WordPress, bir web sitesi yayınlamanın en sezgisel yoludur ve bir sitenin ilk aşamasında önemli olan tek şey budur.
Ancak bu yapı eksikliği muhtemelen WordPress'in en büyük zayıflığıdır. İçerik doğası gereği böyle bir anlamsal yapı içermediğinden, WordPress'in teknik borcunun büyük bir bölümünü doğrudan yayınladığınız her yazıya veya sayfaya kodlayan bir temsilde depolanır. Bu, WordPress'in temellerini modernize edecek şekilde sorunsuz bir şekilde gelişmesini neredeyse imkansız hale getiriyor ve Gutenberg gibi “modern” projelerin PHP sırasında alınan tasarım kararlarının bedelini hala 4 kez ödediği bir duruma yol açıyor.
Güçlü bir anlamsal yapı, içeriğin kendisi kendi başına ayakta duracağından, içeriğinizi bir evrimden diğerine “geçirmenize” olanak tanır. Bunun yerine, artık editörümüzün wp_posts'a HTML yorumları olarak durumunu koruyan tek sayfalı bir React uygulaması olmasını sağladık.
Mansoor: Bir WordPress Çekirdek Katılımcısı olarak, WordPress'in gelecek sürümlerinde hangi özellikleri görmek istersiniz? Hangi özellikler WordPress'i rekabette önde tutabilir? WordPress’in geleceğini nasıl görüyorsunuz?
– Alain: Şu anda üzerinde çalışılmakta olan ve başlangıçta teklifini oluşturduğum, ancak başarılı olmak için gereken bant genişliğine sahip olmadığım için sonunda başka birine sahip olması ve kullanması için devrettiğim bir özellik projesi var: WP Bildirimi. Yönetici arka ucu reklamlar ve dırdırlarla dolu korkutucu bir yer haline geldiğinden, günümüzde bu tür bir iyileştirmeye son derece ihtiyaç duyulduğunu düşünüyorum.
Daha genel olarak, WordPress'in şu anda sahip olduğumuz organik olarak geliştirilmiş prosedür kancaları yerine daha katı ve yapılandırılmış API'lere sahip olması gerektiğini düşünüyorum. Uygun bir arayüz, daha tutarlı bir deneyime yol açar ve kodun daha üst düzey optimizasyonlara ve iyileştirmelere açılmasını sağlar.
Şu anda WordPress'in geleceği hakkında pek fazla mantık yürütemiyorum, çünkü bana öyle geliyor ki, artık onu kolay bir sayfa oluşturucu ile kurumsal düzeyde CMS arasındaki spektrumda yeniden konumlandırmak için bir yeniden dengeleme gerçekleşiyor. Gutenberg konuyu yelpazenin daha basit ucuna doğru kaydırıyor ve bunun birçok son kullanıcıya fayda sağladığından emin olsam da, ekosistemin genel ekonomik yönü açısından bunun ne anlama geldiğini merak etmeme neden oluyor. Üst düzey projeler için onu daha az çekici hale getirmek, dikkatli olmazsak sermayenin yavaş yavaş piyasadan çekilmesine neden olabilir.
Mansoor: İnternette binlerce ücretsiz ve premium WordPress teması ve eklentisi mevcut. Bunlardan bazılarını okuyucularımıza tavsiye etmek ister misiniz? Bir tema veya eklenti yüklemeden önce hangi özellikleri dikkate almaları gerekir?
– Alain: Tamamen belirli bir projenin ihtiyaçlarına bağlı olduğundan, herhangi bir eklentiyi gerçekten öneremiyorum.
Bununla birlikte, eklentilerin ve temaların proje için bir bağımlılık ve dolayısıyla bir sorumluluk olarak görülmesi gerektiğini belirtmek isterim. Dolayısıyla, bir geliştirme projesi için önemli bir avantaj sağlasalar ve WordPress'i bu kadar çekici kılan şeyin bir parçası olsalar da, faydaları uzun vadeli etkilerine göre dikkatlice tartmak önemlidir.
Bu bağlamda, yalnızca iyi destek ve tutarlı güncellemeler konusunda uzun bir geçmişe sahip olan eklentileri düşünmelisiniz. Bu hala bir garanti değildir, bu da projenizin başarısını, altı ay sonra terk edilen ve bozulan bir uzatmaya bağlama olasılığınızı azaltır.
Trafiği yüksek siteler için, gerçek uygulamaların kalitesini ve ölçeklenebilirliğini dikkatli bir şekilde ölçmek de önemlidir. Ne yazık ki, belirli bir eklentinin kalitesini ölçmenin kolay bir yolu yok, çünkü ortalıkta dolaştığını gördüğüm “kalite” ölçümlerinin çoğu tutarlı kod stiline atıfta bulunuyor; bu çoğunlukla estetik bir değerlendirme ve yalnızca geliştiriciler üzerinde gerçek bir etkiye sahip. eklentinin kendisi.
Mansoor: Ayrıca WordPress Topluluğu'nun aktif bir üyesi ve konuşmacısısınız. WordCamp'lerde sunmayı sevdiğiniz en sevdiğiniz konu nedir? WordCamps'ın WordPress'in büyümesindeki rolünü nasıl görüyorsunuz?
– Alain: Hakkında konuşmayı en çok sevdiğim şey, yazılım oluşturmanın üst düzey kavramları ve bunların mühendislik çalışmalarınızın uzun vadeli başarısını nasıl şekillendirdiğidir. Ortalama WordPress izleyicisi daha az akademik olma eğiliminde olduğundan, WordCamp'ler bağlamında bunu yapmak için pek fazla fırsat bulamıyorum.
Son zamanlarda, gönüllü katkıda bulunanlarla ilgili olduğu için zihinsel sağlık konusunda daha fazla sesimi yükseltiyorum, çünkü katkıda bulunan birçok kişinin tükenmişlik ve diğer rahatsızlıklardan muzdarip olduğunu görüyorum.
Mansoor: Röportajımızı bitirmeden önce okuyucularımız için iş yerinizin bir fotoğrafını paylaşabilir misiniz? Tekrar teşekkürler!
– Alain: Altı aydır evde olmadığım için şimdilik daha eski bir fotoğraf paylaşmam gerekecek. Bu resim 2017 yılında çekildi ve çevrimiçi fotoğraflarımda bulduğum en yeni resim.