Yıllardır bir şekilde işe alım süreçlerine dahil olup birçok başvuru inceleme fırsatım oldu. Başvurulan işin özelliklerine göre diline ve imlasına belli oranlarda dikkat etsem de en çok canımı sıkan, yazılım geliştiren birinin imlasının göz kanatacak şekilde olması.
En temele dönmek gerekirse, dil dediğimiz şey aslında matematiktir gibidir. Belli kuralları, yapısı, formülleri vardır. “-mi” eki sonrasına geldiği kelimenin harflerine göre “-mı”, “-mü”, “-mu” olabilir mesela. Ya da “-de” ekini nasıl yazacağınız kurallara bağlanmıştır.
“3+2=5” ≅ “dahi anlamındaki de ayrı yazılır”
Dilin matematik gibi olduğunu kabul ettiysek sıra gelsin neden yazılımcıların metin yazımına bu kadar çok takıldığıma.
Sen daha kendi konuştuğun dili doğru yazamıyorsun, nasıl kod yazabilirsin ki?
“Yazılım dili” diye boşuna denmiyor sonuçta, onların hepsi bir “dil” çünkü. Kendi kelimeleri, grameri ve geliştirme olanakları olan bir dil. Temiz ve düzgün kod yazabilmek için onun kurallarını bilip ona göre yazmak gerekiyor.
E peki senin dilin de öyle değil mi? Hele ki doğduğundan beri konuştuğun dil bu. Artık bir noktada “Soru eki olan -mi”yi ayrı yazmayı öğrenmiş olman gerekmiyor mu? Ya da cümleye büyük harfle başlamayı, noktadan ve virgülden sonra boşluk bırakmayı?
Kendi dilini doğru yazamayan birinin temiz ve akıcı kod yazabileceğine inanmamak da çok doğru geliyor bu karşılaştırmayla. “Ama ben çok hızlı ve çalışır bir kod yazıyorum!” diye şu noktada şikayet edecek o kadar çok “eski yazılımcı” var ki, üzücü …
Bir dil bir insan, iki dil kaç insan?
Yazılım öğrenirken, hatta mümkünse öğrenmeye başlamadan önce kendi dilinizi çok iyi öğrenin. Önce bir onu deneyin, nasıl kompozisyon yazıyorsunuz ona bakın. Giriş-Gelişme-Sonuç akışını düzgün yapamıyorsanız kodun anlaşılabilirliğini nasıl sağlayacaksınız? Soru ekini ayrı yazmayı öğrenemiyorsanız kod yazarken etiketleri doğru yazacağınıza nasıl emin olabiliriz?
Üstelik olay sadece kendi dilin de değil, madem başka bir yazılım dilini çok iyi öğrenebildiğini iddia ediyorsun, başka bir yabancı dili de öğrenebiliyor olman lazım. Mesela zaten kendini geliştirmen ve orjinal kaynakları takip edebilmen için İngilizce biliyor olman lazım. İngiliz aksanıyla Shakespeare gibi yazı yaz demiyorum, iletişim kurabilecek kadar Türk aksanıyla öğren yeterli. Dil öğrenme yeteneğin olduğunu göster ki biz de senin kendini geliştirip yeni teknolojileri ve dilleri de öğrenebileceğini görelim.
12 yıldır yazılımcılarla çalışıyorum, doküman hazırlamayı seven ya bir tane görmüşümdür ya da iki. Tamam, kabul ediyorum, sevmiyorsunuz kod yazmak yerine yazı yazmayı. Ama ufak bir çabayla 4-5 tweet uzunluğunda yazılar yazmanız bile sizi kurtaracaktır, geliştirecektir.
Blog yazan yazılımcıyı sevin, koruyun, işe alın, havadan sudan yazsa bile!
Corona hızla yayılmaya devam ederken, birçok firmanın hasta çalışanlarının işe gelmesini istememesinin yanı sıra ofislerini tamamen kapatan firmalar da var. Elbette ki hayatın devam etmesi gerektiğini de göz önünde bulundurunca işlerin devam etmesi gerekiyor. Fabrikada el işçiliğinde çalışmıyorsanız aslında bilgisayarınız olan her yer sizin çalışma ortamınız olabilir. Bu noktada çözüm home office olabilir!
Yaklaşık 2 yıldır çalıştığım şirkette haftada 1 gün home office, yani evden çalışma yapıyoruz. Her birim kendine bir gün seçti ve ona göre ofise gelmeden dışarıdan (genelde evden) çalışıyor. Corona konusu ilk açıldığında bunu haftada 2 güne çıkarmayı planlarken artık ofiste sadece 2 kişinin kalacağı şekilde bir plan yapıp kalanı home office çalışıyor. Teknoloji ağırlıklı bir firma olduğumuzdan dolayı bazı süreçler kolay atlatılsa da bazı şeylerde de hâlâ sıkıntı yaşayabiliyoruz.
Türkiye’de de ofislerin kapanma noktasına gelir miyiz bilmem ama tecrübelerimizi paylaşarak bu yönde adım atmak isteyenlere yardımcı olmak isterim.
Çalışmak isteyene her yer ofis!
Önce iletişim
Akdeniz insanı olduğumuz için sıcak ve samimi iletişimi tercih ediyoruz. Çalışırken de bazı şeyleri mail atmak yerine kişinin yanına giderek çözmeyi tercih edersiniz sanırım! Uzaktan çalışma için de öncelikle doğru bir iletişim akışı sağlamalısınız.
E-posta gönderirken tüm ilgili kişileri ve grupları eklediğinizden emin olmanız gerekiyor öncelikle. Ne kadar çok yazılı iletişim kurarsanız o kadar sağlıklı bir akış sağlarsınız. Konuyla ilgisi olan herkesi ekleyerek takip edilmesini de kolaylaştırırsınız ya da en azından fikirlerinin olmasını sağlarsınız. CC nedir BCC nedir diye anlatmayayım burada, bilin canım o kadarını da!
Anlık iletişim için ya da bir konumun toplu tartışılması için de Whatsapp gibi araçlardan çok arşiv de tutabilecek ve size farklı şekillerde de teknolojik fayda sağlayabilecek anlık mesajlaşma çözümlerine yönelmeniz gerekiyor. Biz Slack kullanıyoruz bunun için. Ekip ve proje bazlı gruplarla da toplu tartışmaları hem diğerlerini rahatsız etmeyecek şekilde yapabiliyoruz hem de daha sonra isteyen geçmişe bakarak konu hakkında bilgi sahibi olabiliyor. Ayrıca ihtiyaçlarımıza göre botlar yazarak ya da Google Drive, Takvim, GitHub/GitLab, Redmine/Jira gibi araçlarla da entegre ederek bazı işlerimizi kolayca Slack üzerinden de yürütebiliyoruz. Remote çalışma konusunda ileri seviyede olan bir Silikon Vadisi firmasında çalışan arkadaşımız “Yan yana otursak bile Slack üzerinden yazışıyoruz çünkü bir diğer konunun ilgilisi 3 eyalet ötedeyken bir başkası 7 saat dilimi geride.” demişti.
Zaman zaman görüntülü görüşmeler de yapmanız gerekecektir. Bunun için Skype kullanabileceğiniz gibi Google Meet’i de kullanabilirsiniz. Biz genelde hiçbir kayıt gerektirmediği için Meet’i tercih ediyoruz. Örneğin haftalık toplantılarımızı ofiste olmayan arkadaşlarımız varsa bu şekilde yapıyoruz. İlk iş görüşmelerini de video görüşme ile yapıyoruz ki kriterlerimize uymayabilecek birisini işten izin almaya ya da şehrin öbür tarafından gelmeye zorlamayalım.
İş planı, takibi ve kontrolü
Çalışan kişiler yan yana olmadığı için kağıt kalem ile çalışmayı unutun! Yazdığınız ve çalıştığınız her şeyi mutlaka dijital ortamda da tüm çalışanların ya da ilgili çalışanların ulaşabileceği yerlerde barındırmanız gerekiyor. Sizin kendi evinizdeki deftere aldığınız bir notun takım arkadaşlarınıza hiçbir katkısı olmaz.
Biz öncelikle her şeyi Google Drive üzerindeki kişisel alanlarımızda tutuyoruz. Böylece şirketteki herhangi biri de gizli olarak paylaşmadığım her şeyi rahatlıkla bulunabiliyor. Metin, görsel, sunu ve tablo içeriklerimizi bu alanlarda oluşturmamız üzerinde ortak çalışma yapmamıza da imkan sağlıyor. Bunun bir diğer güzel faydası, herhangi birinin bilgisayarı bozulduğunda herhangi bir veri kaybı olmuyor. Arduino ile çalışırken anakartı yakan, çalışırken bilgisayarın üzerine kahve döken arkadaşınız kesin olmuştur, bizim oldu!
Aslında bunu yazmaya bile gerek duymuyordum ama sene olmuş 2020, maille ya da harici bellek ile kod ileten yoktur artık herhalde! GitLab, GitHub üzerinde kodunuzun lisansına göre bulundurduğunuz kodları rahatlıkla işleyip paylaşabilirsiniz.
Bir metnin hazırlanmasından güncellemenin canlıya alınmasına, hatta kedinin kumunun değiştirilmesine kadar tüm işleri bir görev takip sistemi üzerinden takip ediyoruz. Bunun için Redmine kullanıyoruz. Satın aldığımız eklentiler ile de daha fazla özelliğe ulaşabiliyoruz. Gantt şemalarından Agile Board’a kadar iş takibini kolaylaştıran güzel bir yapılanmamız da var. “Pics or it didn’t happened” deyimini “Görev numarası yoksa iş de yok” olarak çevirdik desem yanlış olmaz. Bu sistemle kimin neyi, ne zaman, nasıl yaptığını ve yapacağını rahatlıkla takip/kontrol edebilirsiniz.
Bu arada elbette ki takibi kolaylaştırmak ve sonra aynı işi yapacak kişilere yardımcı olabilmek için tüm işleri dokümante ediyoruz. Bunun için de Drive üzerinde oluşturulan dosyaların yanı sıra Redmine içindeki wiki bölümlerini de kullanıyoruz. Herkes home office olduğundan, tüm dokümanların herkesin ulaşabileceği ortak bir alanda durması tercih edilmeli.
Görev atama, tartışma, yorum yapma için her birim cuma günleri kendi iç toplantısını yapıyor. Bunun dışında haftalık genel toplantımızı da pazartesi günleri yapıyoruz ve ofisteki genel işleri tartışıyoruz. 20 kişiye kadar bu işi rahatlıkla yapabilirsiniz, çok kalabalık gruplarda da tartışma konularını önceden bir dokümanda biriktirmeniz ve bunların üzerinden gitmeniz işinizi kolaylaştıracaktır. Bunun dışında özellikle tüm ekibin farklı yerlerde çalıştığı durumlarda günlük görüşmeler de yapabilirsiniz. Tüm ekip home office tipine geçtiğinde bunu yapmaya biz de başladık.
Home office her zaman gül pembe değil!
Her ne kadar çoğu şeye online çözüm olsa da hayat o kadar basit değil. Öncelikle sosyalleşmenin temel bir ihtiyaç olduğunu gözden kaçırmamak gerekiyor. Sürekli kapalı bir ortamda yalnız oturan kişinin bir süre sonra motivasyonunu ve heyecanını kaybedeceğini unutmamalısınız. Bir süre sonra işi sahiplenme oranı da düşeceğinden iş yapmayı tamamen de bırakabilir. Olabildiğince çok iletişime geçmek bir nebze de olsa çalışanı rahatlatacaktır.
Teknolojik yetersizlikler de etkileyici olacaktır. Ofise en hızlı interneti bağlamış olsanız da herkesin kendi evinde bu imkan olmayabilir. Ya da yazılımcılar için aldığınız büyük ek monitörler evlerinde olmayacağı için zorlanabilirler. Hatta kişilere dizüstü bilgisayar sağlamıyorsanız evlerindeki yavaş bilgisayarlarda zorlanabilirler ve hatta bilgisayarları olmadığı için iş yapamayabilirler de.
Evdeki çalışma ortamı ofisteki gibi rahat olmayabilir. Bir arkadaşımız evde annesinin iş yaptığına asla inanmadığını ve zorla temizlik yaptırmaya çalıştığını söylemişti. Yeni doğmuş bir bebek sebebiyle evde çalışmak istemeyen bir yazılımcımız da oldu. Bunları yakınlarındaki ya da rahat hissettikleri bir cafeye gitmeleri konusunda teşvik etsek de ofise gelmelerini yasaklayamamıştık :).
Bizim ofisimize gelen bilir, çay/kahve konusunda seçeneğimiz gerçekten çoktur. Evde bunları bulamamak, kahve içmeden çalışamayanlar için problem olabilir. Işıklandırmasından havalandırmasına kadar da birçok sıkıntı çıkaracak ve konsatrasyonu bozabilecek şey olabilir. Ev ortamını çalışmaya uygun hale getirmek için ne gerekiyorsa yapmak gerekiyor. Psikolojik destek de isterseniz bana ulaşabilirsiniz :).
Her ne kadar artıları eksileri arasında kalıp şimdiye kadar home office, remote, freelance çalışma biçimlerine geçmemiş olsanız da bu noktada zorunlu kalabilirdiniz. Şirketinizin iş akışlarını buna göre değiştirmek için ne kadar hızlı harekete geçerseniz o kadar rahat bir sistem oturtursunuz. Bunu yaparken çalışanlardan geribildirim almayı da unutmayın ki onların iş yapışını engelleyecek değişiklikleri geri almak için uğraşmayın! Hayalim yakın bir zamanda ilk remote çalışanımızı işe almak ve home office oranını artırmak olsa da umarım kısa bir sürede bunu yapmak “zorunda” kalmayız…
(Klavye olsun ya da olmasın, ellerinizi sık sık yıkamayı unutmayın!)
Teknoloji ve bilim camiasında uzun yıllardır konuşulsa da bu terimlerin halk arasındaki konuşmalarda bu kadar yer almasının, son 2-3 yıl içinde arttığını söyleyebiliriz. Her ne kadar kullanım oranı artsa da aralarındaki farkın tam olarak anlaşılmaması bazı durumlarda anlam karmaşasına sebep olabiliyor.
AR (Augmented Reality), VR (Virtual Reality) ve AI (Artificial Intelligence) nedir kısaca ve sade bir dille özetlemek gerekirse:
AR (Augmented Reality)(Artırılmış Gerçeklik)
Gerçek dünyadan uzaklaşmadan elinizdeki cihazın kamerasını kullanarak aldığı görsel veriyi inceleyip gerekli koşullara uyan yerlere fazladan öge eklemekten farklı bir şey değildir. Örneğin kullandığınız bir uygulama ekranda telefon gördüğünde üzerine kırmızı balon koyuyor olabilir, ya da yüzünüze gözlük yerleştiriyor olabilir, ya da masanızda dans eden kediler gösteriyor olabilir.
Bu konuda en bilinen örneklerden biri Pokomon Go oyunudur. Bulunduğunuz yerde kameranızı döndürdüğünüz noktada bir Pokemon gözükmesini sağlayarak sizin dünyanıza fazla ögeler eklemektedir. Aynı şekilde Ikea da kataloğundaki ürünleri mobil uygulamasıyla salonunuza yerleştirerek nasıl görüneceğini anlamanızı sağlıyor, bir boya markası da kamerayı tuttuğunuz duvarı seçtiğiniz renge boyayarak tam olarak içinize sinen rengi almanızı sağlıyor.
VR (Virtual Reality) (Sanal Gerçeklik)
VR gözlükleri ile hayatımızda yoğun bir şekilde yer bulmaya başlayan sanal gerçeklik kavramı bu 3 terim arasında en çok kullanılanı. Sanal gerçeklikte adı üzerinde sanal bir görüntü, bir alan ya da bir dünya yaratıyorsunuz. Bu görüntüyü ya da dünyayı da sanal gerçeklik gözlüğü olarak anılan gözlüklerle ya da bunu destekleyen telefonlarla görüntülüyorsunuz.
Gerçek dünyadan koparak tamamen bu yaratılmış dünya içinde kendinizi bulmanız ile farklı bir gerçekliğe geçmiş oluyorsunuz. Örneğin 360 derece çekilmiş fotoğraflarla kendinizi Taksim Meydanı’nda bir noktada bulabilirsiniz. Ya da 360 derece kameralarla çekilmiş bir konser salonunun içinde dolaşabilirsiniz. En çok ilgi çekeni de kendinizi oyunların içinde bulup kontrol ettiğiniz karakterin gözleriyle oyunun içinde yer alabilmenizdir. Özellikle kulaklık, elle kontrol cihazları ve hatta yürünebilen platformlar gibi yardımcı ekipmanlarla kendinizi tamamen o yaratılmış dünyanın içinde bulabilirsiniz.
360 derece canlı kayıtlarla kendinizi başka bir ülkedeki konserde bulabilir, Star Wars filminin içindeki bir savaş sahnesinde uzay gemisinin içinde oturabilir ve hatta egzotik ormanların içinde gizemleri çözdüğünüz bir oyunun içinde kendinizi bulabilirsiniz.
AI (Artificial Intelligence) (Yapay Zeka)
AI filmini izleyenlere tanıdık gelecek bir teknolojidir bu. Alan Turing’in 2. Dünya Savaşı sıralarında “Makineler düşünebilir mi?” sorusu üzerine başlayan süreç kısa bir süre öncesine kadar X-Files’a bile bölüm olacak kadar gerçek dışı olarak görülüyordu.
Basitçe özetlemek gerekirse bir yazılımın sizin ona öğrettiğiniz bilgiler dışında kendisinin “düşünerek” ya da araştırma yaparak başka bilgiler bulması/oluşturması ve bu sürecin sürekli gelişerek devam etmesidir. Kendi fikri olan, kendi kararlarını hesaplayıp verebilen bir sistem hayal edin, ve bunun hayatımızın içinde hatta yanı başımızda olduğunu.
Malum, icatlar ihtiyaçtan doğarmış. Nasıl ki saçı dökülen biliminsanı bu konuda araştırma yapıp ilacını bulduysa neden kırmızı burunlu biri çıkıp da bunun kremini bulmadı acaba?
2 gündür hastayım, burnumu silmekten 4. saatin sonunda palyaçodan beter kırmızı (pembe değil, gerçekten kırmızı) bir burna sahip oldum. Genelde Bepanthen merhem sürerim bu durumlarda. Ama sabah aklıma geldi, eczaneye gidip sordum. Bu tarz durumlar için özel bir krem var mı acaba diye. Hani saha çok nemlendiren, kızarıklığı hafifleten, acıyı azaltan vb. Eczacı da Bepanthen kullanmamın iyi geleceğini ama özel bir krem olmadığını söyledi.
Bakın buradan söylüyorum. Kim ki üzerinde “Burun kızarıklığına bire bir, anında geçirir, sizi ve burnunuzu korur” gibi yazılarla bire krem çıkarır, zengin olur valla.. İçinde çok deli şeyler olmasına gerek de yok. Biraz nemlendirici, biraz kızarıklığı giderici bir şeyler, bu kadar. Bu işe yarayan o kadar çok krem var ki, zor olmasa gerek.
İnsanlar bazen sadece “etiket” satın alıyor, bunu hepimiz biliyoruz. Neden biri gelip de bunu kullanmıyor ki?