มีแหล่งข้อมูลมากมายที่จะเรียนรู้จากเพื่อนร่วมงานที่มีประสบการณ์มากกว่า: หนังสือบล็อกของนักพัฒนาที่มีทักษะการแลกเปลี่ยนแลกเปลี่ยนการบรรยาย / การประชุม ฯลฯ การทบทวนรหัสก็มีความสำคัญเช่นกันและCodeReview.SEเป็นทรัพยากรที่มีค่า
เรามาดูกันว่ามันสามารถทำงานกับตัวอย่างได้อย่างไร
ตัวอย่าง
คุณกำลังอ่านโพสต์บล็อกที่กล่าวถึงคำว่า "ETL" คุณไม่ทราบความหมายของมัน แต่จากบทความนี้คุณเข้าใจอย่างชัดเจนว่าเป็นกระบวนการหรือเวิร์กโฟลว์ที่ย้ายข้อมูลจากการสนับสนุนข้อมูลบางอย่างไปยังอีก
คุณไปที่วิกิพีเดียและแหล่งข้อมูลอื่น ๆและได้รับวิสัยทัศน์ที่แม่นยำยิ่งขึ้น มันยังไม่ชัดเจนมากเมื่อมันจะมีประโยชน์ในการใช้ ETL ท้ายที่สุดดูเหมือนจะง่ายกว่าการเขียนแบบสอบถาม SQL ซึ่งจะทำงานทั้งหมดแทนที่จะใช้เวลามากเกินไปในการสร้าง ETL จริง
ในการตอบคำถามเหล่านี้คุณยืมหนังสือเกี่ยวกับ ETL จากห้องสมุดท้องถิ่นของคุณ มันอธิบายว่ากระบวนการแยกแปลงโหลดบางอย่างไม่สามารถทำได้อย่างง่ายดายด้วยการสืบค้น SQL แบบง่าย ๆ : ไม่เพียง แต่การแยกเฟสสามารถจัดการกับหลาย ๆ ข้อมูลที่หลากหลายสนับสนุนไม่ใช่แค่ฐานข้อมูลเชิงสัมพันธ์ แต่ยังขั้นตอนการแปลงอาจซับซ้อนมากสำหรับ ทั้งการตรวจสอบ / การทำให้ข้อมูลเป็นปกติและการทำแผนที่
ตอนนี้คุณมีวิสัยทัศน์ที่ชัดเจนว่า ETL คืออะไรวิธีการใช้งานและโดยเฉพาะอย่างยิ่งเมื่อคุณต้องการ ETL และเมื่อไม่ได้เป็นเครื่องมือที่เหมาะสม ในขณะเดียวกันคุณได้ใช้ ETL ขนาดเล็กเป็นโครงการส่วนบุคคล โครงการนี้ช่วยให้คุณค้นพบบางจุดที่ไม่ชัดเจนเพียงพอสำหรับคุณและไม่ครอบคลุมโดยหนังสือ จุดเหล่านั้นค่อนข้างนามธรรมและไม่เกี่ยวข้องกับรหัสที่มาที่คุณโพสต์คำถามบนProgrammers.SE
เมื่อคุณมีโอกาสสร้างหนึ่งใน บริษัท ของคุณคุณจะเริ่มสร้างมันขึ้นมา คุณมีปัญหาเล็กน้อย บางตัวเกี่ยวข้องกับรหัส คุณโพสต์คำถามเกี่ยวกับกองมากเกิน อื่น ๆ เกี่ยวข้องกับฐานข้อมูล คุณถามคำถามที่เกี่ยวกับDBA.SE
ท้ายที่สุดมีการประชุมที่จัดทำโดยนักพัฒนาที่มีทักษะสูงเกี่ยวกับวิธีเพิ่มประสิทธิภาพ ETL คุณเข้าร่วมการประชุมนี้และให้คำแนะนำที่มีค่าเกี่ยวกับการปรับปรุงที่คุณสามารถทำได้สำหรับโครงการของคุณ
คุณยังเริ่มติดตามบล็อกของนักพัฒนาซอฟต์แวร์ที่ทำงานกับ ETL ต่าง ๆ มานานหลายปี เป็นเรื่องที่น่าสนใจที่จะเห็นวิธีการที่แตกต่างกันและจากการที่บล็อกนี้คุณได้เรียนรู้เกี่ยวกับ ECCD คุณสนใจดังนั้นคุณจึงยืม The ETL Toolkit โดย Ralph Kimball หนังสือที่พูดถึงรายละเอียดเกี่ยวกับกระบวนการ "แยก, ทำความสะอาด, สอดคล้องและส่งมอบ" บล็อกเดียวกันยังกล่าวถึงแอปพลิเคชันจำนวนมากที่ตั้งใจสร้าง ETL โดยไม่มีทักษะการเขียนโปรแกรม สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับ ETL ที่คุณทำเพื่อ บริษัท ของคุณเนื่องจากเจ้านายของคุณซึ่งไม่ใช่คนที่มีความรู้ด้านเทคโนโลยีขอให้คุณทำการเปลี่ยนแปลงเล็กน้อยกับสิ่งที่คุณทำ
การค้นพบสิ่งต่าง ๆ
IMHO ส่วนที่ยากลำบากเมื่อคุณไม่มีที่ปรึกษาหรือเพื่อนร่วมงานที่มีประสบการณ์มากขึ้นคือการค้นพบสิ่งต่าง ๆ และจากการค้นพบฉันหมายถึงการผ่านจากรัฐ "ฉันไม่เคยได้ยินเรื่องนี้มาเป็น" ได้ยินเรื่องนี้ แต่ไม่รู้ว่ามันคืออะไร "
ถ้ามีคนวิจารณ์โค้ดของฉันและบอกว่าฉันควรเริ่มใช้รูปแบบการประชุมด้วยความอยากรู้อยากเห็นเล็กน้อยที่ฉันสามารถพบได้ในการเขียนโปรแกรมมีสไตล์การเขียนโค้ดที่แตกต่างกันซึ่งควรมีสไตล์สำหรับภาษาและรหัสเบสที่กำหนด และมีหลายภาษาที่มีเครื่องมือในการบังคับใช้สไตล์ (เช่น StyleCop สำหรับ C #)
หากไม่มีใครบอกฉันเกี่ยวกับสไตล์ฉันจะรู้ได้อย่างไรว่ามีสิ่งนั้นอยู่?
นั่นคือสิ่งที่ทรัพยากรเช่นบล็อกหรือการแลกเปลี่ยนสแต็คมีประโยชน์ Wikipedia จะไม่ช่วย (เว้นแต่คุณจะใช้เวลาหลายวันในการสุ่มหน้าเว็บเกี่ยวกับการเขียนโปรแกรม) และหนังสือมักไม่ค่อยพูดถึงเรื่องเหล่านี้
เช่นเดียวกับรูปแบบและการปฏิบัติหรือสิ่งต่าง ๆ ที่เกี่ยวข้องกับรหัสน้อย ตัวอย่างเช่นฉันแทบจะจินตนาการว่าผู้พัฒนาบางคนตื่นขึ้นมาในตอนเช้าบอกตัวเองว่าเขาต้องเรียนรู้บางอย่างเกี่ยวกับ ITIL ในขณะที่เขาไม่เคยสนใจ ITIL มาก่อน
เมื่อคุณค้นพบคำศัพท์ใหม่มันเป็นเรื่องง่ายที่จะเรียนรู้เกี่ยวกับมัน หากคุณมีคำว่า "สัญญารหัส" ใหม่และคุณเป็นผู้พัฒนา C # คุณสามารถค้นหาข้อมูลได้อย่างเพียงพอด้วยตัวคุณเองบน MSDN (หรือดีกว่าในหนังสือของ Jon Skeet)
ความอยากรู้ช่วย
เมื่อฉันทำงานกับฝึกงานฉันมักจะสังเกตเห็นว่าสิ่งที่ดีที่สุดคือคนที่อยากรู้อยากเห็นนอกการบรรยายของพวกเขา พวกเขาอาจรู้ว่ามีสิ่งหนึ่งที่เรียกว่าการเขียนโปรแกรมเพื่อการใช้งานแม้ว่าครูของพวกเขาจะไม่พูดถึงมันและแม้ว่าพวกเขาจะไม่รู้ภาษาที่ใช้งานได้พวกเขาก็ยังสามารถอธิบายในแง่ทั่วไปว่า FP คืออะไรและแตกต่างจากคนอื่นอย่างไร กระบวนทัศน์ พวกเขาอาจรู้เกี่ยวกับ Agile หรือ Unicode หรือเกี่ยวกับโมเดลความน่าเชื่อถือ / แซนด์บ็อกซ์เพียงเพราะพวกเขากำลังอ่านบล็อกและใช้ Stack Exchange แทนที่จะเข้าร่วมการบรรยายของพวกเขา
แม้ว่าพวกเขาจะไม่มีผู้ให้คำปรึกษา แต่พวกเขาก็ยังเรียนรู้ทุกสิ่งที่ไม่ได้บอกในวิทยาลัย