Yazılım ile ilgili notlar

Çözdüğüm problemleri ve bu yolda öğrendiklerimi yazıyorum. - “Söz uçar, yazı kalır”

Toptal ve freelance

19/01/2020 tarihinde eklendi

Sabah 6:30’da kalkıyorsunuz, hava henüz aydınlanmamış. Uykunuz açılmamış, kahvaltı yapmak için bile çok erken bir saat. Servis 6:45’te alacak sizi, malum TEM’de trafik erken başlar. Araca biniyorsunuz, içerisi buz gibi. Geyik yaptığınız servis arkadaşınız uyuyor. Minibüs rallisi bitiyor ve şirkete vardığınızda saat 8’e gelmek üzere.

Servis kullanmanıza rağmen, daha şimdiden kendinizi yorgun hissediyorsunuz. Bir de servisi olmayan şirketleri düşünün. Hızlıca kahvaltı yapıp masanızın başına geçiyorsunuz. Takviminize bakıyorsunuz, sizi bekleyen lüzumsuz ve bir sonuca varamayacağını bildiğiniz toplantıları görüyorsunuz. Biraz çalışır gibi yapıp her zaman olduğu gibi problemleri halının altına süpürüyorsunuz, çünkü şirket çalışanlarının performansını ölçmüyor/ölçemiyor ve siz de dahil herkes sorumluluktan kaçmaya şartlanmış.

Öğle yemeğine yarım saat kala “nerede yesek” muhabbeti ve yemekten sonra da yaklaşık yarım saat “ne yedik be” muhabbeti ile saat 14:00 oluyor. Verimsiz geçen toplantıdan çıktığınızda bir telefon geliyor ve acil bakılması gereken bir konuya daha acilen bakıp, geçici bir çözüm üreterek ait olduğu yere yani halının altına süpürüyorsunuz.

Artık saat 16:00 ve haritadan trafiğin durumuna bakıp yavaş yavaş toparlanma sürecine girmek gerekiyor. Servise bindiğinizde ne kadar daha bu şekilde devam edebileceğinizi kendinize soruyorsunuz. Yazın gittiğiniz kumsallardaki dalga sesini veya köyünüzdeki derenin şırıltısını gözünüzün önüne getiriyorsunuz ve emeklilik hayalleri kuruyorsunuz.

Traffic

unsplash-logoFotoğraf Unsplash’ta Alexander Popov’a aittir.

Eğer bu hikaye tanıdık geliyorsa ve “freelancer” olarak çalışmayı bir ihtimal olarak görüyorsanız, okumaya devam edin ve Toptal’ın size uygun olup olmadığına kendiniz karar verin. Yazılanlar elbette kişisel görüş ve deneyimlerim olup, Toptal’ı kesinlikle bağlamaz. Bunları fikir vermesi açısından değerlendirin, bilgileri teyit etmek size kalmış.

Neden?

Sosyal medyadan Toptal’la alakalı her hafta bir iki soru geliyor, bu soruları tek tek cevaplamak oldukça verimsiz. Herkes faydalansın diye, gelen soruların cevaplarını ve henüz sorulmamış soruları da içeren bir yazı hazırladım.

Toptal nedir?

Benim için Toptal, ABD ve Avrupa merkezli teknoloji firmalarında “freelancer” olarak çalışma imkanı sunan bir platform. Bu platformda yazılım geliştiriciler, tasarımcılar, proje yöneticileri ve finans uzmanları gibi farklı kategorilerde insanlar bulunuyor. Müşteri bulmak oldukça kolay ve zahmetsiz olduğu için, freelance çalışmak isteyenlere şiddetle tavsiye ediyorum.

Mülakat süreci nasıl?

Toptal’a başvuranların sadece %3’ü başarılı oluyor. Benzer diğer platformlardan sıyrıldığı özelliği bu, seçicilik. Mülakat süreci aşırı zor değil, ama kolay da değil. Mülakatta şunlara bakılıyor:

Dört aşamalı bir mülakat süreci var, yazılımcılar için olan sürecin detayları şöyle:

1) İngilizce

