डेटा इंजीनियर या डाई: एक एकल डेवलपर कहानी

दिसंबर की शुरुआत में, मैंने एक घातक गलती की, एक डेवलपर के रूप में मेरे जीवन में एक महत्वपूर्ण निर्णय लिया, और कंपनी के अंदर डेटा इंजीनियरिंग (डीई) टीम में स्थानांतरित कर दिया। लेख में मैं डीए टीम में काम करने के दो महीनों के दौरान किए गए कुछ टिप्पणियों को साझा करूंगा।




डेटा इंजीनियरिंग क्यों?


डीई के लिए मेरी यात्रा 2019 की गर्मियों में शुरू हुई, जब हमने Xnegडिस्ट्रीब्यूटेड कंप्यूटिंग स्कूल में चले गए , और वहाँ मैं आत्मज्ञान तक पहुँच गया। मुझे इस विषय में रुचि होने लगी, एल्गोरिदम का अध्ययन करना और उनके बारे में लिखना भी शुरू किया , और फिर मैंने आवेदन के क्षेत्र के बारे में सोचा और जल्दी से पता चला कि हमारी कंपनी में व्यावहारिक अनुप्रयोग डेटाबेस वितरित किए गए हैं।

हमारी टीम सामान्य रूप से क्या करती है? हम, सभी फैशनेबल लड़कों और लड़कियों की तरह, एक डेटा ड्रिवेन कंपनी बनना चाहते हैं। और इसे संभव बनाने के लिए, हमें कम से कम एक विश्वसनीय रिपॉजिटरी बनाने की आवश्यकता है, जिस पर कंपनी द्वारा आवश्यक किसी भी रिपोर्ट का निर्माण करना संभव होगा। लेकिन सबसे महत्वपूर्ण बात यह है कि इस भंडारण में डेटा पर भरोसा किया जाना चाहिए। इसके अलावा, इन आंकड़ों के अनुसार, समय टी पर सिस्टम की स्थिति को पुनर्स्थापित करने में सक्षम होना आवश्यक है। यह सब इस तथ्य से जटिल है कि हम माइक्रोसर्विसेस की एक बहादुर नई दुनिया में रहते हैं, और यह विचारधारा निहित है कि प्रत्येक सेवा अपनी छोटी कार्यक्षमता को लागू करती है, इसका डेटाबेस अपना स्वयं का व्यवसाय है, और यह इसे कम से कम हर दिन हटा सकता है, लेकिन साथ ही साथ हमें करना होगा सेवा की स्थिति प्राप्त करने और संसाधित करने में सक्षम हो।

डेटा ड्रिवेन बनना चाहते हैं, पहले एक इवेंट ड्रिवेन बनें


इतना आसान नहीं। घटनाक्रम अलग हैं, और डेवलपर और तिथि इंजीनियर उन्हें अलग तरह से देखते हैं। घटनाओं के बारे में बातचीत एक अलग लेख का विषय है, इसलिए यहां मैं इसमें नहीं जाऊंगा। इसके अलावा, मार्टिन फाउलर ने पहले ही इस तरह का एक लेख लिखा था , मैंने उनसे अपनी प्रशंसा नहीं ली, उन्हें भी प्रसिद्ध होने दें।

सामान्य तौर पर, सोचने के लिए कुछ है और क्षेत्र आकर्षक है। यह सिर्फ इतना हुआ हमारी कंपनी में डाटा अभियंता सिर्फ एक व्यक्ति जो ईटीएल / ईएलटी पाइपलाइनों लिखते हैं की तुलना में जिम्मेदारी का एक बहुत व्यापक क्षेत्र है कि (यदि आप नहीं जानते कि इन संक्षिप्त रूपों क्या मतलब है - के लिए आते हैं mitapएक प्रासंगिक विज्ञापन के रूप में )।

हम निश्चित रूप से एक गोदाम के निर्माण, और मॉडलिंग डेटा, और डेटा सुरक्षा से संबंधित मुद्दों और खुद पाइपलाइनों के निर्माण में लगे हुए हैं। और हमें यह सुनिश्चित करने की आवश्यकता है कि एक तरफ, उत्पाद डेवलपर्स हमारी उपस्थिति से बहुत बोझिल नहीं थे और हमारी आवश्यकताओं से यथासंभव कम विचलित होना पड़ा, जब उन्होंने सिस्टम में नई सुविधाओं को देखा, और दूसरी ओर, हमें आसानी से संग्रहीत करने की आवश्यकता है विश्लेषकों और बीआई टीमों के लिए डेटा। इसी तरह हम जीते हैं।

