Daha deneyimli meslektaşları bir araya getirecek birçok kaynak vardır: kitaplar, yetenekli geliştiricilerin blogları, Stack Exchange, konferanslar / konferanslar, vb. Kod incelemeleri de çok önemlidir ve CodeReview.SE değerli bir kaynaktır.
Bir örnek üzerinde nasıl çalışabileceğini görelim.
Misal
"ETL" teriminden bahseden bir blog yazısı okuyorsunuz . Bunun anlamını bilmiyorsunuz, ancak bu makaleden, bazı veri desteğinden diğerine veri taşıyan bir tür işlem veya iş akışı olduğunu belirsiz bir şekilde anlıyorsunuz.
Wikipedia'ya ve diğer kaynaklara gidersiniz ve daha net bir vizyon elde edersiniz . Ne zaman bir ETL kullanmanın yararlı olacağı henüz belli değil. Sonuçta, gerçek bir ETL oluşturmak için çok fazla zaman harcamak yerine, tüm işi yapacak bir SQL sorgusu yazmak çok daha kolay görünüyor.
Bu soruları cevaplamak için yerel kütüphanenizden ETL'ler hakkında bir kitap ödünç alıyorsunuz . Bazı özü-dönüştürme-yükleme işlemlerinin basit bir SQL sorgusu ile kolayca gerçekleştirilemediğini açıklar: sadece özütleme aşaması, sadece ilişkisel bir veritabanı değil, çeşitli, çeşitli veri destekleriyle de başa çıkamaz, aynı zamanda dönüşüm adımı için çok karmaşık olabilir. hem verileri doğrulamak / normalleştirmek hem de eşlemek.
Artık bir ETL'nin ne olduğu, nasıl kullanılacağı ve özellikle bir ETL'ye ihtiyacınız olduğunda ve uygun bir araç olmadığında net bir vizyonunuz var. Bu arada, kişisel bir proje olarak küçük bir ETL uyguladınız. Bu proje, sizin için yeterince açık olmayan ve bir kitap tarafından kapsanmayan bazı noktaları keşfetmenizi sağlar. Bu noktalar oldukça soyut ve kaynak koduyla ilgili değil, Programcılar'a bir soru gönderirsiniz .
Şirketinizde bir tane oluşturma fırsatınız olduğunda, onu yaratmaya başlarsınız. Birkaç sorununuz var. Bazıları kodla ilgilidir; Stack Overflow üzerine soru gönderirsiniz . Diğerleri veritabanı ile ilgilidir; DBA.SE ile ilgili soruları sorarsınız .
Son olarak, son derece yetenekli bir geliştirici tarafından ETL'lerin nasıl optimize edileceği hakkında bir konferans var . Bu konferansa katılıyorsunuz ve projeniz için yapabileceğiniz geliştirmeler hakkında size değerli ipuçları veriyor.
Yıllardır farklı ETL'ler üzerinde çalışan bir geliştiricinin blogunu da takip etmeye başlıyorsunuz . Farklı yaklaşımları görmek ilginç ve bu blog aracılığıyla ECCD hakkında bilgi ediniyorsunuz; ilgilendiğiniz için, "Çıkar, temizle, uydur ve teslim et" süreci hakkında ayrıntılı olarak konuşan kitap olan Ralph Kimball'ın Veri Ambarı ETL Araç Seti'ni ödünç alırsınız . Aynı blog, programlama becerileri olmadan ETL'ler oluşturmayı amaçlayan birçok uygulamadan da bahsediyor. Bu, özellikle şirketiniz için yaptığınız ETL için yararlıdır, çünkü patron olmayan, teknik olmayan bir kişi sürekli olarak yaptığınız şeyde küçük değişiklikler yapmanızı ister.
Bir şeyleri keşfetmek
IMHO, zor kısmı, bir akıl hocanız veya daha deneyimli bir meslektaşınız olmadığında, bir şeyler keşfetmek ve keşfetmekle, demek istediğim devletten “bu şeyi hiç duymadım” dan duydum ama ne olduğunu çok iyi bilmiyorum ".
Birisi kodumu inceler ve gerçekten bazı stil kurallarını kullanmaya başlamam gerektiğini söylüyorsa, biraz merakla programlamada farklı kod yazma stilleri olduğunu, belirli bir dil ve kod tabanı için bir stille yapışması gerektiğini, ve birçok dilde bir stili uygulamak için araçlar vardır (C # için StyleCop gibi).
Kimse bana stilden bahsetmezse, böyle bir şeyin var olduğunu nasıl bilebilirim?
Bloglar veya Stack Exchange gibi kaynaklar kullanışlı. Wikipedia yardımcı olmaz (günlerce programlama hakkında rastgele sayfalara çarpmadığınız sürece) ve kitaplar nadiren bu şeyler hakkında konuşur.
Aynısı, kodla daha az ilgili kalıplar ve uygulamalar veya şeyler için de geçerlidir. Örneğin, sabah erken uyanan bazı geliştiricilerin, ITIL hakkında daha önce hiç ITIL hakkında bilgi sahibi olmadığı halde ITIL hakkında bir şeyler öğrenmesi gerektiğini söylediğini hayal bile edemiyorum.
Yeni bir terim keşfettikten sonra , bunu öğrenmek oldukça kolaydır. Yeni bir terim "kod sözleşmeleri" verdiyseniz ve bir C # geliştiricisiyseniz, MSDN'de (veya daha iyisi Jon Skeet'in kitabında) kendiniz yeterli bilgiyi kolayca bulabilirsiniz.
Merak yardımcı olur
Stajyerlerle çalıştığımda her zaman en iyilerinin derslerinin dışında merak edenler olduğunu fark ettim. Öğretmenlerinden hiç bahsetmemiş olsa bile fonksiyonel programlama adı verilen bir şey olduğunu bilebilirler ve herhangi bir fonksiyonel dili bilmeseler de, genel anlamda FP'nin ne olduğunu ve diğerlerinden nasıl farklı olduğunu açıklayabilirler. paradigmalar. Agile veya Unicode veya kısmi güven / sandbox modeli hakkında bilgi sahibi olabilirler, çünkü sadece bloglara okuyorlar ve Stack Exchange'i kullanıyorlar, sadece derslerine katılıyorlar.
Bir akıl hocası olmasa bile, hala üniversitede söylenmeyen şeyleri öğrenirler.