İlk adımda kısa bir skype görüşmesi yapıyorsunuz ve bu aşamada ingilizcenizi sınıyorlar. Bu aşamayı geçebilmek için kendinizi rahatça ifade edebilmelisiniz, karşınızdakiyle akıcı bir diyalog yakalayabildiyseniz bu aşamayı geçtiniz demektir. Başvuranların sadece %26.4’ü ilk adımı geçebiliyor.

2) Online kodlama testleri

İkinci aşamada hackerrank tarzı bir platform üzerinden 90 dakikada üç algoritmik soru çözmeniz isteniyor. Popüler programlama dillerinden istediğinizi kullanabiliyorsunuz. Burada dikkat edilmesi gereken husus edge case‘ler ve çözümünüzün space/time complexity‘si. Mesela O(n) zamanlı bir çözüm istenen soruyu O(n2) zamanda çözerseniz, tam puan alamazsınız. Üç sorudan biri kolay, biri orta şeker biri de zor gelmişti bana. Tüm soruları eksiksiz cevaplamanız gerekmiyor ama elinizden gelenin en iyisini yapmaya gayret edin, çünkü bu aşamada adayların sadece %7.4ü başarılı olabiliyor. Yazılım mülakatlarına genel olarak nasıl hazırlanmak lazım öğrenmek isterseniz, ilgili yazıma bir bakın.

3) Canlı kodlama

Eğer online kodlamayı geçtiyseniz, sırada skype üzerinden canlı kodlama aşaması var. Ekranınızı mülakatçıyla paylaşacaksınız ve iki tane algoritmik soru çözmeniz istenecek. Sorular çok zor değil ama süre kısıtlı. Ölçmeye çalıştıkları şey, iyi olduğunuzu iddia ettiğiniz programlama diline ve veri yapılarına ne kadar hakim olduğunuz. Bunun yanında, iletişim yetenekleriniz ve profesyonelliğiniz de değerlendiriliyor. Canlı kodlama safhasını adayların sadece %3.6’sı geçiyor.

4) Proje

Son aşamaya geldiyseniz, rolünüze uygun bir projeyi iki hafta içinde tamamlamanız isteniyor. Mesela backend‘çiyseniz bir REST API yazmanız isteniyor, veya fullstack‘çiyseniz hem önyüz hem servis tarafını yazıyorsunuz. “Fullstack kapsamı daha geniş, haksızlık olmuyor mu?” derseniz, fullstack projenin detayları daha az oluyor o şekilde dengelemeye çalışmışlar. Projenizi bir saatlik başka bir skype seansı üzerinden anlatıp demo yapıyorsunuz. Demo esnasında detay bazı sorularla hem projeyi gerçekten kendiniz mi yaptınız anlamaya çalışıyorlar, hem de tercihlerinizi sorgulayarak sizi zorlamaya çalışıyorlar. Proje safhasını adayların sadece %3.2’si geçiyor.

Hoşgeldiniz

Welcome

unsplash-logoFotoğraf Unsplash’ta Aaron Burden’a aittir.

Eğer mülakat sürecini başarıyla tamamladıysanız tebrikler! Bir danışman sizinle iletişime geçip, varsa aklınızdaki soruları detaylı biçimde cevaplayacak ve sizi Toptal profil sayfanızı hazırlamanız için yönlendirecek. Profiliniz uzmanlarca değerlendirilip, uygun görülürse işlere başvurmaya başlayabileceksiniz. Eğer eksikler görülürse bunlar size bildirilecek ve düzeltmeniz istenecek.

Bir de imzalamanız gereken bir “freelance” kontrat oluyor, bu sizinle Toptal arasında bir sözleşme. Bazı müşteriler sizinle ayrıca bir NDA sözleşmesi imzalamak isteyebiliyorlar.

Ücretler

