العودة إلى المجتمع

الرحلات وElixir وExercism

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

شاهد على YouTube
المدة 45دقيقة

Jonathan: حسنًا، مساء الخير جميعًا وأهلًا بكم في بودكاست Exercism. يشرفني أن يكون معي Brian Underwood. يا Brian، أين تعيش في هذه الفترة؟ وأخبرنا قليلًا عن قصتك وكيف انتهى بك المطاف حيث أنت الآن. Brian: أجل، بالتأكيد. شكرًا لاستضافتي. نعم، أنا في ستوكهولم، السويد. لكنني في الأصل من الولايات المتحدة، وُلدت في أوهايو، فهي رحلة طويلة نوعًا ما من هناك. Jonathan: لا. Brian: الـ... أظن، قصتي... كنت تريد أن تعرف من أين أنا، أعني رحلتي في ما بين ذلك كما أظن. Jonathan: أجل، بالتأكيد. كيف انتهى بك المطاف من وسط الولايات المتحدة إلى... السويد، إسكندنافيا، كما تعلم، هذه قفزة كبيرة. Brian: بالتأكيد. أجل. أجل، بالطبع، إنه وسط الولايات المتحدة. لا ألومك على ارتباكك، فلا أحد تقريبًا يعرف أين تقع أوهايو. هذا ممتع تمامًا. نعم، درست في جامعة ولاية أوهايو. وكان ذلك أشبه بعلوم الحاسوب والتربية. كان ذلك ممتعًا، استمتعت به. وكنت نوعًا ما أعمل... في الدعم الفني في كلية العلوم الإنسانية طوال فترة وجودي هناك. كنت محظوظًا بما يكفي لأحصل على وظيفة هناك حين بدأت. وواصلت العمل فيها بضع سنوات بعد تخرجي. لكن بعد ذلك، أظن أنني أصبت بقليل من الملل من مكاني وما كنت أفعله، وانفصلت عني صديقتي أيضًا. فلندع هذا، لندع هذا. Jonathan: يمكنك القول إنها ليست ذكريات سعيدة. Brian: أجل، أعني أن كل شيء بدا على ما يرام بالنظر إلى الوراء. لكن، أجل، الأمر أشبه بأن أقول: حسنًا، أظن أن الفرصة أتيحت لي هنا. فقررت أن أقضي بضعة أسابيع في السفر عبر أوروبا، وكانت أول مرة... أخرج فيها فعليًا من الولايات المتحدة لفترة مطوّلة. وكان ذلك جيدًا، السفر عبر أوروبا. ثم قررت، قبل أن أفعل ذلك، قررت أن أنتقل. واستقرّ رأيي على بوسطن مكانًا سأنتقل إليه. فحصلت على، لا أعرف إن كنت محظوظًا نوعًا ما، لكن كانت لديّ فرصتان: كنت دائمًا أعمل في دعم أجهزة Mac وكان ذلك شيئًا كبيرًا في حياتي. فكانت إحدى الوظيفتين التي أتيحت لي هي وظيفة دعم فني لأجهزة Mac في بوسطن. والأخرى كانت هذه الشركة الناشئة الصغيرة التي تصنع برمجيات لشركات الهواتف المحمولة، مثل كيفية عرض بضائعها في متاجرها. وأظن أنني أردت حقًا أن أتحول إلى مبرمج. لكن الوظيفة الأخرى كانت: أوه، هذا ما فعلته لفترة طويلة. لكنني أظن أنني كنت أميل إلى جانب: حسنًا، سأخوض هذه الحياة الجديدة، هذه المهنة التي أريدها. لكنني أظن أنني كنت محظوظًا أيضًا في الحصول على الوظيفة، لأنني أظن أنهم كانوا يحتاجون إلى شخص بشدة. فقبلوني كما أنا. وتبيّن أن تلك كانت وظيفة كبيرة عملت فيها عدة سنوات. أجل، وكانت تلك البدايات. باختصار، من هناك التقيت بزوجتي الحالية وانتقلنا إلى بروفيدنس، وتزوجنا هناك. ثم انتقلنا إلى كاليفورنيا. أظن أن زوجتي حصلت على وظيفة في سان فرانسيسكو. فقلت: أجل، أستطيع. أنا مطوّر برمجيات، أستطيع، أستطيع الحصول على وظيفة في سان فرانسيسكو. لا، لا، لا مشاكل. وكان ذلك رائعًا. عشنا في أوكلاند وعملنا في سان فرانسيسكو بضع سنوات. ثم قررنا أننا نريد السفر لبضع سنوات. فانتهى بنا الأمر بالسفر حول العالم لمدة سنتين، وكان عمر ابننا آنذاك سنتين ونصفًا. فسافرنا معه بضع سنوات. ثم عدنا إلى الولايات المتحدة لبضع سنوات. ثم قررنا: أوه، كما تعلم، مررنا بستوكهولم أثناء رحلاتنا. وقلنا: نحن نحب ستوكهولم حقًا. فقلنا: حسنًا، سنعود. وهذا ما حدث، وهنا حيث كنا في السنوات الأربع الماضية أو نحو ذلك. Jonathan: هل زوجتك سويدية أم أن الأمر مجرد أنك تحب ستوكهولم؟ أوه، كيف... ما القصة هناك؟ Brian: أجل، لا، هذا سؤال جيد. إنه سؤال يطرحه كثيرون. لكن لا، كلانا أمريكيان. كلنا الثلاثة أمريكيون، بما في ذلك ابني. مع أنه يتحدث السويدية أفضل بكثير من أيٍّ منا. نحن نعمل على ذلك. لكن، أجل، لا، لقد أحببناها حقًا. أظن أن هناك أماكن قليلة سافرنا إليها وقلنا: حسنًا، ربما قد نعيش هنا لو أردنا الانتقال إلى مكان ما. أظن أن أحدها كان أوكلاند، مررنا به وأحببناه كثيرًا. في نيوزيلندا؟ تعني أوكلاند، نيوزيلندا؟ نيوزيلندا، بالضبط. لكن ذلك كان بعيدًا نوعًا ما؛ لو أردنا السفر إلى أوهايو لزيارة العائلة لكانت تلك رحلة شاقة. ما زال الأمر شاقًا نوعًا ما من السويد بالطبع. Jonathan: حسنًا، والآن ذكرت... لقد علّقت على البرمجة مقابل، أو علوم الحاسوب، عفوًا، والبرمجة. ما الفرق؟ لأنني في ذهني أرى علوم الحاسوب نوعًا من البرمجة، لكن يبدو أن الأمر ليس كذلك. أو ربما هو كذلك، لا أعرف. فما الذي قصدته بذلك تحديدًا؟ Brian: أجل. لا أعرف إن كنت أعرف الفرق. أعني أنني حصلت على شهادة في علوم الحاسوب، وأظن أنها كانت برمجة، لكنها لم تكن مثل... ما سمعت به أنت أو سمعه آخرون. أنك لا تتعلم دائمًا بشهادة جامعية الأشياء الواقعية التي قد تتعلمها وتفعلها في وظيفة. وعلى الأرجح تغيّر ذلك بعض الشيء منذ درست في الجامعة. أظن أن هناك تحولًا نحو تعليم أكثر عملية. مثلًا، أتذكر... كما تعلم، كنا نتعلم، أظن أن C وJava كانتا اللغتين الرئيستين التي تعلمناها آنذاك. وعلى وجه الخصوص، أتذكر أننا كنا نتعلم شيئًا في Java، في أحد الصفوف، حيث كانوا... كان ذلك، أظن أنها كانت طريقة تدريس أو نوعًا من مقاربة الأمور حيث تعلّق على كل دالة من دوالك بتفصيل شديد لتقول، كان يُسمى التصميم بالعقد، حيث تقول مثلًا: ما الذي يناسبه؟ كما تعلم، في عقد قانوني، تقول نوعًا ما: حسنًا، ما مسؤولياتك؟ وما مسؤولياتي؟ فتصميم دالة بالعقد يعني: حسنًا، إذا زوّدتني بهذه القيم في المتغيرات، وكما تعلم، لا تزوّدني أبدًا بعدد سالب في هذه، وتتأكد دائمًا أن هذه السلسلة النصية ليست فارغة أبدًا، أو أيًا كان، صحيح؟ هذه هي الأشياء التي أنت مسؤول عنها. ثم إذا فعلت ذلك، أعدك بأن أفعل هذا، صحيح، وأن أحقق هذا. وكانت هناك بنية تعليقات أتذكر أنني كنت مرتبكًا جدًا وأظن أن التعليقات تُنفَّذ بطريقة ما، وأنها جزء من البرنامج. وكنت... أظن أنني قضيت يومين أو نحو ذلك أتساءل: ماذا؟ ما الذي يُفترض أن أفعله هنا؟ وفي النهاية أدركت أنها كانت مجرد هذه الطريقة الشكلية جدًا التي... وأظن أنها كانت جيدة بمعنى أن التفكير يشكّل عقلي أحيانًا. من الجيد أن تفكر في عدم امتلاك دالة قادرة على التعامل مع كل شيء يمكن أن يحدث، لأن ذلك سيؤدي إلى الجنون فقط. Jonathan: إذن ذهبت إلى الجامعة وعلوم الحاسوب هي نوعًا ما التخصص الرئيسي الذي كنت تفكر في دراسته. كيف قررت ذلك؟ هل كان الأمر مجرد أن لديك انجذابًا طبيعيًا نحو المواد الأكثر علمية في المدرسة أو الثانوية، أم كانت هناك لحظة قلت فيها: في الحقيقة هذا يناسبني تمامًا؟ ما الذي سبق قرارك بأن علوم الحاسوب تخصص تريد دراسته؟ Brian: أجل، كنت محظوظًا إلى حد كبير لأنني انجذبت إليه طبيعيًا كما أظن. لا أعرف، أتذكر... أنه كان لديّ خيار في البرامج في مرحلة ما، حيث كان يمكنني الالتحاق ببرنامج الآداب والعلوم، مسار علوم الحاسوب، أو مسار علوم الحاسوب الهندسي. وكان أحد البرنامجين يتضمن أخذ مقرر لغة، وكانت الإسبانية اللغة التي كنت مسجلًا فيها من الثانوية. أما الآخر فكان: أوه، لست مضطرًا لدراسة لغة أجنبية، لكن عليك دراسة فيزياء ورياضيات أكثر. فقلت: حسنًا، سجّلوني في ذلك. فأظن أنني كنت، أظن أنني انجذبت إلى ذلك. أظن الأمر أشبه بأن... مع أن الشيء الذي أفكر فيه كثيرًا هو أنه، وربما يكون هذا نوعًا من امتياز الاهتمام العلمي أو الرياضي الذي أملكه، لكنني أشعر أن... الرياضيات، ممارسة الرياضيات. كثير من الناس يقولون: أوه، الرياضيات، أتوتر من الرياضيات أو إنها مرهقة أو أيًا كان. وهذا، أتفهم أن الأمر قد يكون كذلك تمامًا، لكنني أتساءل إن كان بعض الناس أحيانًا، لمجرد سبب ما، يجدون المتعة في الرياضيات ويستطيعون نوعًا ما أن يتحمسوا لها، والأمر هو نفس القدر من العمل والاستنتاج. لكنه لا يبدو كذلك، لأنه حين نستمتع لا نشعر أن العمل كثير. على الأرجح ليس الأمر بهذا الشكل بالضبط، إنها مجرد نظرية خاصة لديّ، وعلى الأرجح صحيحة نصفها فقط. Jonathan: لكن الأمر كان مضحكًا لأنه فقط، أتذكر أنني درست الكيمياء ثلاث سنوات في شهادة GCSE في المملكة المتحدة، لديك ثلاث سنوات من التعلم حتى امتحانات GCSE، ثم تخوض هذه الامتحانات الكبيرة في سن السادسة عشرة وتدرس مجموعة كاملة من الموضوعات، فتدرس عشرة مواد مختلفة تقريبًا، وهذا كثير جدًا. ثم تقرر: حسنًا، سأدرس A levels، سأدرس مزيدًا من الرياضيات أو العلوم أو أيًا كان، أو الإنجليزية أو الدراما أو أيًا كان. لكنني أتذكر أن الكيمياء لم أستوعبها نحو سنتين، ثم في الأسبوع الذي قبل الامتحان صار كل شيء منطقيًا: الجدول الدوري وكيف يعمل كل ذلك، وقلت: أوه، أستطيع الحصول على كل الإجابات من الجدول الدوري، عليّ فقط، إنه مثل الكلمات المتقاطعة أو أيًا كان. وكانت تلك لحظة إضاءة المصباح، وأتذكر أنني منذ تلك اللحظة قلت: أوه، هذه أسهل مادة على الإطلاق. لكنها كانت سنتين من العناء للوصول إلى تلك النقطة، وهذا مثير للاهتمام لأنني أشعر أن البرمجة بالنسبة لي مشابهة، أي أن تغمر نفسك فيها لفترة طويلة ثم يأتي الفهم فجأة. وأنا متحمس للحظة التي يبدو فيها أن الأمر يتجه في ذلك الاتجاه. لكنني أظن أن ما تصفه هناك، كما تعلم، رأيت أصدقاء فهموا بسرعة كبيرة من البداية واستمتعوا بالأمر، وكان جانب حل المشكلات السمة الرئيسية للتعلم، وهذا مثير للاهتمام جدًا في نظري. فمن الرائع أنك خضت ذلك بنفسك أيضًا كما أظن. Brian: أعرف أن هناك تطبيقًا في الحقيقة لعبه ابني على جهاز iPad الخاص به. هناك شركة أو سلسلة تطبيقات تُسمى Dragon Box. لا أعرف إن كنت قد سمعت بها من قبل. لكنها تصنع تطبيقات تعليمية جميلة حقًا. عادة أكون متشككًا في معظم التطبيقات التعليمية، لكنهم يصنعون عددًا من التطبيقات الجيدة حقًا. وأحدها يتعلق بالهندسة. وأفكر في هذا كاستعارة كثيرًا: أنه لم يكن هندسة، بل كان جبرًا. هناك تطبيق للهندسة أيضًا. لكن مع تطبيق الجبر، فهو لا يعلّمك مفاهيم الجبر فعليًا، بل يعلّمك ميكانيكا الجبر. Jonathan: تأكدوا من الإعجاب بهذا الفيديو والاشتراك في قناتنا لمزيد من الفيديوهات مثل هذا. Brian: وهو يفعل ذلك بطريقة يكون فيها جانبان مختلفان بهذين الصندوقين المختلفين، وعليك أن تجعل الأشياء تتوازن على الجانبين. تنقل الوحش من جانب إلى آخر، أو عليك تحويله من نوع معين من الوحوش إلى آخر. مضى وقت قليل منذ أن رأيته، لكن ما أتذكره بوضوح هو أنه كان يتعلم ميكانيكا الجبر، مع أنه لم يكن يفهم ما الذي يعمل من أجله ولماذا يفعل ذلك. لكن كان من الممتع فعله، وقد فعلوه بطريقة جعلته جذابًا حقًا. والشيء الذي أظنه رائعًا في ذلك، وأريد أن يعيد خوض التطبيق عندما يبدأ دراسة الجبر، لأنني أشعر أنه إذا أتقنت الميكانيكا، فلا داعي للقلق بشأنها كثيرًا، ويمكنك نوعًا ما التفكير في المستوى الأعلى دون أن تتوتر من أمور الميكانيكا. وأظن أن هذا ربما هو ما تقوله عن الكيمياء. لا أعرف إن كان الأمر كذلك بالنسبة لك، لكن ربما يكون مثل: لماذا يهمّني كل هذا الميكانيكا وهذه القواعد وهذه الأمور؟ ثم بمجرد أن تصل إلى نقطة معينة، تقول: حسنًا، لقد عانيت من ذلك نوعًا ما. يمكنني الآن أن أهتم بسبب فعلي لهذا. Jonathan: أجل، أجل. لا، كانت تجربة مثيرة للاهتمام حقًا لأنها كانت أول مرة أمرّ فيها بتلك العملية من فهم شيء ما، ثم تمرّ بفترة تفقد فيها الكثير من الثقة في تلك المواد لأنك تظن: أوه، عقلي ليس مهيأً بشكل خاص لذاك النوع من التفكير. لكن في الحقيقة، إذا نظرت إلى الأدب الإنجليزي، على سبيل المثال، وهو ما درسته، فإنك تسير فعليًا بشكل منهجي جدًا في النظر إلى اللغة وكيف تُبنى الأشياء وفهمها، لكن هناك فرق دقيق، وهناك طابع فني في الأمر كله أيضًا، وأعني أنه يمكنك القول إن هناك أيضًا عنصرًا فنيًا في التطوير والبرمجة. كل شخص له نكهته الصغيرة الخاصة، وأظن أن هذا ما أدركه أكثر وأكثر: لا توجد قاعدة صارمة وسريعة في أي شيء. الأمر كله مقايضات. لذا لا، كان ذلك رائعًا. والآن، لقد ساعدتنا في الدفعات، لمن يستمع، وهي تجارب تعليمية أطلقناها في Elixir وGolang، ويا Brian، ساعدت قليلًا في دفعة Elixir. فكيف دخلت إلى Elixir كلغة بحد ذاتها؟ ما كانت الخلفية في الولوج إلى ذلك؟ Brian: أجل، الأمر مضحك، لأن أحدهم كان يسألني هذا السؤال بالضبط اليوم. لأنه، أعني، إنها لغة متخصصة نوعًا ما كما تعلم. لكنني كنت في عالم Ruby. كنت مطوّر Ruby لفترة طويلة. وأحب Ruby حقًا، لأنه، كما تعلم، أنا من نوع المبرمجين الذين يريدون إنجاز الأمور، يريدون التفكير في إنجاز المشكلات الصعبة. ومن الصعب إنجاز المشكلات الصعبة حين تفكر في التفاصيل الصغيرة وتضطر للتعامل مع المؤشرات أو أيًا كان، صحيح. فكانت Ruby رائعة لذلك. ثم بالطبع، جاء Joseph Alim، مبتكر Elixir، من عالم Ruby. كان غزير الإنتاج بالفعل في عالم Ruby، وقرر أنه يحتاج، لا يحتاج، ربما لأنه مذهل، قرر أن يصنع لغته الخاصة ويكون غزير الإنتاج فيها، وأبدع في ذلك. فأنا نوعًا ما، كما تعلم، كنت متعلقًا بذلك العالم حيث، كما تعلم، كنت أستمع إلى بعض البودكاست التي كانوا يتحدثون فيها أحيانًا عن Ruby، ثم ظهر: أوه، هذا شيء جديد اسمه Elixir. ثم أظن أن هناك ربما تحولًا طفيفًا، أو أمرًا جوهريًا نوعًا ما، وهو أنني كنت أعيش في، في الحقيقة انتقلت للتو إلى كولومبوس لفترة، كولومبوس، أوهايو، وجاء Joseph Aleem إلى مجموعة Ruby في كولومبوس، Columbus Ruby Brigade. وكانوا يقولون: كما تعلم، Joseph Aleem رائع جدًا، فليأت ويتحدث عن أي شيء يريد التحدث عنه. وبالطبع قال: نعم، سأتحدث عن Elixir لأنني صنعت هذه اللغة. أنا متحمس لها حقًا. أجل. أجل، بالضبط. وأتذكر هذا. من المضحك أنه قبل سنة فقط وجدت تسجيلًا لتلك المحاضرة. وهو ضبابي قليلًا. لكن يمكنك مشاهدته. وما زلت، أستطيع أن أجد المكان الذي طرحتُ فيه سؤالًا على Joseph. وأتذكر أنني كنت أشعر بهذا الارتباك حول كيف بالضبط. Jonathan: أنا متحمس لها حقًا. Brian: الـ... هذه المفاهيم مثل أنك تنشئ هذه العمليات ويمكنها التعافي من الفشل، إذا كانت لديك مشرفات أو أيًا كان. لا أتذكر بالضبط ما قاله، لكنني كنت أقول: كيف يعمل ذلك؟ ثم: حسنًا، تتعافى من الأخطاء. لكن هل، هل ما زلت تتعلم عن تلك الأخطاء؟ أو ماذا يحدث؟ والأمر، كانت هذه عملية كاملة لأتعلم ما يعني ذلك. وأظن أنها عملية مثيرة للاهتمام حقًا. أظن أنه في ذلك الوقت، كان كثير من مجتمع Elixir يعانون في وصف هذه المفاهيم. وأظن أن هناك المزيد من المقالات والمدونات والمزيد والمزيد من الأشياء ليستوعبها الناس ويأتوا أسرع. لكن على أي حال، هذا هو المكان الذي دخلت منه. أظن أن ذلك كان أحد الأماكن الكبيرة. الأمر مثل: أوه، هذا يبدو مثيرًا للاهتمام. وإذا قال Jose إنه رائع، فعليّ أن أتحقق منه. Jonathan: فهل كان الأمر أشبه بأن التوقيت كان مناسبًا لتنتقل إليها؟ كان الأمر كأن أشياء كثيرة مختلفة اصطفّت وأصبحت منطقية لك. هل كنت تستكشف لغات أخرى؟ أعني، ذكرت المؤشرات. فهل كانت إشارة إلى Go تحديدًا أم أنك كنت فقط تبحث عن لغة تناسبك، كما يمكنك القول؟ Brian: أظن أنني... أجل، أعني... أنا شديد التمسك بفكرة أن أشياء مختلفة جيدة لأغراض مختلفة. و، كما تعلم، أنا شديد التعلق بـ Elixir الآن. أشعر أنني ربما متحيز قليلًا، مثل: أجل، Elixir يمكن استخدامها لأي شيء تقريبًا. هذا على الأرجح ليس صحيحًا تمامًا. لكنني أظن أن موضوع المؤشرات كان لأنني كنت أفكر في C فقط، كما تعلم، درست بعض C وC++ في الجامعة. أظن ذلك. كما تعلم، أجل، فعملت لعدة سنوات مع Neo4j، قاعدة بيانات الرسوم البيانية. وكان ذلك شيئًا كنت شديد التعلق به. وكنت أحد المشرفين على Neo4j gems الخاصة بـ Ruby. لأنها كانت لا داعي للخوض في ذلك كثيرًا، لكن قواعد بيانات الرسوم البيانية تتيح لك فعل أشياء معينة أسرع، أو بطرق أبسط نوعًا ما. كانت بالنسبة لي أشبه... كثير من الناس لا يستخدمون Neo4j لهذا، لكنني أشعر أنها كانت مثل Ruby من حيث أنها ساعدتك على التفكير في الأشياء على مستوى أعلى. فتمكنك من فعل الأشياء بشكل أجمل. لكنني ببساطة متمسك بفكرة أن قواعد بيانات الرسوم البيانية قد تكون جيدة لهذا الغرض، وقاعدة بيانات علائقية لهذا، وقاعدة بيانات مستندات لهذا. وحسنًا، إذا احتجت إلى صنع خدمة صغيرة تحتاج إلى العمل بسرعة فائقة، فربما أصنعها بلغة Rust أو Go أو أيًا كان. فعليّ أن أعرف تلك اللغات، وإذا، الأمور عالية المستوى، هناك Ruby وPython، لكن الآن هناك Elixir، وElixir، ولها في الحقيقة مزايا عظيمة كثيرة. ومن الصعب جدًا معرفة ما الجيد لأي غرض، لأن هناك الكثير مما يتضمنه أي لغة، على سبيل المثال، حتى معرفة إن كانت جيدة لشيء ما أمر صعب. وكذلك الناس، وأنا منهم، أظن أنهم يستثمرون عاطفيًا في بعض اللغات التي يحبونها لسبب أو لآخر. فالأمر صعب. ممم. Jonathan: ويا Brian، هل تستخدم Elixir يوميًا في العمل؟ وما هو عملك في الوقت الحالي؟ ما الذي يبدو عليه يومك في هذه المرحلة؟ Brian: أجل، أنا مستشار في Erlang Solutions. وأعمل مع أحد عملاء Erlang Solutions، وهي شركة تُسمى VicAI. لا أعرف إن كنت قد سمعت بها. أظن أن Lars Wirthven، كما أظن، ساعدها بعض الشيء وكتب عنها قليلًا في مدونته. إنه شخص شبه مشهور في عالم Elixir. أجل، فهم شركة... تساعد شركات أخرى، لديهم تطبيق يساعد الشركات على معالجة الفواتير، بشكل شبه آلي أو آلي بالكامل، باستخدام الذكاء الاصطناعي. حسنًا. أجل، ولديهم بالطبع نماذج تعلم الآلة، لكن لديهم أيضًا API بلغة Elixir يتيح لهم نوعًا ما تنسيق الكثير من الأمور. Jonathan: حسنًا. فهل تتعامل مع الكثير من العملاء المختلفين خلال النهار أم أنك تعمل مع مجموعة متخصصة تسير معها وتتشارك معها؟ كيف يعمل كل ذلك؟ Brian: أجل، فأنا عادة في فريق ميزات نوعًا ما مع مدير منتج، ولدينا مطوّر ويب ومطوّر تطبيقات جوال، وأحيانًا مطوّر Backend، وفريق تعلم الآلة. ومن الجيد أحيانًا أن يكون لدينا شخص من المنتج أو من ضمان الجودة يتواصل مع عملائنا لمساعدتنا نوعًا ما في الحصول على الأنسب والأكثر احتياجًا، أي كما تعلم، ما الذي يحتاجه المستخدمون والعملاء فعليًا؟ لكن الأمر أشبه بطبقات، فنحن، كما تعلم، حسب ما يكون الأمر، لدينا عميل مباشر كبير واحد، ثم لدينا بعض أنظمة المحاسبة وأنظمة تخطيط موارد المؤسسات التي نعمل معها، ولديها أشخاص، كما تعلم، يدخلون عملاءها. بصراحة، لا أعمل فعليًا مع الكثير من ذلك، مع الجانب المتعلق بالعملاء، كثيرًا. لكنني أظن أن لدينا طرقًا كثيرة مختلفة للتواصل مع العملاء، وعلينا نوعًا ما أداء رقصات كثيرة مختلفة للتكامل، وهذا في حد ذاته مشكلة مثيرة للاهتمام. Jonathan: فهل الأسبوع متنوّع جدًا وهل تفعل أشياء كثيرة مختلفة خلال الأسبوع أم أنه متوقع إلى حد كبير؟ Brian: أجل، أظن الأمر، كما تعلم، أظن أنني محظوظ جدًا لأنني... عادة، أعني أنه عادة مشروع واحد أعمل عليه. لكن مثلًا، شيء أظن أنني أستطيع ذكره، لأنني عملت مؤخرًا على المساعدة في التأكد من صحة حساباتنا الخلفية في كيفية معالجتنا الفواتير. لأن ذلك قد يكون أمرًا معقدًا، مجرد التعامل معه. خاصة حين تأتيك فواتير من مجموعة كبيرة من المورّدين المختلفين، فقد يفعلون الأشياء بشكل مختلف بعضهم عن بعض. لكنني محظوظ جدًا لأنهم يحبون التأكد من أننا متمكنون من... جودة الكود، وبشكل عام، متمكنون من الأمور. فنحاول أن نقضي قدرًا معقولًا من الوقت في فعل أشياء تجعل الأمور أفضل، أو تجعل الكود أفضل أو تحسّن الأشياء. وهذا أيضًا نوع من طبيعتي. الأمر أشبه بأنني عادة أحاول أن أحجز على الأقل بعضًا من وقتي لـ، كما تعلم، نقوم بالكثير من التكامل مع Datadog للتطبيق، للتأكد من أننا نستطيع تتبع طلباتنا ومهام الخلفية وكل تلك الأمور. وهذا شيء يسعدني حقًا، لأنه بمجرد أن أفعل ذلك، أقول: حسنًا، الآن لديّ الأدوات التي أحتاجها لأداء عملي. لكن، أجل، أيضًا، أظن أنه مؤخرًا، هناك شيء صرت مهتمًا به، نوعًا من طريقة لتنظيم الكود والإشارة إلى وحدات أخرى. وهناك أداة في عالم Elixir تُسمى Credo، تتيح لك نوعًا ما فرض قواعد مختلفة في أسلوب الكود. فأنشأت قاعدة Credo جديدة لفرض تلك القاعدة ربما. وأنا فضولي نوعًا ما لرؤية كيف ستسير الأمور. Jonathan: حسنًا، رائع. يبدو ذلك، بصراحة، فوق مستوى فهمي قليلًا، لكن إلى حد ما، أنا متأكد أن هناك من سيعرف ما يجري. لكنك ذكرت سابقًا أنك عملت قليلًا في شركة ناشئة، وأظن أنني محق في ذلك. فكان لديك هذا الجانب من الدعم الفني، وكانت هناك أيضًا قصة شركة ناشئة. هل هذا شيء قد تهتم به في المستقبل، أم شيء دائمًا في مؤخرة ذهنك؟ ما هو المسار بالنسبة لك، كما تظن، في السنوات الخمس أو العشر القادمة من ناحية البرمجة؟ أعني، ربما لا تعرف، لكنني ظننت أنه سؤال مثير للاهتمام أن أسأل الناس: أين ترى نفسك بعد خمس، عشر سنوات؟ Brian: أجل، هذا سؤال جيد. أعني، أنا نوعًا ما... فيما يخص الشركات الناشئة، لطالما تنقلت بين الشركات الصغيرة والمتوسطة الحجم. Jonathan: شكرًا. Brian: وكنت سعيدًا في الشركات الكبيرة جدًا. ولم أرَ نفسي يومًا مستشارًا حتى وقت قريب، حيث قلت نوعًا ما: حسنًا، هذا نوعًا ما... مثير للاهتمام أن أستطيع... الذهاب إلى شركات مختلفة وربما محاولة مساعدتها في حل مشكلاتها، ثم ربما الانتقال إلى شركة أخرى. أعني، إن كان أي أحد من Big Gag يستمع، فأنا لست غير سعيد. Jonathan: كنت أقول: لا أظن أنه ينبغي أن أسأل أحدًا في بودكاست، لكن أجل، من الواضح فقط، بافتراض أن كل شيء يسير على ما يرام. آسف، قطتي تخمش الباب هنا. Brian: أوه أجل، أجل، لقد، حصلنا للتو على جرو قبل نحو شهر، فأنا باستمرار... إنها تنبح أو، كما تعلم، ربما مرة أو مرتين تبول على السرير، فأقول: عليّ التعامل مع هذا. Jonathan: لقد حصلنا للتو على، إنه جنون. الخامسة صباحًا كل يوم. في الرابعة والنصف صباحًا تقفز على السرير وتبدأ تلمس وجهها بكفّها. إنها لطيفة ورائعة. لكن أجل، بعد فترة تقول: كفى. لكن أجل، لنعد إلى الأمر كله، السنتين القادمتين، ما الذي تحب أن تكون قادرًا على فعله أو تحقيقه؟ Brian: أجل، هذا سؤال جيد. أظن أنني أميل إلى فكرة استكشاف... أظن أن أحد الأشياء التي تجذبني في Elixir أنها ما زالت جديدة نوعًا ما. فأنا أحب... ما بعض الطرق لتمهيد مسارات جديدة وإيجاد أنماط جديدة. وخاصة في، كما تعلم، الأمر ليس مجرد، كما تعلم، كنت في عالم Ruby لفترة، فحين دخلت إلى Elixir، أحيانًا تكون هناك أشياء مثل: أوه، افتقدت هذا من Ruby، فسيكون رائعًا بناء هذا أو فعل هذا. لكن هناك أيضًا أشياء مثل: أوه، هذا شيء لم أستطع فعله في Ruby جيدًا. لكن إذا فعلت هذا فقط، فكما تعلم، يمكن أن يصبح الأمر أكثر روعة بالاستفادة من نقاط قوة Elixir. فأظن أن هذا هو نوع الأشياء التي تهمني: إيجاد حالات الاستخدام الأنيقة والتحدث عنها ومشاركتها، لأن ذلك أيضًا شيء يلهمني دائمًا، مثل عندما أقرأ، خاصة عندما أقرأ عن شيء، حالة استخدام حقيقية وأرى تفاصيلها، لا مجرد: أجل، فعلنا هذا الشيء، وهذا ما سلكناه. بل: أين يمكنني رؤية بعض الكود، أو ما التفاصيل؟ أجل. Jonathan: يبدو أنك تستمتع بالجانب الخاص بتحسين الأشياء، أي أن تأخذ شيئًا وترتاد طريقة جديدة لجعله أفضل وأكثر كفاءة. هذا ما أسمعه على الأقل. هل هذا منصف، كما تظن؟ Brian: أجل، أظن ذلك، وأظن أن الكفاءة أمر جيد. لكنني أظن أنني ربما أقول أكثر من ذلك: إيجاد طرق لجعل الأشياء ممتعة. أنا شديد التمسك بفكرة: كيف نحل المشكلات حتى لا نضطر للتعامل معها بعد الآن. مثل صنع مكتبات حتى نقول: حسنًا، الآن تلك المشكلة، أجل، تلك المشكلة حُلّت، فلننتقل إلى شيء آخر، كما تعلم، هو استغلال أفضل لوقتنا، صحيح؟ Jonathan: لا، بالتأكيد. هذا منطقي. أحد الأشياء التي استمتعت بسؤال الناس عنها، خاصة في هذا كله، لأنني إلى حد كبير، أود أن أقول إنني جديد إلى حد ما على التقنية كقطاع ككل، ولم آتِ من خلفية خبيرة بشكل خاص من حيث التطوير منذ سن مبكرة وما إلى ذلك. وأحد الأشياء التي كثيرًا ما لفتت نظري، وتسمع هذا كثيرًا من الأصدقاء العاملين في التقنية، هو أن هناك آراء كثيرة تتطاير، ويبدو ذلك صحيحًا إلى حد كبير. لكن لدينا سؤالًا نحب أن نطرحه على الأشخاص الذين يأتون إلى بودكاستنا، وهو: ما هي القضية التي تموت من أجلها في مجال التقنية؟ ومن الواضح أننا نصوغه بأسلوب مرح قليلًا. لكن هل هناك عقلية أو رأي معين لديك تقول فيه: هذه هي القضية التي أموت من أجلها؟ ويمكن أن يكون أي شيء. ومن الأمثلة الجيدة DJ، أحد مشرفينا، ربما تعرفه، كانت قضيته دور المحادثة الجوهرية، أي إجراء محادثة بنيّة حسنة ومنظمة جيدًا في مجال التقنية. أي إجراء ذلك النقاش القوي المتحدي المبني على أسس صحيحة، كما يمكنك القول. أحاول أن أتذكر ما قاله شخص آخر. Rebecca في Unison قالت إنها تفضّل أن يكون لديها 50 شخصًا في فريق مجتهدين وذا ضمير حي وربما أقل موهبة من عبقري واحد من الصعب التعامل معه. فأتمنى أن تكون هذه أمثلة جيدة. وقد وضعتك في موقف محرج قليلًا بهذا السؤال المفاجئ، لأنه على الأرجح لديك آراء كثيرة. لكن هل هناك واحدة تقول فيها: لا، هذه هي التي أتشبث بها؟ Brian: ممم. أجل. أجل، لأن أول ما فكرت فيه كان مثل: camel case مقابل snake case. حسنًا، لا أعرف إن كنت سأموت من أجل ذلك أم لا. أظن أن كثيرًا من تلك الأمور مثل Jonathan: لم أستطع... Brian: أجل، أجل، لكن كثيرًا من تلك الأمور أظن أنني... ربما أصبح أقل تحيزًا فيها مع الوقت. لكن أجل، أحب هذه الأمور عالية المستوى التي تتحدث عنها. أشعر أنني أستطيع، أحب. دعني أرى إن كنت أستطيع ذكر هذا. لسوء الحظ أنت تحرّر هذا، فستختفي وقفاتي ببساطة، صحيح؟ Jonathan: هذه هي الخطة على الأقل. Brian: أجل. هناك أداة تُسمى Remote Retro. استخدمتها عدة مرات وأوصي بها بشدة. وتعلمت عنها لأنها مكتوبة بـ Elixir. لكن بعيدًا عن ذلك، أظن أنها مصممة جيدًا فقط. ومع الوقت نمت لتصبح أداة أفضل وأفضل. لكنها تبدأ دائمًا بـ "التوجيه الأساسي"، والذي أظن أنه، وأنا أنظر إليه الآن، أرى أنه مأخوذ من Norm Keith. هناك صفحة ويكي هنا، فيمكنك البحث عن هذا. يمكنك الذهاب إلى remote-retro.org إذا أردت التحقق من ذلك. لكن... أجل، هذا هو التوجيه الأساسي، والذي أظن أنه ببساطة، إنه نوع الشيء الذي تقرؤه في بداية المراجعة الاستعادية لوضع الناس في العقلية الصحيحة، وهو يقول: بغض النظر عما نكتشفه، نحن نفهم ونعتقد اعتقادًا صادقًا أن كل شخص أدّى أفضل ما يستطيع، بالنظر إلى ما كان يعرفه في ذلك الوقت، ومهاراته وقدراته، والموارد المتاحة، والظرف القائم. فأظن أن ذلك جيد. أظن الأمر مشابهًا لـ... عليك أن تتأكد من أنك دائمًا... وفي الحقيقة، سأقول شيئًا آخر أيضًا. كانت هناك مقابلة، ويمكنني، يمكنني مشاركة هذا إن أردت، مثل وضع الرابط في وصف الحلقة أو أيًا كان لاحقًا. Jonathan: سأشير إليه بالتأكيد. Brian: أجل، أوصي دائمًا بهذا المقال، رغم أنه يصعب جدًا العثور عليه دائمًا، ولا أعرف، لعلّه غرق قليلًا في النسيان الآن، لكن كان هناك... هذا الرجل الذي كان مسؤولًا إداريًا في إدارة شؤون المحاربين القدامى في الولايات المتحدة، الجهة الحكومية. وعلى وجه التحديد، أظن أنه كان يتعامل مع نظام الرعاية الصحية لديهم. وكانت لديه هذه المقابلة حيث جاء من عالم الطيران والفضاء. وكثير مما تحدث عنه كان... كيف أنك في الطيران والفضاء، في كثير، على الأرجح ليس مثاليًا في كل مكان، لكن في كثير مما خبره، كنت تلوم العملية ولا تلوم الأشخاص. وإذا حدث خطأ ما، تقول: حسنًا، كما تعلم، ليس الأمر، كما تعلم، مثل: لقد حذفت جدولًا في بيئة الإنتاج. لكن لحسن الحظ، لم يلُمني أحد على ذلك. قالوا: حسنًا، ما الذي نفعله الآن؟ فنجعل الأمر بحيث عندما تدخل إلى بيئة الإنتاج على وحدة التحكم، تظهر المطالبة باللون الأحمر. فيكون واضحًا أنك في بيئة الإنتاج، صحيح؟ لأنني ارتكبت ذلك الخطأ لأنني ظننت أنها بيئة التطوير حين كنت... أجل، بالضبط. فكنت محظوظًا بأن عملت في مكتب نلوم فيه العملية لا الشخص. وكان ذلك رائعًا حقًا. فتحدث عن ذلك في سياق مثل الطب: حسنًا، أحيانًا ربما تعطي الممرضة دواءً خاطئًا لمريض. فيقال: حسنًا، أحيانًا تكون الملصقات مربكة، أو هناك هذا الشيء الصعب، أو أيًا كان، إنه ليس مثاليًا. فيقال: حسنًا، لنصلح ذلك. لنفعل ذلك. فإذا أردنا، إذا كنا نهتم فعلًا بالمريض، فلنجعلها عملية يصعب فيها الوقوع في الخطأ. فأظن أن ذلك أمر مهم جدًا بالنسبة لي. Jonathan: هذا رائع حقًا. سأضع هذه الملاحظات في وصف الحلقة بالتأكيد. هل هذا من باب أجايل، هل هو نوع مبني على منهجية أجايل كما يمكنك القول؟ أم أنه نوع من شيء آخر قليلًا؟ ما رأيك في ذلك؟ Brian: أتعرف، هذا سؤال جيد كما أظن. تكوّن لديّ انطباع بأنه جزء من تقليد طويل إلى حد معقول في بعض أوساط هندسة الطيران والفضاء. أعني الطيران والفضاء، أظن أن الأمر ربما يتعلق فقط بأنه إذا كنت، إذا كنت تصنع طائرات أو تصنع صواريخ، فأنت في عمل مضمونه: هذا يجب أن يعمل. وحين نضع إنسانًا على متنها، سواء كان رائد فضاء أو مسافرًا، علينا أن نمنحها أفضل فرصة للعمل. وأفضل طريقة لذلك هي أن نضع كبرياءنا جانبًا ونقول: كما تعلم، ماذا؟ Jonathan: أنت Brian: ما الذي سيجعل هذا يعمل بأكبر قدر ممكن في كل مرة إن اتبعنا العملية فقط. أظن أن ذلك جزء منه، أجل. Jonathan: لأنني حين بحثت عن Remote Retro، بدا مليئًا بمصطلحات أشبه بمصطلحات أجايل. فأتساءل إن كان قد تغيّر من هناك في مكان ما. لكن هذا رائع حقًا. لم أسمع به من قبل. الشيء الوحيد الذي سمعت به هو قوائم التحقق، خاصة في المجال الطبي والطيران والفضاء. فمثلًا يمرّ الطيار على قائمة تحقق. لا يحيد عنها. ويفعل الطبيب الشيء نفسه. هذا رائع حقًا. يا Brian، سنبدأ في الهبوط. لديّ سؤال أخير لك هذه الليلة. وهو في الحقيقة: ما توصيتك لمجتمع Exercism في الأسبوع القادم؟ لو أمكنك تقديم نصيحة واحدة، ويمكن أن تكون عن أي شيء. يمكن أن تكون مثل: اذهب واشرب الكومبوتشا من، لا أعرف، متجر الأطعمة في حيّك، أو اذهب للجري والسباحة في المحيط المتجمد الشمالي، أو أيًا كان. لو كان هناك شيء واحد توصي به لمجتمع Exercism لتجربته، فما سيكون هذا الأسبوع؟ Brian: شكرًا! ممم. أود أن أقول... أنه، ممم، أعني، في حدود، في حدود قدراتك، كما تعلم، لأن ربما هذا، كما تعلم، ليس، من الصعب دائمًا تقديم نصيحة للجميع. لكنني أظن أن شيئًا واحدًا كان أمرًا كبيرًا بالنسبة لي هو، أظن أنني ذهبت ذات مرة إلى قسم الطوارئ لأنني كنت أعاني من صداع مفاجئ. وكانت هناك ربما مخاوف من أنه صداع مفاجئ حاد، وقد يكون أمرًا خطيرًا نوعًا ما. فذهبت وجعلت الطبيب يفحصني، وكان كل شيء على ما يرام. لكن، كما تعلم، كان الطبيب يطرح أسئلة عامة ويقول نوعًا ما: حسنًا، كم من التمارين تمارس؟ و، كما تعلم، ما مستوى نشاطك وأيًا كان. فقلت، كما تعلم، كوني أمريكيًا، قلت نوعًا ما: حسنًا، أنا، كما تعلم، أمشي كثيرًا، أحصل ربما على 8000 خطوة في الأسبوع، في الشهر، أو في المتوسط يوميًا. فقال: كما تعلم، عليك أن تخرج ثلاث مرات في الأسبوع، لمدة 45 دقيقة، حتى تتعرق فعليًا. و، كما تعلم، لم أفعل ذلك فورًا. لكن، كما تعلم، بعد خمسة أو ستة أشهر ربما، دخلت فعلًا في نمط، في عادة الجري، عادة ثلاث مرات في الأسبوع، وأحيانًا مرتين في الأسبوع، لكن كما تعلم. وأظن أن ذلك كان تغييرًا كبيرًا نوعًا ما في حياتي. أظن أنه ساعدني كثيرًا. فأظن أنني أعرف أنه أمر صعب جدًا فعله، وصعب جدًا عليّ أن أبدأه. وأظن أن جزءًا من الطريقة التي فعلت بها ذلك هو أنني قلت: حسنًا، سأخرج، وإذا انتهى بي الأمر بالمشي 75% من الوقت، فحسنًا، سيكون الأمر كذلك. سأبني الأمر تدريجيًا. Jonathan: هذا رائع. أظن أن ذكرك لذلك كان مثيرًا للاهتمام لأننا... Brian: أظن أن ذكرك لذلك كان مثيرًا للاهتمام لأننا... Jonathan: لا، هذا رائع حقًا لأن أحد الأشياء التي حاولنا التفكير فيها مع الدفعات هو ما الذي سيسهّل نموّ الناس وتعلّمهم ونوعًا ما تحرّكهم واكتسابهم الزخم، كما أظن، في مسيرتهم في البرمجة، كما يمكنك القول. وأحدها كان مجرد الخروج، حتى لو كان لمدة 10 دقائق يوميًا، لمجرد وضع نفسك في موضع التجربة. وحتى لو لم تصل إلى أي مكان فعليًا، حتى لو قرأت التعليمات فقط ثم انتهى يومك عند ذلك، فطالما أنك حضرت بشكل ما، فإن ذلك يحدث فرقًا كبيرًا نوعًا ما. لكنني أظن أن هذه توصية رائعة، وهي بالتأكيد تذكير لي بأن أبدأ ممارسة الرياضة قليلًا، لأن الجلوس في الداخل يجعل المرء خاملًا جدًا أحيانًا. فإذا كان أحد يستمع، خذ بنصيحة Brian واخرج للجري. لكن، أعني، سيبدأ الجو في البرودة قليلًا في ستوكهولم خلال الأسبوعين القادمين. هل ما زلت تجري في منتصف الشتاء أم أنه جري في الداخل؟ Brian: أجل، أفعل. وأعني، سأقول أيضًا، كما تعلم، أفضل تمرين يمكنك ممارسته، إذا كنت ستخرج لمدة 30 أو 40 دقيقة يوميًا ثلاث مرات في الأسبوع أو نحو ذلك، هو أيًا كان، أيًا كان الشيء الذي تستمتع به أكثر، كما تعلم، لأنه إذا لم تستمتع بالجري، فمن المحتمل ألا تستطيع الاستمرار عليه. فسأقول ذلك أولًا، لكن، أجل، في الشتاء، كما تعلم، لديّ قبعة، لأن ستوكهولم مظلمة أيضًا. فاشترت لي زوجتي قبعة فيها ألياف مدمجة عاكسة. حسنًا، هذا لطيف. فتبقيني آمنًا. ولديّ قناع للوجه وأشياء للأذنين أستطيع ارتداءها. أجل، ثم... أجل، فعليّ أن أتدثر، لكنه يمكن أن يكون جيدًا أيضًا لأنه، حين يكون الجو باردًا، كما تعلم، أستطيع أن أبقى في وتيرة أخفّ وأستطيع مع ذلك أن أنجز ما أريد. أجل، بالضبط. بالضبط. Jonathan: أوه، هذا رائع. لكن يا Brian، أردت فقط أن أشكرك شكرًا جزيلًا على وقتك هذه الليلة، وعلى الأرجح كان يومًا طويلًا مع الأطفال والعمل والجرو الجديد وكل ذلك، فأردت فقط أن أشكرك على وقتك وعلى مشاركته معنا. ولمن يستمع هناك، سنضع ملاحظات الحلقة في الوصف أدناه لتتمكنوا من الاطلاع عليها. إذا سنحت لك أي فرصة وأنت تستمع إلى هذا، فاذهب وألقِ نظرة على مسار Elixir، وأنا واثق يا Brian، لا أعرف إن كنت تقوم بأي إرشاد على مسار Elixir، لكن ربما إن كنت في مجال الإرشاد يومًا ما، قد ترى أشخاصًا جددًا يطلّون ويجربون الأشياء. سمعت أشياء جيدة كثيرة عن Elixir، فأظن أنه بالتأكيد مسار يستحق المتابعة في المستقبل. وأجل، أتمنى لك مساءً رائعًا يا Brian. تمهّل قليلًا عندما أوقف التسجيل. لكن، أجل، من الرائع أنك كنت معنا، وشكرًا لمشاركة بعض من الرؤى عن حياة Brian Underwood. وأجل، شكرًا للجميع على الاستماع، وأتمنى لكم مساءً رائعًا. أراكم قريبًا.

المزيد من قصص مجتمعنا

استمع وتعلّم واستلهم من أعضاء مجتمعنا.