مهندس البيانات أو يموت: قصة مطور واحد

في أوائل ديسمبر ، ارتكبت خطأ فادحًا ، واتخذت قرارًا محوريًا في حياتي كمطور ، وانتقلت إلى فريق هندسة البيانات (DE) داخل الشركة. في المقالة سوف أشارك بعض الملاحظات التي أدليت بها خلال شهرين من العمل في فريق DE.




لماذا هندسة البيانات؟


بدأت رحلتي إلى DE في صيف عام 2019 ، عندما كنا Xnegتوجهت إلى مدرسة الحاسبات الموزعة ، وهناك وصلت إلى التنوير. بدأت في الاهتمام بالموضوع ، ودراسة الخوارزميات وحتى الكتابة عنها ، ثم فكرت في مجال التطبيق وسرعان ما اكتشفت أن التطبيق العملي في شركتنا هو قواعد البيانات الموزعة.

ماذا يفعل فريقنا بشكل عام؟ نحن ، مثل جميع الفتيان والفتيات المألوفين ، نريد أن نصبح شركة تعتمد على البيانات. ولجعل ذلك ممكنًا ، نحتاج على الأقل إلى إنشاء مستودع موثوق به ، حيث سيكون من الممكن بناء أي تقارير مطلوبة من قبل الشركة. ولكن الأهم من ذلك - يجب الوثوق بالبيانات الموجودة في هذا المستودع. علاوة على ذلك ، وفقًا لهذه البيانات ، من الضروري أن تكون قادرًا على استعادة حالة النظام في الوقت المناسب. كل هذا معقد بسبب حقيقة أننا نعيش في عالم جديد شجاع من الخدمات الدقيقة ، وهذه الإيديولوجية تعني ضمنيًا أن كل خدمة تنفذ وظائفها الصغيرة ، وقاعدة بياناتها هي عمل خاص بها ، ويمكنها حذفها كل يوم على الأقل ، ولكن في نفس الوقت علينا تكون قادرة على تلقي ومعالجة حالة الخدمة.

تريد أن تكون مدفوعًا بالبيانات ، لتصبح أولاً مدفوعة بالحدث


ليس بسيط جدا. تختلف الأحداث ، وينظر إليها المطور ومهندس التاريخ بشكل مختلف. الحديث عن الأحداث هو موضوع مقال منفصل ، لذلك لن أخوض فيه. علاوة على ذلك ، شخص ما كتب مارتن فاولر بالفعل مثل هذا المقال ، لن آخذ أمجاده منه ، دعه يصبح مشهورًا أيضًا.

بشكل عام ، هناك شيء يجب التفكير فيه والمنطقة جذابة. لقد حدث ذلك أن شركة Data Engineer هي في نطاق مسؤوليتنا أوسع بكثير من مجرد شخص يكتب خطوط أنابيب ETL / ELT (إذا كنت لا تعرف ما تعنيه هذه الاختصارات - تعال إلى التخفيف . كإعلان سياقي ).

نحن منخرطون في هندسة بناء مستودع ونمذجة البيانات والقضايا المتعلقة بأمن البيانات وخطوط الأنابيب نفسها بالطبع. ونحتاج إلى التأكد من أن مطوري المنتجات من ناحية لم يكونوا مرهقين جدًا بحضورنا وكان عليهم تشتيت أقل قدر ممكن من متطلباتنا عندما رأوا ميزات جديدة في النظام ، ومن ناحية أخرى ، نحن بحاجة إلى توفير تخزين مريح بيانات المحللين وفرق BI. هكذا نعيش.

صعوبات الانتقال من التنمية


في اليوم الأول من عملي ، واجهت عددًا من الصعوبات التي أود مشاركتها معك.

1. أول شيء رأيته كان عدم ضبط بعض الممارسات. خذ ، على سبيل المثال ، تغطية الكود بالاختبارات. في التطوير ، لدينا مئات الأطر للاختبار. عند العمل باستخدام البيانات ، يكون كل شيء أكثر تعقيدًا. نعم ، يمكننا اختبار خطوط أنابيب ETL على بيانات الاختبار ، ولكن يتعين علينا القيام بكل هذا بأيدينا والبحث عن حلول لكل حالة محددة. ونتيجة لذلك ، فإن تغطية الاختبار أسوأ بكثير. لحسن الحظ ، هناك طبقة أخرى من الملاحظات في شكل مراقبة وسجلات ، ولكن هذا يتطلب منا بالفعل أن نتفاعل بدلاً من أن نكون استباقيين ، الأمر الذي يثير حنقنا .

2. العالم من موقع DE ، ليس على الإطلاق ما يبدو لمطور منتج عادي (حسنًا ، بالطبع ، القارئ ليس كذلك ، وهو يعرف كل شيء بالفعل ، لكنني لم أكن أعلم وهو الآن يركض). بصفتي مطورًا ، رأيت خدماتي الصغيرة ، وضعت البيانات في [قاعدة بيانات من اختيارك] ، حفظت حالتي هناك ، حصلت على شيء من خلال معرف الهوية وهو أمر طبيعي. الخدمة تدور ، الطلبات موحلة ، هذا كل شيء. يطلبون مني في خدمة أخرى أن أعثر على ولايتي ، حسنًا ، سأرمي حدثًا في بعض RabbitMQ وهذا كل شيء. وهنا عدنا مرة أخرى إلى قضية الأحداث الموضحة أعلاه.