विकास से आगे बढ़ने में कठिनाइयाँ


अपने काम के पहले दिन, मुझे कई कठिनाइयों का सामना करना पड़ा, जिन्हें मैं आपके साथ साझा करना चाहता हूं।

1. पहली चीज़ जो मैंने देखी, वह थी ट्यूनिंग और कुछ प्रथाओं की कमी। उदाहरण के लिए, परीक्षणों के साथ कोड कवरेज लें। विकास में, हमारे पास परीक्षण के लिए सैकड़ों चौखटे हैं। डेटा के साथ काम करते समय, सब कुछ अधिक जटिल होता है। हां, हम परीक्षण डेटा पर ETL पाइपलाइन का परीक्षण कर सकते हैं, लेकिन हमें यह सब अपने हाथों से करना होगा और प्रत्येक विशिष्ट मामले के समाधान की तलाश करनी होगी। नतीजतन, परीक्षण कवरेज बहुत खराब है। सौभाग्य से, निगरानी और लॉग के रूप में प्रतिक्रिया की एक और परत है, लेकिन इसके लिए हमें पहले से ही सक्रिय रूप से प्रतिक्रिया करने की आवश्यकता है, जो हमें प्रभावित करती है

2. डीई की स्थिति से दुनिया बिल्कुल भी नहीं है कि यह एक सामान्य उत्पाद डेवलपर को क्या लगता है (ठीक है, निश्चित रूप से, पाठक ऐसा नहीं है, और वह पहले से ही सब कुछ जानता है, लेकिन मुझे नहीं पता था और अब वह चकरा रहा है)। एक डेवलपर के रूप में, मैंने अपना माइक्रोसर्विस देखा, डेटा को अपनी पसंद के डेटाबेस में डाल दिया] मेरे राज्य को वहां सहेजा, आईडी द्वारा कुछ हासिल किया और यह सामान्य है। सेवा कताई है, आदेश खराब हो रहे हैं, बस। वे मुझे अपने राज्य को तहस-नहस करने के लिए एक और सेवा में पूछते हैं, ठीक है, मैं एक घटना को कुछ खरगोश में फेंक दूंगा और बस। और यहाँ हम फिर से ऊपर वर्णित घटनाओं के मुद्दे पर लौट आए।

परिचालन डेटा के लिए सेवा की क्या जरूरत है, यह हमें ऐतिहासिक डेटा के लिए सूट नहीं करता है, सेवा अनुबंधों के प्रसंस्करण और विकास टीमों के साथ मिलकर काम करने का सवाल शुरू होता है। आप इस बात की कल्पना भी नहीं कर सकते हैं कि हमें सहमत होने में कितने घंटे लगे: हमारी कंपनी में वह किस तरह की घटना है।

3. आपको अपने सिर के साथ सोचने की जरूरत है। नहीं, मेरा मतलब यह नहीं है कि डेवलपर्स यह नहीं सोचते हैं (हालांकि मैं हर किसी के लिए बोलने वाला हूं), यह सिर्फ इतना है कि उत्पाद विकास में आपके पास पहले से ही कुछ प्रकार की वास्तुकला है, और आप विभिन्न बैकलॉग काट रहे हैं। बेशक, इसके लिए योजना और प्रतिबिंब की आवश्यकता होती है, लेकिन यह एक स्ट्रीमिंग कार्य है, जहां मुख्य समस्या बस अच्छी और उच्च गुणवत्ता की है।

