İşte sırrı. Diller arasındaki benzerlikler olduğunu biliyoruz, bunun yanında her dilin de kendine göre küçük tuhaflıkları mevcut. (Biz bunlara syntax farklılıkları diyoruz.) Peki bunların hepsini ezbere mi bilmemiz gerekir? Bu fonksiyonun kullanımı nasıldı? Hangi parametreleri veriyorduk? Yabancı gelmedi değil mi sorular? Böyle durumlarda bildiğiniz üzere çözüm genellikle Google’da arama yapmak oluyor. Ama neden?
- Tüm sözdizimini hatırlamak imkansızdır. Tahmin etmeyi deneyebilirsiniz, Ancak biraz zaman alabilir, hani zaman önemliydi? Boşa harcamamak gerek.
- Yılda yalnızca birkaç kez gerçekleştirebileceğiniz gerçekten önemli güncellemeleriniz var, muhtemelen bunları nasıl yapacağınızı hatırlamazsınız. Riske atmamak daha iyi!
- Orada oldukça belirsiz ve karanlık hata mesajları var! Muhtemelen kendiniz çözebilirsiniz, ama dead line yaklaşıyor!.
- Projeye sonradan dahil oldunuz. Elinizde iyi bir dokümantasyon yok. Ne yapacaksınız?
Googling (Entel olmayacağım, yani Google’da aramak) sizi kötü bir geliştirici yapar mı?
Ne için arama yaptığınıza bağlı. Tüm çözümü veya yukarıdakilerin herhangi birini mi arıyorsunuz? Sorunuzun tüm çözümünü mü arıyorsunuz, mantığı az çok bilip süreci makul bir sürede çözmek için mi bu işlemi yapıyorsunuz? Geliştirici olarak sabrınıza ihtiyacınız var. Öyle herşey de aranmaz kabul ediyorum.
Bir kodlama dilinin nasıl çalıştığını öğrenmenin en iyi yolu, denemek ve sonucunda neler olduğunu görmektir. Kodlamanın temel prensiplerini ve diliniz olan programlama paradigmasını biliyorsanız, bunun ne olduğunu çok kolay öğrenebilirsiniz. Tüm mantığı çalıştırabildiğiniz halde google sözdizimine ihtiyaç duymanızın nedeni tamamen hazıra alışmanızdan dolayı. Bu farklı. Ama birçok dil, kütüphane ve framework ile aynı anda çalışırken kariyerinizde özellikle küçük ayrıntıları ve nüansları hatırlamak zor. Bundan dolayı, (yukarıdaki sorunun cevabını burada vereceğim) google’da arama yapmak sizi kötü bir developer yapmaz.
Böyle durumlarda nasıl arayacağınızı bilmeniz de büyük önem taşıyor. Bir şey ararsanız ve iyi sonuç bulamazsanız, bunun iki nedeni mevcut: a) Doğru soruyu sormadınız b) Yanlış soruyu çözmeye çalıştınız.
Karar Vermek
Profesyonel bir geliştirici olmanın en önemli parçası, problem tanımlama, algoritma uygulamaları, tasarım kalıpları gibi konularda hızlı karar vermektir. Evet, hatta stajer bir geliştirici olduğunuzda bile bu böyledir. İşi yapmanın dört değişik yolunu bulabilirsiniz. Ancak, bu çözümlerden hangisinin sorununuz için en iyi olduğunu belirlemek veya beşinci bir yol bulmak sizin sorumluluğunuzdadır…
Bir kitaptan kolayca bulabileceğim birşeyi neden ezberleyeyim ki?” –Einstein
Einstein 2 dakikadan daha kısa sürede bulabileceği hiç bir şeyi ezberlemediğini açıklamıştır. Hiçbirimiz Einstein’dan daha zeki değiliz, herhalde bu konuda hemfikiriz. Zaten öyle olsaydınız bu yazıyı okuyor olmazdınız, ben de yazıyor olmazdım. O halde Google’da doğru arama yaptığımızda aradığımız cevabı bulmak 2 dakikadan fazla sürmez herhalde.