Ada banyak sumber untuk belajar dari rekan-rekan yang lebih berpengalaman: buku, blog pengembang yang terampil, Stack Exchange, ceramah / konferensi, dll. Ulasan kode juga sangat penting, dan CodeReview.SE adalah sumber daya yang berharga.
Mari kita lihat bagaimana ini bisa bekerja pada contoh.
Contoh
Anda sedang membaca posting blog yang menyebutkan istilah "ETL". Anda tidak tahu artinya, tetapi dari artikel ini, Anda samar-samar mengerti bahwa itu adalah semacam proses atau alur kerja yang memindahkan data dari beberapa dukungan data ke yang lain.
Anda pergi ke Wikipedia dan sumber daya lainnya dan mendapatkan visi yang lebih tepat tentang hal itu. Masih belum jelas kapan akan berguna menggunakan ETL. Setelah semua, tampaknya jauh lebih mudah untuk menulis query SQL yang akan melakukan semua pekerjaan, daripada menghabiskan terlalu banyak waktu untuk membangun ETL nyata.
Untuk menjawab pertanyaan-pertanyaan itu, Anda meminjam buku tentang ETL dari perpustakaan setempat Anda. Ini menjelaskan bahwa beberapa proses ekstrak-transform-beban tidak mudah dilakukan dengan query SQL sederhana: tidak hanya fase ekstrak dapat berurusan dengan beberapa, beragam dukungan data, tidak hanya database relasional, tetapi juga langkah transformasi bisa sangat rumit untuk baik memvalidasi / menormalkan data dan memetakannya.
Anda sekarang memiliki visi yang jelas tentang apa itu ETL, bagaimana menggunakannya dan terutama ketika Anda membutuhkan ETL dan kapan itu bukan alat yang tepat. Sementara itu, Anda telah menerapkan ETL kecil sebagai proyek pribadi. Proyek ini memungkinkan Anda menemukan beberapa poin yang tidak cukup jelas untuk Anda dan tidak dicakup oleh buku. Poin-poin itu agak abstrak dan tidak terkait dengan kode sumber, Anda memposting pertanyaan di Programmers.SE .
Ketika Anda memiliki kesempatan untuk membangun satu di perusahaan Anda, Anda mulai membuatnya. Anda memiliki beberapa masalah. Beberapa terkait dengan kode; Anda memposting pertanyaan di Stack Overflow . Lainnya terkait dengan database; Anda mengajukan pertanyaan pada DBA.SE .
Akhirnya, ada konferensi yang dilakukan oleh pengembang yang sangat terampil tentang cara mengoptimalkan ETL. Anda menghadiri konferensi ini dan memberi Anda petunjuk berharga tentang perangkat tambahan yang dapat Anda lakukan untuk proyek Anda.
Anda juga mulai mengikuti blog pengembang yang telah mengerjakan berbagai ETL selama bertahun-tahun. Sangat menarik untuk melihat berbagai pendekatan, dan melalui blog ini, Anda belajar tentang ECCD; Anda tertarik, jadi Anda meminjam ETK Toolkit Data Warehouse oleh Ralph Kimball, buku yang berbicara secara rinci tentang proses "ekstrak, bersihkan, sesuaikan, dan kirim". Blog yang sama juga menyebutkan banyak aplikasi yang dimaksudkan untuk membuat ETL tanpa keterampilan pemrograman. Ini sangat berguna untuk ETL yang telah Anda lakukan untuk perusahaan Anda, karena bos Anda, orang yang tidak memiliki teknologi, terus-menerus meminta Anda untuk melakukan beberapa perubahan kecil terhadap apa yang telah Anda lakukan.
Menemukan banyak hal
IMHO, bagian yang sulit, ketika Anda tidak memiliki mentor atau kolega yang lebih berpengalaman, adalah untuk menemukan sesuatu, dan dengan menemukan, maksud saya lulus dari negara bagian "Saya belum pernah mendengar tentang hal ini" ke "Saya sudah mendengar tentang itu tetapi tidak tahu apa itu ".
Jika seseorang meninjau kode saya dan mengatakan bahwa saya benar-benar harus mulai menggunakan beberapa konvensi gaya, dengan sedikit rasa ingin tahu saya dapat menemukan bahwa dalam pemrograman, ada berbagai gaya penulisan kode, bahwa seseorang harus tetap dengan gaya untuk bahasa tertentu dan basis kode, dan bahwa banyak bahasa memiliki alat untuk menegakkan gaya (seperti StyleCop untuk C #).
Jika tidak ada yang memberi tahu saya tentang gayanya, bagaimana saya tahu bahwa hal semacam itu ada?
Di situlah sumber daya seperti blog atau Stack Exchange sangat berguna. Wikipedia tidak akan membantu (kecuali Anda menghabiskan berhari-hari memukul halaman acak tentang pemrograman), dan buku-buku jarang berbicara tentang hal-hal itu.
Hal yang sama berlaku juga untuk pola dan praktik atau hal-hal yang kurang terkait dengan kode. Sebagai contoh, saya hampir tidak membayangkan beberapa pengembang bangun di pagi hari mengatakan pada dirinya sendiri bahwa dia harus belajar sesuatu tentang ITIL sementara dia tidak pernah peduli tentang ITIL sebelumnya.
Setelah Anda menemukan istilah baru, cukup mudah untuk mempelajarinya. Jika Anda telah memberikan istilah baru "kontrak kode" dan Anda adalah pengembang C #, Anda dapat dengan mudah menemukan cukup informasi sendiri di MSDN (atau, lebih baik, dalam buku Jon Skeet).
Keingintahuan membantu
Ketika saya bekerja dengan pekerja magang, saya selalu memperhatikan bahwa yang terbaik adalah mereka yang ingin tahu di luar kuliah mereka. Mereka mungkin tahu bahwa ada sesuatu yang disebut pemrograman fungsional bahkan jika tidak ada guru mereka yang pernah menyebutkannya, dan sementara mereka mungkin tidak tahu bahasa fungsional, mereka masih bisa menjelaskan secara umum apa itu FP dan bagaimana perbedaannya dari yang lain. paradigma. Mereka mungkin tahu tentang Agile, atau tentang Unicode, atau tentang model partial-trust / sandbox, hanya karena mereka membaca blog dan menggunakan Stack Exchange, daripada sekadar menghadiri kuliah mereka.
Bahkan ketika mereka tidak memiliki mentor, mereka masih mempelajari semua hal yang tidak diceritakan di perguruan tinggi.