यहाँ यह इतना सरल नहीं है क्योंकि जंगली सुक्ष्म जंगल की दुनिया में गर्म और आरामदायक मोनोलिथ से विभिन्न सिस्टम घटकों का हस्तांतरण इतना सरल नहीं है। जब सेवा घटनाओं के साथ छिड़कना शुरू करती है, तो आपको भंडारण को भरने के तर्क को संशोधित करने की आवश्यकता होती है, क्योंकि डेटा अब अलग दिखता है। यहां आपको एक डेवलपर के रूप में नहीं, बल्कि डेटा इंजीनियर के रूप में बहुत कुछ और अच्छी तरह से सोचने की जरूरत है। यह एक सामान्य कहानी है जब आप एक नोटबुक और पेन के साथ या बोर्ड के पास एक मार्कर के साथ दिन बिताते हैं। यह बहुत मुश्किल है, मैं सोचना पसंद नहीं करता, मुझे अंजीर और उत्पादन में बहुत पसंद है।

4. शायद सबसे महत्वपूर्ण जानकारी है। ज्ञान की कमी होने पर हम क्या करते हैं? स्टैकओवरफ़्लो किसने कहा? इस व्यक्ति को कमरे से बाहर निकालें। हम डॉक्स, विषय पर किताबें पढ़ने जा रहे हैं, और अभी भी एक समुदाय है जो मंचों, बैठकों और सम्मेलनों का आयोजन करता है। प्रलेखन शांत है, लेकिन दुर्भाग्य से यह अधूरा है। हम कई परियोजनाओं में कॉस्मॉस डीबी का उपयोग कर रहे हैं। सौभाग्य इस उत्पाद के लिए प्रलेखन पढ़ने। किताबें एकमात्र मोक्ष हैं, सौभाग्य से, वे मौजूद हैं और पाया जा सकता है, उनके पास बहुत अधिक मौलिक ज्ञान है और आपको बहुत कुछ और लगातार पढ़ना होगा। लेकिन समुदाय मुश्किल में है।

अब हमारी दिशा में कम से कम एक पर्याप्त सम्मेलन या बैठक करना मुश्किल है। बेशक, डेटा शब्द के साथ ढेर सारे माइटैप्स हैं, लेकिन एम एल या एआई जैसे अजीब संक्षिप्तीकरण आमतौर पर इस शब्द के बगल में दिखाई देते हैं। तो, यह हमारे लिए नहीं है, हम भंडारण सुविधाओं के निर्माण के बारे में बात कर रहे हैं, न कि न्यूरॉन्स के साथ कैसे धब्बा। इन कूल्हों ने सब कुछ भर दिया। नतीजतन, हम एक समुदाय के बिना हैं। वैसे, यदि आप एक डाटा इंजीनियर हैं और अच्छे समुदायों को जानते हैं, तो कृपया टिप्पणियों में लिखें।

निष्कर्ष और मिटप की घोषणा


आखिर में हमारे पास क्या है? मेरा पहला अनुभव बताता है कि एक इंजीनियर की तारीख के जूते में महसूस करना हर डेवलपर के लिए उपयोगी होगा। यह सिर्फ आपको चीजों को अलग तरह से देखने की अनुमति देता है और आश्चर्यचकित नहीं होना चाहिए जब हमारी आंखें देखती हैं कि डेवलपर्स अपने डेटा का इलाज कैसे करते हैं। इसलिए यदि आपकी कंपनी के पास DE है, तो बस इन लोगों के साथ चैट करें और बहुत कुछ सीखें (अपने बारे में)।

और अंत में, घोषणा। चूंकि दिन के दौरान हमारे विषय पर माइटैप्स का पता लगाना असंभव है, इसलिए हमने अपना खुद का बनाने का फैसला किया। और क्या, हम क्या बदतर हैं? सौभाग्य से हमारे पास एक अद्भुत हैSchvepsssऔर न्यू प्रोफेशन लैब के हमारे दोस्त , जो, हमारी तरह, सोचते हैं कि तारीख इंजीनियर ध्यान से वंचित हैं।

मैं इस अवसर पर सभी संबंधितों को आमंत्रित करने के लिए आमंत्रित करता हूं, जो होनहार नाम "DE या DIE" के साथ हमारी पहली सामुदायिक बैठक में आए, जो 02.27.2020 को डोडो पिज्जा के कार्यालय में आयोजित किया जाएगा। टाइमपैड पर विवरण

यदि कुछ भी हो, तो मैं वहां रहूंगा, आप व्यक्तिगत रूप से मुझे बता सकते हैं कि मैं डेवलपर्स के बारे में कितना गलत हूं।

All Articles