إن ما تحتاجه الخدمة للعمل التشغيلي لا يناسبنا للبيانات التاريخية ، وتبدأ مسألة معالجة عقود الخدمة والعمل عن كثب مع فرق التطوير. لا يمكنك حتى تخيل عدد الساعات التي استغرقتها الموافقة: وما هو نوع الحدث الذي يقوده في شركتنا.

3. أنت بحاجة إلى التفكير برأسك. لا ، لا أقصد أن المطورين لا يفكرون (على الرغم من أنا أتحدث نيابة عن الجميع) ، إنك في تطوير المنتجات غالبًا ما يكون لديك بالفعل نوع من الهندسة المعمارية ، وتقلل العديد من الأعمال المتراكمة. بالطبع ، يتطلب هذا التخطيط والتفكير ، ولكن هذا عمل متدفق ، حيث تكون المشكلة الرئيسية ببساطة جيدة وعالية الجودة للقيام بها.

الأمر ليس بهذه البساطة هنا لأن نقل مكونات النظام المختلفة من متراصة دافئة ومريحة إلى عالم غابة الخدمات الصغيرة البرية ليس بهذه البساطة. عندما تبدأ الخدمة في رش الأحداث ، تحتاج إلى مراجعة منطق ملء التخزين ، لأن البيانات تبدو الآن مختلفة. هنا تحتاج إلى التفكير كثيرًا وبشكل شامل ، ليس كمطور ، ولكن كمهندس بيانات. إنها قصة عادية عندما تقضي أيامًا مع دفتر ملاحظات وقلم أو مع علامة بالقرب من اللوحة. إنه صعب للغاية ، لا أحب أن أفكر ، أنا أحب التين والإنتاج.

4. ربما تكون المعلومات هي الأهم. ماذا نفعل عندما نفتقر إلى المعرفة؟ من قال تدفق التكديس؟ أخرج هذا الشخص من الغرفة. سنقوم بقراءة المستندات والكتب حول هذا الموضوع ، ولا يزال هناك مجتمع ينظم المنتديات والاجتماعات والمؤتمرات. الوثائق رائعة ، لكنها للأسف غير مكتملة. نحن نستخدم Cosmos DB في عدد من المشاريع. حظا سعيدا في قراءة وثائق هذا المنتج. الكتب هي الخلاص الوحيد ، لحسن الحظ ، أنها موجودة ويمكن العثور عليها ، ولديهم الكثير من المعرفة الأساسية وعليك أن تقرأ الكثير باستمرار. لكن المجتمع في مشكلة.

من الصعب الآن في اتجاهنا إيجاد مؤتمر أو اجتماع واحد مناسب على الأقل. لا ، بالطبع ، هناك الكثير من التأثيرات على كلمة Data ، ولكن الاختصارات الغريبة مثل ML أو AI تظهر عادة بجوار هذه الكلمة. لذا ، هذا ليس لنا ، نحن نتحدث عن كيفية بناء مرافق التخزين ، وليس كيفية تشويه الخلايا العصبية. ملأ هؤلاء محبو موسيقى الجاز كل شيء. نتيجة لذلك ، نحن بلا مجتمع. بالمناسبة ، إذا كنت مهندس بيانات وتعرف مجتمعات جيدة ، يرجى الكتابة في التعليقات.

الاستنتاجات والإعلان عن mitap


ماذا لدينا في النهاية؟ تخبرني تجربتي الأولى أن الشعور بمظهر مهندس ما سيكون مفيدًا لكل مطور. إنه يسمح لك فقط بالنظر إلى الأشياء بشكل مختلف ولا تتفاجأ عندما تنزف أعيننا عند رؤية كيفية تعامل المطورين مع بياناتهم. لذلك إذا كانت شركتك لديها DE ، فقط الدردشة مع هؤلاء الرجال وتعلم الكثير (عن نفسك).

وأخيرا الإعلان. نظرًا لأنه من المستحيل العثور على رسومات مصورة حول موضوعنا خلال اليوم ، قررنا صنعها. وماذا ، ما نحن أسوأ؟ لحسن الحظ لدينا مدهشSchvepsssوأصدقائنا من المهن الجديدة ، الذين يعتقدون ، مثلنا ، أن مهندسي التاريخ محرومون من الاهتمام بشكل غير عادل.

أغتنم هذه الفرصة لأدعو جميع المعنيين إلى حضور اجتماعنا المجتمعي الأول بالاسم الواعد "DE أو DIE" ، الذي سيعقد في 02.27.2020 في مكتب دودو بيتزا. تفاصيل حول TimePad .

إذا كان هناك أي شيء ، سأكون هناك ، يمكنك أن تخبرني شخصيًا شخصيًا ، ما مدى خطئي بشأن المطورين.

All Articles