سپتامبر سال گذشته، بیسروصدا پروژهی «کالبدشکافی مسیر» را در Exercism آغاز کردیم. از آن زمان تاکنون، دربارهی آن با افراد بیشتری صحبت کردهایم و حالا تصمیم گرفتهایم زمان آن رسیده که کار رسمیای را که برای بهبود مسیرها و تمرینهای Exercism انجام میدهیم، بهطور عمومی معرفی کنیم.
برای درک هدف و ضرورت پروژهی «کالبدشکافی مسیر»، باید به ریشههای Exercism نگاهی بیندازیم. Exercism در ابتدا به شکل چندین مسیر زبانی متفاوت بود که هرکدام مجموعهای از تمرینهای همپوشان داشتند. نظم یا ساختار مشخصی وجود نداشت: هرکس میتوانست هر تمرینی را که به نظرش جالب میآمد انتخاب کند، آن را حل کند، کدش را بارگذاری کند و امیدوار باشد که کسی آن را پیدا کند و نظری دربارهاش بدهد. هستهی راهاندازی مجدد ما در سال ۲۰۱۸ این بود که Exercism را حول رویکردی بسیار ساختارمندتر به خود مسیرها و به یادگیری همراهشان بازآرایی کنیم. تصمیم گرفتیم مسیرهای زبانی را به گونهای بازسازی کنیم که از یک ستون ثابت تشکیل شده باشند: تمرینهای اجباری «اصلی» که با تکمیل هرکدام، تمرینهای اختیاری «جانبی» باز میشدند. از نگهدارندگان خواستیم ستون اصلی را طوری بچینند که دشواریاش بهتدریج افزایش یابد و ترتیب باز شدن تمرینها را متناسب با تکنیکهایی که تمرین میشوند طراحی کنند. نگهدارندگان مختلف رویکردهای متفاوتی در پیش گرفتند و میزان موفقیتشان متفاوت بود. بعضیها بهسادگی وقت نداشتند، و در آن موارد ما فقط ده تمرین نسبتاً تصادفی را برای تشکیل هستهی اولیه انتخاب کردیم.
خیلی زود روشن شد که طراحی یک مسیر تأثیر چشمگیری بر موفقیت آن مسیر دارد. در ماههای نخست پس از راهاندازی، مشاهدات مهمی داشتیم:
- زبانهایی که با تمرینی بیش از حد دشوار شروع میشدند، افراد را کلافه میکردند و به ریزش سریع آنها میانجامیدند.
- دشواری مربیگری یک تمرین مستقیماً با پیچیدگی آن تمرین همبستگی داشت، نه با دشواری خود تمرین.
- تمرینهایی که به یک شکل معمول حل میشدند (مثلاً «سرواژه»)، یا اهداف یادگیری روشنی داشتند، بسیار سریعتر از تمرینهایی که تنوع داشتند (مثلاً «bob») مربیگری میشدند.
- ترتیب معرفی مفاهیم اهمیت دارد؛ پوشش دادن اصطلاحهای ضروری در چند تمرین نخست، تمرینهای بعدی را برای یادگیرنده و مربی آسانتر میکند.
بر این اساس، متوجه شدیم که بخش بزرگی از موفقیت مربیگری در Exercism به کیفیت «برنامهی درسی» مسیرها بستگی خواهد داشت: داشتن موضوعهای درست که بهروشنی در تمرینهای درست و به ترتیبی مناسب پوشش داده شده باشند. تصمیم گرفتیم چارچوبی رسمی تدوین کنیم که بتوانیم از آن بهعنوان راهنما برای نگهدارندگان استفاده کنیم و مسیری بسازیم که بتوانیم آن را بهعنوان استاندارد طلایی برای مسیرهای دیگر به کار ببریم.
در همان حال که همهی اینها میگذشت، یکی از مربیان ما، Maud de Vries، که ۲۰ سال مربی حرفهای بوده است، بهطور منظم پیشنهادهایی دربارهی چگونگی بهبود مسیر Ruby منتشر میکرد. ایدههای او بهشکل چشمگیری با برداشتهایی که ما هم به آنها رسیده بودیم همسو بود. بیسروصدا و در پسزمینه، Maud تمرینهای Ruby را یکییکی تحلیل میکرد و نقشهای میساخت از اینکه تمرینها چگونه به هم مربوط میشوند، چه مفاهیمی در خود دارند و چگونه میتوان بهتر آنها را چید تا ساختاری از مسیر شکل بگیرد که برای یادگیرندگان خوشساخت و برای کار کردن مربیان سرگرمکننده و جذاب باشد. وقتی بخشی از کارش را به ما نشان داد، تصمیم گرفتیم او فرد مناسبی برای تدوین چارچوب مسیرهای ماست و میتواند مسیر Ruby را بردارد و آن را به الگوی ما تبدیل کند. از آن زمان، Maud بهصورت پارهوقت برای Exercism کار میکند، مسیر Ruby را بازطراحی میکند و چارچوبی چندمرحلهای برای نگهدارندگان میسازد تا آن را دنبال کنند و آموختههای او را بهسرعت در زبانهای دیگر تکرار کنند. از اکتبر، Erik Schierboom در اوقات فراغت خود بهعنوان «موش آزمایشگاهی» Maud کار میکند و چارچوب را میآزماید و برای بهبود مسیر C# به کار میبرد، که بهنوبهی خود تأثیر بزرگی بر توسعهی خودِ چارچوب داشته است.
حالا داریم به مرحلهای نزدیک میشویم که میتوانیم گروه بعدی نگهدارندگان را از میان مراحل چارچوب بگذرانیم و آن را دقیقتر بیازماییم و پالایش کنیم. پس از اینکه این دور بعدی را کامل کردیم، امیدواریم نخستین نسخهی چارچوب را منتشر کنیم تا جامعهی گستردهتر بتواند آن را بیشتر بررسی کند. رسیدن به آن نقطه و به نمایش گذاشتن همهی کاری که در پشت صحنه جریان داشته، واقعاً هیجانزدهمان میکند. حس میکنیم این گامی بزرگ به جلو برای Exercism است که هم تجربهی یادگیری و هم تجربهی مربیگری را بهطور چشمگیری بهبود میدهد.
میخواهم این مطلب را با تشکری بزرگ از Maud، که خستگیناپذیر این پروژه را پیش برده است، و از Erik، که بخش بزرگی از وقت آزادش را برای کمک صرف کرده، به پایان ببرم.