İyi Bir Mühendis Olmak, Deneyim Biriktirmektir
(addyosmani.com)- Küçük bir proje bile olsa, her proje kendi alet çantanıza yeni beceriler ve araçlar eklemek için bir fırsattır
- Bir projede öğrendiğiniz becerileri başka bir projede öğrendiğiniz araçlarla birleştirerek sorun çözebildiğinizde daha büyük değer üretebilirsiniz. Her şey üst üste eklenir
- Başlangıçta dil/kütüphane öğrenirsiniz, ancak kariyeriniz ilerledikçe ilgi alanınızın genişlemesi gerekir
- Bu, yalnızca teknik açıdan değil; yaklaşım, metodoloji ve paradigma açısından da böyledir
- Mühendis olarak gelişmenin gerçek değeri, yalnızca yalıtılmış beceriler biriktirmekte değil, bunları parçalarının toplamından daha büyük bir yetenek ağına örmekte yatar
Alet çantası
- Mühendislik becerilerini bir alet çantası olarak hayal ederseniz, her yeni algoritma/dil/framework vb. öğrendiğinizde aslında bu çantaya bir araç daha eklemiş olursunuz
- Ancak bir araca sahip olmak ile onu ne zaman ve nasıl etkili kullanacağını bilmek tamamen farklı şeylerdir
- Deneyimin değeri tam da burada ortaya çıkar
- Her proje, ölçeği ne olursa olsun, belirli araçların hangi durumlarda kullanılması gerektiğini anlamanıza yardımcı olan kendine özgü zorluklar sunar
-
"Konfor alanları rahattır, ancak nadiren ders verir. Sizi aktif olarak zorlayacak projeler arayın. Alet çantanız size teşekkür edecektir."
- Ancak alet çantası sabit bir nesne değildir; kullanıcıyla birlikte evrilir
- Zamanla yalnızca daha fazla araç eklemekle kalmaz, giderek daha karmaşık sorunları çözmek için araçları yeni şekillerde birleştirmeye de başlarsınız
- Bir projede RESTful API kullanma deneyimi, başka bir projede üçüncü taraf servisleri ustalıkla entegre etmenize yardımcı olabilir
- Multithreading konusundaki anlayış, veri yoğun uygulamaların performansını dramatik biçimde optimize edebilir
- Önemli nokta, her proje için ayrı bir alet çantasına ihtiyaç duymamanızdır
- Tek bir alet çantasıyla, her projenin kendine özgü gereksinim ve kısıtlarının avantajından yararlanabilirsiniz
Beceriler ve araçların eşleştirilmesi
- Harika bir mühendisi sıradan bir mühendisten ayıran şey, bir projede öğrenilen becerileri başka bir projede edinilen araçlarla birleştirebilme yeteneğidir
- Bu çapraz tozlaşma (Pollination), daha verimli problem çözmeyi mümkün kılar ve çoğu zaman daha iyi çözümlere götürür
- Alet çantasının kalitesi, "araç sayısına" göre değil, "araçların çözebildiği problemlerin zenginliğine" göre belirlenir
- Gerçek bir örnek
- Diyelim ki stok sayısını doğru tutmak için veritabanı transaction'larına dair derin bir anlayış gerektiren bir e-ticaret sitesinde çalıştınız
- Ayrı bir projede, gerçek zamanlı sohbet uygulaması için WebSocket programlamasını derinlemesine incelediniz
- Şimdi size stok yönetimi için gerçek zamanlı bir dashboard geliştirme görevi verildi
- İşte böyle, farklı projelerde öğrendiğiniz becerileri birleştirerek güçlü bir çözüm oluşturabilirsiniz
- Veritabanı transaction'larına dair derin anlayışınızı kullanarak stok verilerinin güvenilirliğini ve tutarlılığını sağlarken, aynı zamanda WebSockets kullanarak dashboard'a gerçek zamanlı güncellemeler gönderebilirsiniz
- Bu becerileri birleştirmenin belirgin avantajı, sorunu yalnızca çözmekle kalmayıp bunu verimli ve zarif bir şekilde çözebilmenizdir
- Güvenli alanın ötesine uzanmak: kendi konfor alanınızın ötesine geçmenin önemi
- Mevcut beceri setinizle örtüşen, tanıdık ve daha az zorlayıcı projelere yönelmek kolaydır
- Ancak ne kadar çeşitli deneyim biriktirirseniz, araç yelpazeniz o kadar genişler ve bu tür meyveleri verebilme kabiliyetiniz artar
- Yeni bir şey öğrenmenizi ya da daha önce yapmadığınız şekilde düşünmenizi gerektiren projeleri aktif olarak arayın
- Dışarıdan bakınca hiç ilgili görünmeyen projelerde bile çok büyük faydalar olduğunu göreceksiniz
Çeviklik ve uyum yeteneğini korumak
- Teknoloji sürekli gelişiyor ve bugün öğrendiğiniz bir araç yarın o kadar da kullanışlı olmayabilir
- Ancak bu, aracın işe yaramaz hale geldiği anlamına gelmez. Aksine, değişime uyum sağlama ve yenilik yapma becerinizi geliştirebilir
- Örneğin, cloud-native mimarilerin ortaya çıkmış olması, mevcut ilişkisel veritabanlarına dair bilginizin anlamsızlaştığı anlamına gelmez
- SQL ve veritabanı tasarımının temellerini anlamak, modern veri depolama çözümleriyle çalışma becerinizi büyük ölçüde geliştirebilir
Değerli deneyim biriktirmek için pratik ipuçları
- Bir aracı ustalaşmak, onu ne zaman ve nasıl kullanacağınızı öğrenme yolculuğundaki yalnızca bir kilometre taşıdır
- Deneyim biriktirmek için çeşitli seçenekler vardır
- Farklı projeleri kürate etmek: farklı ölçeklerde, farklı teknolojilerde ve farklı problem alanlarında çeşitli projelerde çalışın. Her proje alet çantanıza kendine özgü bir şey ekleyebilir
- Düşünmek ve belgelemek: bir projeyi tamamladıktan sonra ne öğrendiğinizi gözden geçirmek için zaman ayırın. Daha da iyisi, bunu belgeleyin. "Öğrenilen dersler" içeren özel bir repo ya da herkese açık bir blog yazısı aracılığıyla anlayışınızı pekiştirebilir ve bilginizi paylaşabilirsiniz
- Topluluğa katılmak: open source katkıları veya geliştiricilere özel sosyal platformlar aracılığıyla topluluğa katılmak, başka türlü karşılaşamayacağınız sorunlarla sizi buluşturabilir
- Mentor olmak ve mentorluk almak: öğrendiklerinizi bütünleştirmenin en etkili yollarından biri, başkalarına öğretmektir. Aynı şekilde, iyi bilmediğiniz alanlarda uzmanlaşmış mühendislerden tavsiye istemekten ya da onlardan öğrenmekten çekinmeyin
- Öğrenmeyi bırakmamak: online kurslar, webinar'lar ya da hafta sonunda yeni bir dil öğrenmek gibi sürekli öğrenme, sürekli evrilen bir kariyerin yağlayıcısıdır
Sonuç
- Beceri çapraz tozlaşması (Pollination), yalnızca tesadüfi bir şey değil, mühendisliğin zarafetidir
- En iyi çözümler çoğu zaman beklenmedik beceri kombinasyonlarından çıkar
- Bu nedenle, bir dahaki sefere yeni bir sorunla boğuşurken deneyim alet çantanıza yakından bakın
- Çözümü, yeni bir araçta ustalaşmakta değil, yıllar içinde biriktirdiğiniz araçları akıllıca kullanmakta bulabilirsiniz
- Problem çözmeye yönelik bu çok katmanlı ve incelikli yaklaşım, kariyerinizi gerçekten ileri taşıyan ve sizi bir mühendis olarak farklılaştıran şeydir
6 yorum
Yapay zekanın giriş eşiğini epey düşürmesi, bu dönüşümün daha da hızlanmasına yol açmış gibi görünüyor.
Biraz deneyim kazanma fırsatı verin -_-
Kötü şirketlerde deneyim biriktirilemez. Özellikle de ortalık PHP tipleriyle doluysa hiç!
Bu aralar bunu derinden hissediyorum.
Sadece çalışmak yetmiyor gibi.
Tek çözüm daha iyi bir şirkete (daha iyi deneyim için) geçmek mi?
Çeşitli projeleri deneyimleyebileceğiniz bir yerin iyi bir şirket olduğunu söylemek de yine zor. İş değiştirmenin kesin çözüm olduğunu da sanmıyorum. İş değiştirmek gerçekten çok zor da olabiliyor. Şimdilik en iyisi yan proje yapmak olmaz mı?
Teşekkürler. Hemen başlayacağım haha