Bir Yazılım Evini Yeniden Düzenlemek: Teknolojik Profilini Nasıl Değiştirir ve Bilişim Pazarında Uzmanlık Seçer?
Yayınlanan: 2023-03-06Her yazılım şirketinin kendi teknolojik profili vardır. Genellikle teknik kişiler için bu, şirketin alan adı profilinden daha önemlidir. Bunun nedeni, BT geliştiricilerinin kendilerini daha çok içinde çalıştıkları teknolojinin prizmasından görmeleridir, örneğin ben C# ile oluşturulmuş sistemlerin programcısıyım. Ancak ister eğitim işiyle uğraşan bir firma için proje yapıyor olsunlar, ister kutu üreten bir firma için proje yapıyorlar, ikinci planda kalıyor. FINGO'nun Kurucu Ortağı ve CTO'su Robert Marek, elbette, alan bilgisi programcılar için her zaman yararlıdır, ancak teknolojik boyutta kendilerine ilişkin algılarını değiştirmez.
FINGO, 20 yılı aşkın bir süredir programlama hizmetleri sağlayan Polonyalı bir yazılım evidir. 2022'de kuruluş, teknolojik profilini başarıyla değiştirdi. Java ve .NET teknolojilerinde sunduğu programlama hizmetlerine ek olarak Node.js'yi de eklemiş ve bugüne kadar PHP'de oluşturulan tüm projeleri tamamlamıştır.
Bu hamle neden yapıldı? Kendi kendini organize eden değişim süreci nasıl görünüyor? Ve sonuç ne oldu? Robert Marek ile yaptığımız röportajı okuyarak öğrenin.
Teknolojik profili değiştirme sürecinden bahsetmeye başlamadan önce, yeniden yapılanmadan önce şirketin nasıl göründüğünü bize anlatabilir misiniz?
FINGO'nun 20 yıllık portföyünü takip ederseniz finans, gayrimenkul, otomotiv, e-ticaret ve daha birçok sektöre yönelik birbiriyle az çok ilişkili projeler bulacaksınız. Bu biraz tesadüf - yıllar içinde bu tür projeler ortaya çıktı ve biz ekibimizi geliştiriyoruz. Ancak bu durum, büyük ölçüde, altında başka siparişler aradığımız teknolojik profilimizden (Java, .NET, PHP) etkilendi.
Ancak bunun işimiz için iyi olmadığını hissettim. Büyük bir teknolojik yayılma, genellikle FINGO büyüklüğündeki bir yazılım evi için iyi değildir. Bir proje bulmak daha kolay olabilir, ancak insanların değiş tokuş edilebilirliğini sağlamak daha zor olabilir. Sana bir örnek vereceğim. Projeniz için 5 geliştiriciye ihtiyacınız olduğunu varsayalım. Bankta oturan 6 kişi var ama projede gerekli olan teknolojiyi sadece 2 kişi biliyor. Bu durum, hala işsiz olan ve kendilerine iş sağlamanız gereken 4 yüksek maaşlı uzmanın olduğu anlamına gelir. Bunun da ötesinde, projede personel olduğundan emin olmak için 3 kişiyi gerekli teknolojiye alıştırmanız gerekir.
Bununla birlikte, iyi işleyen bir işletmeye sahip olmanın verdiği rahatlık, değişiklikleri uygulamamıza engel oldu. Projelerimiz, düzenli uzun vadeli müşterilerimiz ve deneyimli programcılarımız vardı. Böyle bir ortamda bir şeyleri değiştirmeye karar vermek zordur.
Peki, FINGO'daki teknolojik profili değiştirmeye karar vermenize ne sebep oldu?
Pandeminin başında piyasa dondu. Bundan sonra ne olacağını bilmeyen şirketler, mevcut projelere devam etmekten veya yeni projelere başlamaktan kaçındı. Programcıların bile işlerini kaybetmekten korktukları bir dönemdi. Ne yapacağımızı şaşırdık. İnsanları işten çıkarmak istemedik ama öte yandan bizi kalabalıktan ayıracak bir şeye ihtiyacımız vardı.
Mayıs 2020 civarında, şirketin sahipleri olarak, cesur kararlar alınmadan durumun kötüleşebileceğini gördük. Finans sektöründe en çok projeye ve dolayısıyla deneyime sahip olduk. Ayrıca, bankacılık sektöründe zorunlu raporlamanın uygulanmasını sağlayan yazılımları sunan bir ürün parçamız vardı. Finans sektörü bizim için doğal bir seçimdi.
O zamanlar bana FinTech ve finans sektörünün projelerinde PHP kullanması pek olası görünmüyordu. Ben de bu sektöre odaklanarak PHP'den uzaklaşıp sadece Java ve .NET ile kalacağımızı varsaydım. Bu bilgilerle birlikte şirketin genel kurulunda ekibe çıktık.
Yani sizi FINGO'nun teknolojik profilini değiştirmeye karar vermeye zorlayan pandeminin patlak vermesi miydi?
Evet ve hayır. Uzmanlık hakkında bilgi paylaştıktan sonra, iş yapma yeteneğine sahip birkaç deneyimli programcıdan oluşan bir çalışma ekibi atadık. Görevi, finans sektörü söz konusu olduğunda tek tek ülkelerdeki eğilimlerin, teknolojilerin ve popüler çözümlerin neler olduğunu kontrol etmekti. Analizleri, PHP'nin finansal projelerde nadir olduğu şeklindeki önceki varsayımlarımı doğruladı. Aynı zamanda start-up dünyasında bile değer verilen Node.js'de yetkinliklerin geliştirilmesini tavsiye ettiler.
Şirketimizde, diğer şeylerin yanı sıra, tüm ekiple organizasyon için önemli olan projelere açıkça danıştığımız turkuaz yönetimi kavramına değer veriyoruz. Bu sayede insanlar şirketin gelişimi üzerindeki etkiyi hissederken aynı zamanda alınan kararlarda ortak sorumluluk da hissediyorlar.
Bu nedenle, aşağıdan yukarıya gelen Node.js'ye geçiş girişiminin yine de FINGO ekibinin geri kalanı tarafından onaylanması gerekiyordu. Ancak kısa sürede bu yönde gelişmek için güçlü bir istek olduğu ortaya çıktı. Belki de hepimizin çeşitli boyutlarda (ekonomik ve sağlık açısından) gelecekten korktuğu özel bir dönemdi. Paradoksal olarak, bu, meydan okumayı üstlenme kararının kabulünü artırdı.
Kaç kişinin yeni teknolojik yeterlilikler kazanması gerekiyordu?
Toplamda, değişiklik 15 kişiyi içeriyordu. Ön uç geliştiriciler olarak mı gelişmek istediklerine yoksa arka uç geliştiricileri olarak kalıp Java, .NET veya Node.js'de çözümler mi oluşturmak istediklerine karar vermeleri gerekiyordu.
Bu insanlardan biri, kendisini zaten bir ön yüz geliştiricisi ilan etmiş bir tam yığın geliştiriciydi, bu nedenle onun durumunda karar vermek kolaydı. Sonuç olarak 2 kişi Java'yı, kalan 10 kişi ise Node.js'yi seçti.
Yeniden yapılanmaya iki test uzmanı da katıldı ve onlar da yeni teknolojiyi öğrenmek zorunda kaldılar. Üretilen ürünle aynı teknolojide testler yazmak firmamızın politikasıdır. Test cihazı geçici olarak kullanılamadığında, bu yaklaşım bize bir güvenlik duygusu verir; yazma testleri geçici olarak programcı tarafından devralınabilir.
Ayrılanlar da oldu ama bunlar bireysel kararlardı. Bir kişi FINGO'dan oldukça hızlı bir şekilde istifa etti, ancak bunun nedeni Wroclaw'da PHP topluluğunu geliştirmesiydi. İşbirliği beklentilerimizin farklılaşmaya başlaması doğaldı. Devam eden süreçte çeşitli nedenlerle 2 kişi daha şirketten ayrıldı.
Karar vermek yolun sadece başlangıcıdır.Şirket bir şekilde programcıların yeni yetkinlikler kazanmasına yardımcı oldu mu?
Geliştiricilerin ticari projelerde mümkün olan en hızlı şekilde hizmet sunumuna hazırlanmalarına yardımcı olmak için stratejik bir proje oluşturuldu. Başlangıçta, 2 senaryo varsayarak, dış müşteriler için güvenle iş üstlenmelerini sağlayacak şekilde, gerekli bilgiyi edinmeleri için ne kadar zamana ihtiyaç duyacaklarını öznel olarak belirlemelerini istedik. Bunlardan ilki daha deneyimli bir meslektaşın desteğiyle oldu, ikincisi ise böyle bir destek olmadan oldu. Yanıt olarak, çeşitli tahminler elde ettik.
Bazıları, deneyimli bir Node.js geliştiricisinin desteğiyle ticari bir projeye sadece bir ay sonra, bazıları da birkaç ay sonra katılabileceklerini beyan etti. Her şey, önceki (özel veya profesyonel) deneyimlerinize ve kendinizde ne kadar cesarete sahip olduğunuza bağlıydı. FINGO'da bu ortamla ilgili deneyimlerimizin de olduğunu belirtmekte fayda var. Yani bir temelimiz vardı.
Ancak biz onlara ilim öğrenmenin bir yolunu empoze etmedik. Tüm bu insanlar, sürekli öğrenmek isteyen deneyimli programcılardır. Kendi tercih ettikleri öğrenme stilleri vardır. Genel olarak, sürekli bilgi edinimi bir şekilde yeni teknolojiler endüstrisinde yazılıdır. Bu nedenle, en makul çözümün onlara öğrenmeleri için kaynak ve zaman sağlamak olduğuna karar verdik.
Şirketi de yeniden düzenledik. Belirli bir teknolojide çalışan, ancak zorunlu olarak aynı projelerde olmayan insanların edindikleri bilgileri değiş tokuş ettikleri kendi kendini örgütleyen loncalar yaratıldı. Düğüm loncasının bir parçası olarak, yeni edinilen bilgilerin test edilebileceği dahili bir proje de oluşturuldu. Gönüllüler için dış kurslar düzenlendi.
Ancak en çok kazandıran, projelere hızlı bir şekilde katılma fırsatıydı. Bunun en iyi örneği, üzerinde çalıştığımız ve mümkün olan tüm ellere ihtiyaç duyduğumuz siparişlerden biriydi. Müşterinin onayını aldıktan sonra, yine JavaScript'te çalışan ve Node.js ile hiçbir deneyimi olmayan deneyimli bir PHP geliştiricisi projeye katıldı. Ancak, projede zaten bir meslektaşı destekleyebilen ve kodun kalitesini sağlayabilen deneyimli programcılar vardı.
Müşterileriniz hakkında biraz daha konuşalım.PHP'den uzaklaşma kararınıza nasıl tepki verdiler?
En büyük iç direnişimiz ve üzüntümüz 10 yıllık bir müşteri için yaratılan bir projeydi. Oldukça komik, çünkü programcılarımızdan biri en başından beri bunun üzerinde çalıştı. Doğal olarak sistem hakkında o şirketteki birçok yöneticiden daha çok şey biliyordu. Kararımızı onlara açıklamakta zorlandık. Bir ay önceden haber vermemize rağmen, bu müşteriye iyi bakmak istedik. Altı ay daha onlara açık olmayı kabul ettik. İlginç bir şekilde, 3 ay sonra müşteri, şirketin dahili yeniden yapılanması nedeniyle işbirliğini kendisi sonlandırdı. Bu aynı zamanda bir şeyler üzerinde çok uzun süre durmamanız gerektiğini de gösterdi. Onlar yapılmalı ve hepsi bu.
Diğer projelerle daha kolay oldu. Diğer olaylar gibi, oldukça doğal bir şekilde gerçekleşti. Örneğin, Node.js'de sistemin bir bölümünü geliştiren bir müşterimiz vardı. Daha önce PHP teknolojisinde projeye destek veren programcılarımızın ilk birkaç ay hizmetlerini daha düşük ücretlerle vermeleri konusunda anlaştık. Bir bakıma bu, son zamanlarda teknolojileri değiştiren ekibin varsayılan düşük verimliliğinin telafisiydi.
Sizce geliştiriciler şimdi bu değişikliği nasıl görüyor?
Bence mutlular. Bu sektördeki insanlar öğrenmeyi sever. O zamanlar okumak için zamanları ve paraları vardı. Tam zamanlı çalıştılar, tam maaş aldılar ve öğrenim burslarından yararlanabildiler. Bunun duyguları üzerinde kesinlikle olumlu bir etkisi oldu.
Node.js, PHP'den daha mı iyi? Bu elbette tartışılabilir. Elbette, bu teknoloji artık popüler, bu yüzden yükseliş trendi dönemine girdik.
Bazı insanlar başlangıçta uzun vadeli bir PHP projesinden ayrıldıklarında pişmanlık duydular. Ancak kısa bir süre sonra belli bir durgunluktan çıktıklarını itiraf ettiler. Ve yeni zorlukların heyecan verici esintisini hissettiler. Genel olarak iyi gittiğini düşünüyorum.
Değişim ne kadar sürdü?
Tüm süreç zamanla uzadı. Piyasa doğrulaması oldukça uzun sürdü. Şirketin yeniden düzenlenmesi ve şirketin müşterilerle ayrılması üzerinde çalışmak da çok zaman aldı. Toplamda, Jira'da görevin oluşturulmasından ve kapatılmasından bu yana yaklaşık 2 yıl geçti.
Bununla birlikte, PHP projesinden Node.js'ye geçiş yapan bir geliştirici arasındaki en uzun sürenin sadece 3 ay olduğunu belirtmekte fayda var. Bu, projeye daha deneyimli meslektaşlarıyla katılması gerektiğini hissettiği zamanı beyan etmesiyle ilgiliydi.
En zor yönü neydi?
Sanırım sadece bir şeyleri değiştirme zamanının geldiğine karar vermek. Bununla birlikte, şimdi değişmezsek ve bir veya iki yıl içinde değişen hiçbir şeyin olmayacağının farkındalığı, kararın daha hızlı alınmasına önemli ölçüde yardımcı oldu.
Ufukta açıkça hiçbir alternatif görünmediğinde ve ekonomik durum istikrarlı olmadığında müşterilerden ayrılmak da zordu.
Bu süreç boyunca uzun vadeli müşterilerimizle ilgilenip, sakince alternatif bulmalarını sağlamak ama aynı zamanda kendimize de bakmak istedik. Programcıların hazırlanmasını ve yeni teknolojide hızlı bir şekilde sipariş almaya hazır olmalarını sağlayın.
Başka bir şirketin CTO'su size gelip kendisinin de şirketin teknolojik profilini değiştirmeyi düşündüğünü söylese ona vereceğiniz 3 tavsiye ne olurdu?
Bir vizyona sahip ol. Bunu neden yapmak istediğinizi bilin ve ekibinize nereye ve neden gittiğinizi netleştirin.
Ekibinizle işbirliği yapın. İnsanlarla konuşun, eylemlerinizi duyduklarınıza göre uyarlayın ve yeteneklerini hesaba katın. İnsanlarla her şeyi yapın.
Tereddüt anlarına rağmen her şeyi tutarlı bir şekilde yapın.