هل يجب أن أذهب إلى Data Science؟

النصيحة التي أقدمها دائمًا عندما يسألني شخص ما من أين أبدأ في القيام بعلوم البيانات. من الأفضل أن تصبح مهندس برمجيات.



هذا رأيي الشخصي والاختياري. الحجج المضادة في التعليقات هي موضع ترحيب.

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

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

لدي خبرة في كلا المجالين ، سأحاول إقناعك بالاختيار الصحيح.
إديسون برمجيات - تطوير الويب
EDISON , -.


. , , , — .

, software engineering data science solve problems! ;-)

1. -


هناك عدد كبير من الوظائف في هندسة البرمجيات مقارنة بعلوم البيانات.

فيما يلي بعض لقطات الشاشة بعد البحث في Google عن " خبير في البيانات " (" عالم البيانات " ) و " تطوير البرمجيات " (" مهندس البرمجيات لديه" ).





7616 وظيفة شاغرة مقابل 53.893 في تطوير البرمجيات. هذا هو نفسه في الولايات المتحدة ، في بلدان أخرى.

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





على الرغم من الذي يجادل ، إذا عرض عليك مليون في OpenAI - توافق دون تردد.

2. لا يوجد إجماع على أن هذا هو "علم البيانات" بشكل عام


غالبًا ما يكون لدى إدارة الشركة فكرة غامضة عما تعنيه عبارة "علم البيانات". من الممكن أيضًا بسهولة ، نظرًا للقيود المحددة في العمل ، والتي تتكون في حقيقة أنه لا يمكن للشركة دائمًا اتباع هيكل الأدوار بدقة.

وهذا يعني أن مسؤوليات "خبير البيانات" تختلف اختلافًا كبيرًا جدًا من شركة إلى أخرى.


رسم شرطي قد تحتاجه اعتمادًا على مهام عملك. في الطيف بين حل مشاكل العمل و البحوث، وهناك عدد من المهن مثل مهندس البرمجيات ⇒ المهندس البيانات ⇒ آلة التعلم المهندس ⇒ عالم البيانات

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

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


لدي شهادات من زملائي (علماء البيانات) بأنهم يكتبون كود الواجهة الخلفية كمطوري برامج. أنا أعرف "باحثي البيانات" الآخرين الذين نجحوا في حل القضايا المالية لشركاتهم.

يمكن أن يتعارض هذا بشكل حاد مع توقعاتك ، خاصة إذا كانت قد تشكلت تحت تأثير مسابقات Kaggle.

3. عزلة عداء المسافات الطويلة حسب البيانات


لا تحتاج معظم الشركات إلى عدد كبير من خبراء البيانات مثل مهندسي البرمجيات. قامت شركات أخرى حتى الآن بتعيين أول متخصص في البيانات لديها (وفي الوقت الحالي - الوحيد).

لهذا السبب ، يعمل العديد من باحثي البيانات وحدهم ، حتى لو كانوا يجلسون على نفس الطاولة مع المطورين.

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

على العكس من ذلك ، فإن إحدى مزايا فريق تطوير البرمجيات هي القدرة على إخبار الزملاء دائمًا: "أعتقد أنك بحاجة إلى تنفيذ ABC في XYZ. رأيك؟ ".

لذا ، كن مستعدا ذهنيا لمناقشة المشاكل مع نفسك أو ... مع بطة مطاطية.

4. لعلوم البيانات طابع بحثي واضح


كن مستعدًا للمحادثات غير السارة مع الإدارة حول الموضوع الذي لن يتم استخدام ما كنت تعمل عليه لمدة أسبوعين.

يعد العمل على حل كل من المشكلات القابلة للحل وغير القابلة للحل أحد الاختلافات الأساسية بين تطوير البرامج والذكاء الاصطناعي.

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

5. الأعمال ليست جاهزة بعد للذكاء الاصطناعي


حتى في عصر تقدم فيه كل شركة كبيرة تقريبًا الذكاء الاصطناعي ، فإن معظمها لا يمتلك البنية التحتية المناسبة لدعمه.

أحد أصدقائي ، رئيس قسم علوم البيانات في شركة ناشئة تتطور بشكل مكثف ، شارك مؤخرًا حكمته في بدء التشغيل مع كوب من القهوة:

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

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

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

6. هندسة البرمجيات تمنح المهارات العامة


أن تصبح مهندس برمجيات مبتدئ يشبه الحصول على ماجستير في إدارة الأعمال في مجال التكنولوجيا. سوف تتعلم القليل من كل شيء.

ستتعرف على قواعد البيانات والتكنولوجيا السحابية والنشر والأمن وكتابة التعليمات البرمجية النظيفة.

سوف تتعلم كيفية إدارة تجميع البرامج من خلال مراقبة قائد scrum الخاص بك أو المطور الأول أو مدير المشروع. سوف تتلقى التوجيه.

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

7. تطوير البرمجيات كنشاط أكثر مرونة.


من خلال تجربة أكثر شمولاً مع التكنولوجيا ، يوفر تطوير البرامج المزيد من الخيارات عندما تقرر أن الوقت قد حان لتغيير شيء ما.

DevOps ، الأمان ، الواجهة ، الواجهة الخلفية ، الأنظمة الموزعة ، تحليلات الأعمال ، هندسة البيانات ، علوم البيانات ...

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


إذا كان بإمكانك إنشاء مشاريع E2E ، يمكنك أيضًا القيام بأكثر من مجرد إنشاء نموذج لمسابقة Kaggle. يمكنك أخذ هذا النموذج ، وإجراء ذلك ، وتكوين التفويض والمدفوعات الإلكترونية ، ثم تحقيق الدخل. هذه هي شركتك الناشئة.

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

8. سيصبح التعلم الآلي أداة شائعة لمطوري البرامج.


عندما يصبح الذكاء الاصطناعي أكثر ملاءمة وسهولة في الاستخدام ، سيبدأ مطورو البرامج في استخدامه لحل مشاكلهم.

يمكنني تعليم (في فترة ما بعد الظهر) مطور لبناء مصنفات sklearn. هذا لا يعني أن padawan سيقوم بإنشاء AlphaGo التالي ، ولكنه يمنحه بديلاً للمنطق الشرطي الثابت المشفر بناءً على إدخال المستخدم.

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

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

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

9. منظمة العفو الدولية لن تحل محل مهندسي البرمجيات في المستقبل المنظور


بغض النظر عن مدى غباء الأمر الآن ، في عام 2014 ، بدأت في تطوير البرامج ، خوفًا من أن الذكاء الاصطناعي سيجعل أي عمل آخر عفا عليه الزمن.


ومع ذلك ، منذ ذلك الحين ، لم نقترب حقًا من مستقبل التكنولوجيا. اعتماد التكنولوجيا بطيء ، ونحن بعيدون عن الذكاء الاصطناعي القوي أكثر مما تتخيل.

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

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

استنتاج


أولا ، هذا هو في المقام الأول IMHO بلدي. ثانيًا ، أدرك أنني مزجت علماء البيانات ومهندسي التعلم الآلي ومطوري الذكاء الاصطناعي في كومة واحدة - وأنا أفهم تمامًا الفرق بينهما. ومع ذلك ، يجدر النظر في هذه الحجج بعناية ، لأن هذه هي حياتك ومهنتك.

لا تأخذ ما قلته على محمل الجد. أفضّل أن تحقق في هذه المشكلة وتتخذ قرارك بنفسك. هذا جزء من عمل أي خبير بيانات بشكل عام :)

في النهاية ، يدفعون لنا بشكل أساسي لحل المشكلات.

ترجمات مدونة اديسون:


All Articles