গত বছরের সেপ্টেম্বরে আমরা চুপচাপ Exercism-এর ট্র্যাক অ্যানাটমি প্রজেক্ট শুরু করি। তারপর থেকে আমরা 점점 더 많은 사람কে এটি সম্পর্কে বলতে শুরু করেছি, এবং এখন সিদ্ধান্ত নিয়েছি যে Exercism-এর ট্র্যাক ও অনুশীলনীগুলো উন্নত করার জন্য আমরা যে আনুষ্ঠানিক কাজ করছি, তা সর্বসমক্ষে পরিচয় করিয়ে দেওয়ার উপযুক্ত সময় এসেছে।
ট্র্যাক অ্যানাটমি প্রজেক্টের উদ্দেশ্য ও প্রয়োজনীয়তা বুঝতে হলে আমাদের Exercism-এর শিকড়ে ফিরে তাকাতে হবে। Exercism শুরু হয়েছিল নানা ভাষার ট্র্যাক হিসেবে, যার প্রতিটিতে ছিল একে অপরের সঙ্গে মিলে যাওয়া কিছু অনুশীলনী। কোনো নির্দিষ্ট ক্রম বা কাঠামো ছিল না। যে কেউ তার কাছে মজার মনে হওয়া যেকোনো অনুশীলনী বেছে নিতে পারত, সেটি সমাধান করতে পারত, নিজের কোড আপলোড করতে পারত, আর আশা করতে পারত যে কেউ এটি খুঁজে পাবে এবং এ নিয়ে মন্তব্য করবে। আমাদের ২০১৮ সালের রিলঞ্চের মূল কথা ছিল, ট্র্যাকগুলো নিজে এবং সেগুলোর সঙ্গে থাকা শেখার প্রক্রিয়া—দুটোকেই আরও সুগঠিত পদ্ধতির вокруг Exercism-কে নতুন করে সাজানো। আমরা সিদ্ধান্ত নিলাম, ভাষার ট্র্যাকগুলোকে এমনভাবে সংস্কার করা হবে যাতে সেগুলো একটি নির্দিষ্ট মেরুদণ্ড দিয়ে গঠিত হয়, যা বাধ্যতামূলক "কোর অনুশীলনী" দিয়ে তৈরি, আর সেগুলো সম্পন্ন করার সঙ্গে সঙ্গে ঐচ্ছিক "সাইড অনুশীলনী" আনলক হয়ে যেত। আমরা মেইনটেইনারদের বললাম, কোর মেরুদণ্ডটি এমনভাবে সাজাতে যাতে কঠিনতা ক্রমে বাড়ে, আর সেই সঙ্গে এমন একটি আনলক করার ক্রম ডিজাইন করতে যা অনুশীলন করা টেকনিকের সঙ্গে প্রাসঙ্গিক হয়। ভিন্ন ভিন্ন মেইনটেইনার এ ব্যাপারে ভিন্ন পথ নিলেন, আর সাফল্যের মাত্রাও ছিল ভিন্ন। কেউ কেউ কেবল সময় পাননি, সে ক্ষেত্রে আমরা শুরুর কোর গঠনের জন্য তুলনামূলকভাবে এলোমেলো দশটি অনুশীলনী বেছে নিয়েছিলাম।
খুব দ্রুতই স্পষ্ট হয়ে গেল যে ট্র্যাকের ডিজাইন সেই ট্র্যাকের সাফল্যে বিরাট পার্থক্য গড়ে দেয়। লঞ্চের পর প্রথম কয়েক মাসে আমরা একের পর এক গুরুত্বপূর্ণ পর্যবেক্ষণ করলাম:
- যে ভাষাগুলো খুব কঠিন কোনো অনুশীলনী দিয়ে শুরু হতো, সেগুলো মানুষকে হতাশ করত এবং দ্রুত হারিয়ে যাওয়ার দিকে নিয়ে যেত।
- একটি অনুশীলনী মেন্টর করার কঠিনতা অনুশীলনীটির কঠিনতার বদলে তার জটিলতার সঙ্গে সরাসরি সম্পর্কিত ছিল।
- যে অনুশীলনীগুলো একটি প্রচলিত উপায়ে সমাধান করা যেত (যেমন "acronym"), বা যেগুলোর শেখার লক্ষ্য স্পষ্ট ছিল, সেগুলো মেন্টর করা অনেক দ্রুত হতো; তার তুলনায় যেগুলোতে নানা বৈচিত্র্য ছিল (যেমন "bob")।
- ধারণাগুলো কোন ক্রমে পরিচয় করানো হচ্ছে, সেটা গুরুত্বপূর্ণ; প্রথম কয়েকটি অনুশীলনীতে জরুরি ইডিয়মগুলো কভার করা পরের অনুশীলনীগুলোকে শেখা এবং মেন্টর—দুই পক্ষের জন্যই সহজ করে তোলে।
এর ভিত্তিতে আমরা বুঝলাম, Exercism-এ মেন্টরিংয়ের সাফল্যের বড় একটা অংশ নির্ভর করবে ট্র্যাকগুলোর "পাঠ্যক্রম"-এর গুণমানের উপর: সঠিক বিষয়গুলো, সঠিক অনুশীলনীতে স্পষ্টভাবে, উপযুক্ত ক্রমে থাকা। আমরা সিদ্ধান্ত নিলাম, মেইনটেইনারদের জন্য নির্দেশিকা হিসেবে ব্যবহার করা যায় এমন একটি আনুষ্ঠানিক ফ্রেমওয়ার্ক তৈরি করতে হবে, এবং এমন একটি ট্র্যাক বানাতে হবে যা অন্য ট্র্যাকগুলোর জন্য গোল্ড স্ট্যান্ডার্ড হিসেবে কাজ করবে।
এসবের সমান্তরালে, আমাদের একজন মেন্টর Maud de Vries, যিনি ২০ বছর ধরে পেশাদার কোচ, Ruby ট্র্যাক কীভাবে উন্নত করা যায় সে বিষয়ে নিয়মিত পরামর্শ পোস্ট করা শুরু করেছিলেন। তার ভাবনাগুলো আশ্চর্যজনকভাবে আমাদের নিজেদের উপলব্ধিগুলোর সঙ্গেও মিলে গিয়েছিল। নীরবে আড়ালে থেকে Maud একটি একটি করে প্রতিটি Ruby অনুশীলনী বিশ্লেষণ করছিলেন এবং একটি ম্যাপ তৈরি করছিলেন: অনুশীলনীগুলো কীভাবে সংযুক্ত, সেগুলোতে কোন কোন ধারণা আছে, আর কীভাবে সেগুলো আরও ভালোভাবে সাজিয়ে এমন একটি ট্র্যাক কাঠামো তৈরি করা যায় যা শিক্ষার্থীদের জন্য সুগঠিত এবং মেন্টরদের কাজ করার জন্য আনন্দদায়ক ও আকর্ষণীয়। তিনি যখন আমাদের তার কিছু কাজ দেখালেন, আমরা সিদ্ধান্ত নিলাম তিনিই সেই সঠিক ব্যক্তি যিনি আমাদের ট্র্যাক ফ্রেমওয়ার্ক তৈরি করবেন, এবং তিনিই Ruby ট্র্যাককে নিয়ে সেটাকে আমাদের আদর্শ উদাহরণ বানাতে পারবেন। সেই থেকে Maud খণ্ডকালীন হিসেবে Exercism-এর জন্য কাজ করছেন, Ruby ট্র্যাক নতুন করে ডিজাইন করছেন, আর মেইনটেইনারদের জন্য একটি বহু-পর্যায়ের ফ্রেমওয়ার্ক তৈরি করছেন, যা ধরে ধরে এগিয়ে তারা দ্রুতই তার শেখাগুলো অন্য ভাষায় প্রয়োগ করতে পারবেন। গত অক্টোবর থেকে Erik Schierboom তার অবসর সময়ে Maud-এর গিনিপিগ হিসেবে কাজ করছেন, C# ট্র্যাক উন্নত করতে ফ্রেমওয়ার্কটি পরীক্ষা করছেন ও ব্যবহার করছেন, যার ফলেও ফ্রেমওয়ার্কটির নিজের বিকাশে বিরাট প্রভাব পড়েছে।
আমরা এখন সেই পর্যায়ের কাছাকাছি পৌঁছে গেছি যেখানে মেইনটেইনারদের পরবর্তী দলটিকে ফ্রেমওয়ার্কের প্রক্রিয়ার মধ্য দিয়ে নিয়ে যেতে পারব এবং আরও কঠোরভাবে এটি পরীক্ষা ও পরিমার্জন করতে পারব। এই পরবর্তী রাউন্ড শেষ হলে আমরা আশা করছি ফ্রেমওয়ার্কের একটি প্রথম সংস্করণ প্রকাশ করতে পারব, যেটি বৃহত্তর কমিউনিটির আরও গভীর পর্যালোচনার মধ্য দিয়ে যেতে পারবে। সেই পর্যায়ে পৌঁছাতে পেরে এবং আড়ালে যা যা কাজ চলেছে তা সবাইকে দেখাতে পেরে আমরা সত্যিই রোমাঞ্চিত। আমাদের মনে হয় এটি Exercism-এর জন্য এক বিশাল অগ্রগতি, যা শেখার অভিজ্ঞতা এবং মেন্টরদের অভিজ্ঞতা—দুটোকেই উল্লেখযোগ্যভাবে উন্নত করবে।
শেষ করার আগে আমি Maud-কে আন্তরিক ধন্যবাদ জানাতে চাই, যিনি অক্লান্তভাবে এই প্রজেক্টের নেতৃত্ব দিয়েছেন, আর Erik-কেও, যিনি সাহায্য করতে নিজের অনেকটা অবসর সময় ছেড়ে দিয়েছেন।