Bazı yeni geliştiricilerin işe başladığını ve hemen yetersiz olduklarını görüyorum. Aynı şeyi kariyerimde de erken yaptım. En akıllı adamların üstesinden gelmesi gereken en az iki önemli sorun olduğunu düşünüyorum: zaman algısı ve kendi doğal yetenekleri.
Zaman Algısı
Akıllı çocuklar problemleri nispeten hızlı bir şekilde çözmek için kullanılır. Tek bir kalkülüs problemine bir saat harcamak zorunda kaldığımda bilgisiz olduğumu hatırlıyorum. Bir problem üzerinde 60 dakika geçirmek artık bir şey değil. O günler bitti ... gömün ve güle güle deyin. Günümüzde çoğu yazılımın karmaşıklığı ve boyutu aşırıdır. İnsanlar artık işleri halletmek için kullanmak zorunda oldukları tüm araçları anlamıyorlar. JavaScript dilinin en önemli adamlarından biri olan Douglas Crockford,
"Misapplication of standard tools...is the new standard."
Dünyada tüm geliştirme araçlarını öğrenmek için yeterli zaman yok.
Doğal Yetenek
Zekanız, problem çözme yeteneğiniz ve doğal becerileriniz ilk etapta sizi tüm geliştirici konserine soktu. Bu alanda daha az bir şeye yer yok. Peki, neredeyse bilmediğiniz 100.000 satır kod, dil ve çerçeve, insanların size ittiği tasarım desenleri ve paradigmalar, çoğunun elinin arkası gibi bilen adamlar, dün isteyen müşteriler ve bir patron ile ne yapıyorsunuz? kim senin dünyasını bekliyor? Doğal yeteneğiniz başarısız olduğunda korkutun.
Evet, bu normal. Hala yoluma atılan bazı şeyleri korkutuyorum.
Ne yapılabilir?
İyi eski moda sıkı çalışma ile bu doğal yetenekleri geliştirme zamanı. Sorunları daha küçük parçalara ayırmak için çalışın. Ve geçmişte yapmış olabileceğiniz pek çok şeyden farklı olarak, bu sorunların çözülmesi için çok zaman harcadığını fark edin. Bu yüzden, karmaşık bir sorunu inceledikten sadece 15 dakika sonra vazgeçmeyin. Bunun yerine, sorunları çözün ve saati izlemeyi bırakın. Bir süre sonra, 30 dakikalık bir problemle çalışmak eskiden olduğu gibi değil.
Kendine güvenme, kendini yönetme becerisinde büyük rol oynar. Takım, özellikle daha deneyimli yaşlılar için de geçerlidir. Bir şeyleri kırmamak konusunda dikkatli olmak iyidir, ancak bu sürekli bir soru akışı istemeniz gerektiği anlamına gelmez.
Bunun yerine, kaynak denetimini kullanın. Bir değişikliği kontrol etmediğiniz sürece ana ürünü kıramaz ve diğer geliştiricileri kızdırmazsınız. Ayrıca, anlayabileceğiniz ve test edebileceğiniz değişiklikler yapın ve check-in işleminden önce iyi test ettiğinizden emin olun.
Tek seferlik, basit programlar yazmak için kullandığım küçük bir test projem bile var, bu yüzden ana uygulamadaki tüm işler hakkında endişelenmem gerekmiyor.
Son olarak, her kararın bir miktar ver ve al ile geldiğini unutmayın. Belli bir düzeyde fedakarlık etmeden ilerlemeye gerek yok. Mükemmellik için çabalamayın, harikalar için çaba gösterin ve eylemlerinize dikkat edin. Çünkü her zaman eleştiri almaya ve fikirlerinizi ve bunları neden yaptığınızı açıklamaya hazır olmanız gerekir. Verdiğiniz kararlardan gurur duyun. Yanlış olduklarında bile öğrenilecek çok şey var.