Ücretiniz Toptal tarafından iki haftada bir ödeniyor. Saatlik ücretinizi kendiniz belirliyorsunuz. Tabi ücretiniz çok yüksek olursa müşteri bulamayabilirsiniz, bu konuda Toptal’daki danışmanlar size yardımcı olabilirler. Kafanızdaki bir rakamla başlayıp, baktınız ki müşteri çıkmıyor biraz düşürerek devam edebilirsiniz. Optimum değeri bulmak size kalmış. Rakam telaffuz etmem doğru değil ama TR’de herhangi bir şirkette aynı işi yaptığınızda alacağınız ücretin birkaç katını kazanabilirsiniz.

Tam zamanlı, yarı zamanlı ve saat bazlı işler oluyor. İş türü ne olursa olsun, ücretlendirme hep saat bazlı. Tam zamanlı işlerden haftada 40 saatlik ücret kazanıyorsunuz. Yarı zamanlı işlerden haftada 20 saatlik ücret kazanıyorsunuz. Son olarak, saat bazlı işler de oluyor ve bunlar kısa süreli olup, mesela 30 saatte bitiyor.

Ödemenizi doğrudan TR’deki bir banka hesabınıza USD olarak alabiliyorsunuz, bu durumda iki tarafta da kesinti oluyor. Benim çalıştığım banka her transfere 10$ kesiyor, bence makul bir kesinti. Toptal tarafında da 10$ kesiliyor, toplamda 20$‘la kurtarıyorum. Ödemenizi TRY olarak da alabiliyorsunuz ama hiç denemedim, hangi kurdan çeviriyorlar ve nasıl çeviriyorlar bilmiyorum. Bir diğer seçenek de Payoneer ile ödeme almak, bunu da denemedim maalesef.

Çalışma şekli

Kaç saat çalıştığınızı ölçen bir uygulama yok. Müşteri memnuniyeti esas. Benim müşterilerle ilişkim hep iyi oldu, ne aşırı çalışmam istendi ne de imkansız deadline’ları gerçekleştirmem. Ben de her zaman müşteri memnuniyetini ön planda tutup, kazandığım saatlik ücretin hakkını verdim. Zaten eğer müşteri kaytardığınızı düşünürse, sizi hemen değiştirebilir ve birkaç memnuniyetsiz müşteriden sonra Toptal’dan çıkarılabilirsiniz.

İş yapış şekli, toplantılar ve diğer detaylar tamamen çalıştığınız müşteriye bağlı. Dolayısıyla bu konu çok değişken. Toptal burada sadece aracı, siz bir müşteriyle çalışmaya başladıktan sonra artık bu detaylar sizinle müşteri arasında. Ama müşterilerin çoğu modern ve ne istediğini bilen firmalar olduğundan, güzel projeler çıkıyor ve çalışmaktan keyif alıyorsunuz.

Müşterilerle, sağlıklı ve olabildiğince şeffaf bir iletişim kurun. Malum “remote” olduğunuzdan ve yüz yüze görüşemediğinizden, iletişimde devamlılığı sağlamak önemli. Bu da genellikle, her gün en az bir kere 15-20 dakikalık bir slack toplantısı yaparak sağlanıyor. Bunun haricinde iletişimin çoğunluğu asenkron olarak, github issue‘ları veya e-posta gibi kanallardan yürüyor.

Dezavantajlar

Diğer avantaj ve dezavantajları görmek için, remote çalışmak adlı yazıma bakabilirsiniz. Toptal şirketiyle alakalı farklı kişilerin değerlendirmeleri için ise, glassdoor’a bir göz atın.

Şahsi kanaatim

Toptal üzerinden son iki yılda iki farklı müşteriyle çalıştım. İkisi de çok keyifliydi ve çok şey öğrendim. Mesela serverless teknolojileriyle tanışmamı Toptal’a borçluyum. Ödemelerde hiçbir sıkıntı yaşamadım. Müşteri bulmakta da bir problem yaşamadım, iki müşteriyi de arayışa geçtikten sonraki üç hafta içerisinde bulmuştum.

Merak ettiğiniz diğer hususlar varsa yorumlara yazabilirsiniz, cevaplandırmaya çalışırım. Ayrıca özel sorularınız olursa e-posta, twitter veya linkedin üzerinden yönlendirebilirsiniz. Cevabını bildiğim sorulara elimden geldiğince yanıt vermeye çalışıyorum.