এই সপ্তাহের কমিউনিটি স্টোরিতে ব্রায়ান ও জোনাথন কিছুক্ষণ কথা বলেছেন আন্তঃসাংস্কৃতিক অভিজ্ঞতা, ফাংশনাল প্রোগ্রামিং এবং আমেরিকার মিড-ওয়েস্ট থেকে স্ক্যান্ডিনেভিয়ায় চলে যাওয়া কেমন লেগেছিল তা নিয়ে।
Jonathan: শুভ সন্ধ্যা সবাইকে, এবং Exercism পডকাস্টে স্বাগতম। আজ আমার সঙ্গে এসেছেন **Brian **Underwood, এটা আমার জন্য বড় আনন্দের। Brian, এই মুহূর্তে আপনি কোথায় থাকেন? আর আপনার গল্পটা একটু বলুন, কীভাবে আপনি এখন যেখানে আছেন সেখানে পৌঁছালেন?
Brian: হ্যাঁ, নিশ্চয়ই। আমন্ত্রণ জানানোর জন্য ধন্যবাদ। আমি সুইডেনের স্টকহোমে থাকি। তবে আসলে আমি যুক্তরাষ্ট্রের, জন্ম ওহাইওতে, তাই সেখান থেকে এখান পর্যন্ত বেশ একটা পথ।
Jonathan: না।
Brian: মানে, আমি তো... আপনি জানতে চেয়েছিলেন আমি কোথা থেকে এসেছি, মানে মাঝের এই যাত্রাটা।
Jonathan: হ্যাঁ, অবশ্যই। যুক্তরাষ্ট্রের মাঝখান থেকে... সুইডেন, স্ক্যান্ডিনেভিয়া, এ তো বেশ বড় লাফ।
Brian: নিশ্চয়ই। হ্যাঁ। অবশ্যই, এটা যুক্তরাষ্ট্রের মাঝখানে। ওহাইও কোথায়, সেটা আসলে কেউই জানে না, তাই আপনি যে ঢেকে ফেললেন, সেজন্য দোষ দিচ্ছি না। বেশ মজার ব্যাপার। হ্যাঁ, আমি Ohio State-এ কলেজ করেছি। সেটা ছিল কম্পিউটার সায়েন্স শিক্ষা। খুব ভালো লেগেছিল, উপভোগ করেছি। আর সেখানে থাকাকালীন পুরো সময়টা College of Humanities-এ... টেক সাপোর্ট করতাম। শুরুতে সেখানেই একটা চাকরি পাওয়ার সুযোগ পেয়েছিলাম, ভাগ্য ভালো। পড়া শেষ করার পরেও কয়েক বছর সেটা চালিয়ে গেলাম। কিন্তু তারপর, মনে হয় যেখানে ছিলাম আর যা করছিলাম, তাতে একটু একঘেয়ে লাগতে শুরু করেছিল। আর আমার গার্লফ্রেন্ডও আমার সঙ্গে সম্পর্ক ভেঙে দিলেন। তাই সেই প্রসঙ্গ বাদ, বাদ।
Jonathan: খুব সুখের স্মৃতি নয়, বলতে পারেন।
Brian: হ্যাঁ, মানে, পিছনে ফিরে দেখলে সবই ঠিকই ছিল। কিন্তু ব্যাপারটা এমন হলো, ঠিক আছে, এখানে তো সুযোগ এসেছে। তাই ঠিক করলাম, কয়েক সপ্তাহ ইউরোপ ঘুরে আসি। যুক্তরাষ্ট্রের বাইরে এত লম্বা সময় থাকা, সেটা আমার জীবনে প্রথম। ইউরোপ ঘোরা ভালোই হলো। এর আগেই অবশ্য আমি ঠিক করে ফেলেছিলাম যে আমি চলে যাব, আর বোস্টনকেই বেছেছিলাম। তারপর, জানি না ভাগ্য ভালো বলব কি না, তবে দুটো সুযোগ পেলাম। আসলে আমি বরাবরই Mac সাপোর্টের কাজ করতাম, সেটাই ছিল আমার বড় কাজ। এক সুযোগ ছিল বোস্টনে Mac টেক সাপোর্টের চাকরি। আর আরেকটা ছিল একটা ছোট স্টার্টআপ, যারা মোবাইল ফোন কোম্পানিগুলোর জন্য সফটওয়্যার বানাত, মানে দোকানে তারা কীভাবে পণ্য সাজায়, সেই-সব। আর আপনি জানেন, আমি সত্যিই প্রোগ্রামার হতে চেয়েছিলাম। কিন্তু ওই অন্য চাকরিটা ছিল আমার বহুদিনের চেনা কাজ। তবু মনে হয়, আমি নতুন এই জীবন, এই যে কেরিয়ারটা আমি চাই, সেটার দিকেই ঝুঁকছিলাম। তবে চাকরিটা পেতে আমার একটু ভাগ্যও লেগেছিল, কারণ তাদের সত্যিই একজন মানুষ দরকার ছিল, তাই আমাকে নিয়ে নিল। সেটাই পরে কয়েক বছরের একটা বড় কাজ হয়ে দাঁড়াল। হ্যাঁ, সেটাই ছিল শুরু। সংক্ষেপে, সেখান থেকেই আমার এখনকার স্ত্রীর সঙ্গে পরিচয়, তারপর আমরা Providence-এ চলে গেলাম, সেখানেই বিয়ে হলো। তারপর ক্যালিফোর্নিয়া চলে গেলাম। আমার স্ত্রী San Francisco-এ চাকরি পেয়েছিলেন, মনে হয়। আর আমি বললাম, হ্যাঁ, আমি পারব। আমি তো সফটওয়্যার ডেভেলপার, San Francisco-এও চাকরি বের করতে পারব। কোনো চিন্তা নেই। দারুণ ছিল। আমরা Oakland-এ থাকতাম, San Francisco-এ কাজ করতাম, কয়েক বছর। কিন্তু তারপর ঠিক করলাম, কয়েক বছরের জন্য ঘুরে বেড়াব। আর আমরা সত্যিই দুই বছর সারা পৃথিবী ঘুরলাম। তখন আমাদের ছেলের বয়স আড়াই বছর, তাকে নিয়েই কয়েক বছর ঘুরলাম। তারপর হ্যাঁ, কয়েক বছর পর আবার যুক্তরাষ্ট্রে ফিরলাম। তারপর ভাবলাম, আরে, ঘোরার সময় তো স্টকহোম দিয়ে গিয়েছিলাম, স্টকহোম আমাদের খুব ভালো লেগেছিল। তাই ঠিক করলাম, আচ্ছা, আমরা এখানেই ফিরে আসব। গত চার বছরের মতো আমরা এখানেই আছি।
Jonathan: আপনার স্ত্রী কি সুইডিশ, নাকি শুধু স্টকহোম ভালো লাগার ব্যাপার? মানে, গল্পটা কী?
Brian: না, প্রশ্নটা ভালো, অনেকেই জিজ্ঞেস করে। তবে না, আমরা দুজনেই আমেরিকান। আমাদের তিনজনই আমেরিকান, ছেলেসহ। যদিও সে আমাদের দুজনের চেয়ে অনেক ভালো সুইডিশ বলে। আমরা চেষ্টা করছি। কিন্তু হ্যাঁ, আমাদের আসলে খুব ভালো লেগেছিল। ঘোরার সময় কয়েকটা জায়গা এমন ছিল যে আমরা ভাবতাম, আচ্ছা, যদি কোথাও চলে যাই, তাহলে এখানেই থাকতে পারি। এর একটা ছিল Auckland, সেটাও ঘোরার সময় পেরিয়ে গিয়েছিলাম আর খুব ভালো লেগেছিল। নিউজিল্যান্ডে? মানে Auckland, নিউজিল্যান্ড? হ্যাঁ, নিউজিল্যান্ড, ঠিক তাই। কিন্তু ওটা একটু দূর ছিল। পরিবারের সঙ্গে দেখা করতে ওহাইওতে যেতে হলে বেশ লম্বা পথ পাড়ি দিতে হতো। স্টকহোম থেকেও অবশ্য এখনো অনেক দূর।
Jonathan: আচ্ছা, আপনি বলছিলেন কম্পিউটার প্রোগ্রামিং আর কম্পিউটার সায়েন্স, মাফ করবেন, আর প্রোগ্রামিংয়ের পার্থক্য নিয়ে। পার্থক্যটা আসলে কী? আমার তো মনে হয় কম্পিউটার সায়েন্স অনেকটা প্রোগ্রামিংই, কিন্তু স্পষ্টতই নয়। বা হয়তো হ্যাঁ, জানি না। ঠিক কী বোঝাতে চেয়েছিলেন?
Brian: হ্যাঁ। পার্থক্যটা আমি নিজেই জানি কি না সন্দেহ। আমি কম্পিউটার সায়েন্সে ডিগ্রি পেয়েছি, আর সেটা প্রোগ্রামিংই ছিল, কিন্তু এমন নয় যে... আপনি বা অন্যরা শুনেছেন, বিশ্ববিদ্যালয়ের ডিগ্রিতে আপনি সব সময় সেসব বাস্তব জীবনের জিনিস শেখেন না, যা চাকরিতে শেখেন আর করেন। আর আমি কলেজে পড়ার পর থেকে সেটা কিছুটা বদলেছে নিশ্চয়ই। এখন আরও ব্যবহারিক শিক্ষার দিকে ঝোঁক এসেছে, মনে হয়। যেমন, মনে পড়ে... আমরা তখন C আর Java, এই দুটোই ছিল আমাদের শেখা প্রধান ভাষা, মনে হয়। বিশেষ করে মনে আছে, একটা ক্লাসে আমরা Java-তে একটা ব্যাপার শিখছিলাম, যেখানে খুব... এটা ছিল একটা শিক্ষণ পদ্ধতি, বা কাজ করার একটা ধরন, যেখানে আপনার প্রতিটি ফাংশন খুব বিস্তারিতভাবে কমেন্ট করে লিখতে হতো। এর নাম ছিল design by contract। মানে, একটা আইনি চুক্তির মতো, আচ্ছা, আপনার দায়িত্ব কী? আমার দায়িত্ব কী? তাহলে চুক্তি অনুযায়ী ফাংশন ডিজাইন করার মানে হলো, ঠিক আছে, আপনি যদি আমাকে ভ্যারিয়েবলগুলোয় এই মানগুলো দেন, আর এই একটা জায়গায় কখনো ঋণাত্মক সংখ্যা দেবেন না, এই স্ট্রিংটা কখনো খালি রাখবেন না, ইত্যাদি। এই জিনিসগুলোর দায়িত্ব আপনার। আর আপনি যদি সেটা করেন, তবে আমি প্রতিশ্রুতি দিচ্ছি এই কাজটা করব, এটা ঘটাব। তাই সেখানে কমেন্টের একটা কাঠামো ছিল, আর আমি খুব বিভ্রান্ত হয়ে ভাবতাম, কমেন্টগুলো বুঝি আসলে চলমান হয়, প্রোগ্রামের অংশ। আর আমি... কয়েক দিন লেগে গেল, ভাবলাম, কী? এখানে আমাকে কী করতে হবে? শেষে বুঝলাম, এটা আসলে খুব আনুষ্ঠানিক একটা পদ্ধতি। আর আমার মনে হয় এটা এক অর্থে ভালো ছিল, কারণ ভাবনাটা আমার মন গড়ে দেয়। একটা ফাংশন যেন ঘটতে পারে এমন সবকিছু সামলাতে না পারে, এটা নিয়ে ভাবা ভালো, কারণ সব সামলাতে গেলে শেষে পাগলামি ছাড়া কিছু হয় না।
Jonathan: তাহলে আপনি বিশ্ববিদ্যালয়ে যান, প্রধান ডিগ্রি হিসেবে মোটামুটি কম্পিউটার সায়েন্সই বেছেছিলেন। এটা করার সিদ্ধান্ত কীভাবে নিলেন? স্কুল বা উচ্চমাধ্যমিকে বিজ্ঞানধর্মী বিষয়ের দিকেই আপনার স্বাভাবিক ঝোঁক ছিল বলেই কি, নাকি এমন কোনো মুহূর্ত ছিল যখন মনে হয়েছিল, এটা আমার সঙ্গে দারুণ মানায়? কম্পিউটার সায়েন্সই যে আপনার করতে চাওয়া ডিগ্রি, সেই সিদ্ধান্তে পৌঁছানোর পথটা কেমন ছিল?
Brian: হ্যাঁ, স্বাভাবিকভাবেই এর দিকে টান ছিল, এ নিয়ে আমি বরং ভাগ্যবান বলব। জানি না, মনে পড়ে... এক সময় প্রোগ্রাম বেছে নেওয়ার সুযোগ ছিল, হয় arts and sciences প্রোগ্রামের computer science track, নয়তো engineering computer sciences track। এর একটায় বিদেশি ভাষার কোর্স লাগত, যেমন Spanish, হাইস্কুল থেকেই আমি যেটা করছিলাম। কিন্তু অন্যটায় ছিল, ওহ, বিদেশি ভাষা লাগবে না, কিন্তু বেশি পদার্থবিজ্ঞান আর গণিত লাগবে। আমি বললাম, আচ্ছা, আমাকে ওইটাতেই ভর্তি করে দিন। তাই সেদিকেই টান ছিল, মনে হয়। যদিও একটা ব্যাপার নিয়ে আমি অনেক ভাবি, আর এটা হয়তো আমার একধরনের বৈজ্ঞানিক বা গাণিতিক আগ্রহের সুবিধা পাওয়া, আমার মনে হয়... গণিত, গণিত করা নিয়ে। অনেকেই বলে, ওহ, গণিত, গণিত নিয়ে আমার ভয় লাগে, চাপ লাগে, ইত্যাদি। এটা যে সত্যিই হতে পারে, সেটা আমি বুঝি। তবে মাঝে মাঝে মনে হয়, কিছু মানুষ কোনো এক কারণে গণিতের মধ্যে মজাটাই খুঁজে পায়, আর তারা এ নিয়ে উৎসাহিত হতে পারে। অথচ কাজটা একই পরিমাণ, ভাবনাচিন্তাও একই। শুধু কাজ বলে মনে হয় না, কারণ যখন মজা পাই, তখন কাজটা এত কষ্টের লাগে না। হয়তো ঠিক এটা নয়, এটা আমার নিজের একটা ধারণা, যা সম্ভবত অর্ধেকটাই ঠিক।
Jonathan: মজার ব্যাপার, আমি তো UK-তে GCSE-তে তিন বছর কেমিস্ট্রি পড়েছি। তিন বছর পড়াশোনার পর GCSE পরীক্ষা, তারপর ১৬ বছর বয়সে বড় পরীক্ষা। তখন অনেক বিষয় পড়তে হয়, মোটামুটি দশটা আলাদা সাবজেক্ট, এটা মোটেই কম নয়। তারপর ঠিক করেন, আচ্ছা, আমি A levels করব, হয় আরও গণিত বা বিজ্ঞান, নয়তো ইংরেজি বা নাটক, যা-ই হোক। কিন্তু মনে আছে, প্রায় দুই বছর ধরে কেমিস্ট্রি আমার মাথায় ঢুকছিল না, তারপর পরীক্ষার ঠিক এক সপ্তাহ আগে সব পরিষ্কার হয়ে গেল, পিরিয়ডিক টেবিল, এসব কীভাবে কাজ করে। আর ভাবলাম, ওহ, পিরিয়ডিক টেবিল থেকেই তো সব উত্তর বের করা যায়, এটা যেন ক্রসওয়ার্ডের মতো। মাথায় বাতি জ্বলে গেল, আর সেই মুহূর্ত থেকে ভাবলাম, এ যে সবচেয়ে সহজ সাবজেক্ট! কিন্তু সেখানে পৌঁছাতে দুই বছর সংগ্রাম করতে হয়েছে। মজার ব্যাপার, আমার কাছে প্রোগ্রামিংও এমনই মনে হয়, নিজেকে অনেক দিন ডুবিয়ে রাখতে হয়, তারপর হঠাৎ বুঝে যাবেন। আর সেটা যখন সেই দিকে এগোচ্ছে মনে হয়, তখন দারুণ লাগে। তবে আপনি যেটা বলছেন, তাতে আমি এমন বন্ধুও দেখেছি যারা একেবারে শুরু থেকেই খুব দ্রুত বুঝে ফেলত, আর ভালোও লাগত। তাদের শেখার মূল আকর্ষণটাই ছিল সমস্যা সমাধান, আমার কাছে এটা বেশ মজার। তাই আপনারও যে এমন অভিজ্ঞতা হয়েছে, এটা দারুণ।
Brian: আমার ছেলে iPad-এ একটা অ্যাপ খেলেছে, জানেন। Dragon Box নামে একটা কোম্পানি আছে, বা অ্যাপের একটা সিরিজ। আপনি শুনেছেন কি না জানি না। কিন্তু ওরা সত্যিই ভালো কিছু শিক্ষামূলক অ্যাপ বানায়। সাধারণত বেশিরভাগ শিক্ষামূলক অ্যাপ নিয়ে আমি সন্দিহান থাকি, কিন্তু ওদের অনেকগুলো সত্যিই ভালো। তার একটা জ্যামিতি নিয়ে। আর আমি এটা নিয়ে অনেকবার রূপক হিসেবে ভাবি, সেটা জ্যামিতি ছিল না, ছিল বীজগণিত। জ্যামিতিরও একটা আছে। কিন্তু বীজগণিতের অ্যাপটা আপনাকে বীজগণিতের ধারণা শেখায় না, শেখায় বীজগণিতের যান্ত্রিক দিকটা।
Jonathan: এই ভিডিওটিতে অবশ্যই একটা লাইক দিন, আর এমন আরও ভিডিওর জন্য আমাদের চ্যানেল সাবস্ক্রাইব করুন।
Brian: আর এটা এমনভাবে করে, যেখানে দুই পাশে দুই রকমের বাক্স থাকে, আর আপনার কাজ দুই পাশে জিনিসগুলোকে ভারসাম্যে রাখা। একটা দানবকে এক পাশ থেকে অন্য পাশে নিয়ে যেতে হয়, নয়তো এক ধরনের দানবকে অন্য ধরনে রূপান্তর করতে হয়। দেখতে দেখতে কিছুদিন হয়ে গেছে, তবে যা স্পষ্ট মনে আছে, সে বীজগণিতের যান্ত্রিক দিকটা শিখছিল, অথচ সে বুঝতেই পারছিল না সে কীসের দিকে এগোচ্ছে, কেন এটা করছে। কিন্তু করতে মজাই লাগছিল, আর ওরা এমনভাবে সাজিয়েছে যে সেটা সত্যিই আকর্ষণীয় হয়ে উঠেছে। আর এটার মধ্যে আমার সবচেয়ে ভালো লাগার ব্যাপারটা হলো, যখন সে সত্যিকারের বীজগণিত শুরু করবে, আমি চাই সে আবার এই অ্যাপটা করুক। কারণ আমার মনে হয়, যান্ত্রিক দিকটা যদি আয়ত্তে থাকে, তাহলে সেসব নিয়ে বেশি ভাবতে হয় না, আর যান্ত্রিক খুঁটিনাটি নিয়ে চাপ না নিয়ে আপনি বরং বড় ছবিটা নিয়ে ভাবতে পারেন। আর মনে হয়, কেমিস্ট্রি নিয়েও আপনি সম্ভবত সেটাই বলছেন। আপনার ক্ষেত্রেও এমন হয়েছে কি না জানি না, তবে ব্যাপারটা এমন হতে পারে, কেন আমি এই যান্ত্রিক খুঁটিনাটি, এই নিয়মকানুন সব নিয়ে মাথা ঘামাব? অথচ একটা নির্দিষ্ট জায়গায় পৌঁছে মনে হয়, ঠিক আছে, এই সংগ্রামটা তো পেরিয়ে এলাম। এখন আমি ভাবতে পারি, আমি এটা কেন করছি।
Jonathan: হ্যাঁ, হ্যাঁ। সত্যিই মজার অভিজ্ঞতা ছিল, কারণ এই প্রথম আমি এই ধরনের প্রক্রিয়ার মধ্যে দিয়ে গেলাম, একটা বিষয় বুঝলাম, তারপর এমন একটা সময় আসে যখন ওই বিষয়গুলো নিয়ে আত্মবিশ্বাস অনেক কমে যায়, কারণ মনে হয়, ওহ, আমার মাথা তো ওই ধরনের চিন্তার জন্য তৈরি নয়। কিন্তু আসলে যদি ইংরেজি সাহিত্যের দিকে তাকান, যেমনটা আমি পড়েছি, সেখানে আপনি খুব সুশৃঙ্খলভাবে ভাষা, তার গঠন, সবকিছু দেখে যান। কিন্তু তাতে সূক্ষ্মতা আছে, পুরো ব্যাপারটায় শিল্পের ছোঁয়াও আছে। আর আপনি বলতে পারেন, ডেভেলপমেন্ট আর প্রোগ্রামিংয়ের মধ্যেও ওই শিল্পের উপাদানটা আছে। প্রত্যেকের নিজের একটা স্বকীয়তা থাকে। আর আমি ক্রমশ যেটা বুঝতে পারছি, সেটা হলো কোনো কিছুতে কোনো কঠোর-অটল নিয়ম নেই। সবই আসলে ছাড়-পাওয়ার হিসাব। তো না, ব্যাপারটা দারুণ হয়েছে। তো, আপনি... আপনি আমাদের cohort-গুলোতে সাহায্য করেছিলেন। যারা শুনছেন, আমরা Elixir আর Golang-এ শেখার অভিজ্ঞতার আয়োজন করেছিলাম। আর Brian, আপনি Elixir cohort-এ কিছুটা সাহায্য করেছিলেন। তাহলে Elixir ভাষা হিসেবে আপনার মধ্যে কীভাবে এল? এর পেছনের গল্পটা কী?
Brian: হ্যাঁ, মজার ব্যাপার, আজই কেউ আমাকে ঠিক এই প্রশ্নটা করেছিল। কারণ এটা একটা niche ভাষা, এক অর্থে। কিন্তু আমি অনেক দিন ধরে Ruby নিয়ে কাজ করছি, আমি অনেক দিনের Ruby ডেভেলপার। আর Ruby আমার সত্যিই ভালো লাগে, কারণ আমি এমন প্রোগ্রামার যে কাজ শেষ করতে চায়, কঠিন সমস্যাগুলো সমাধান করতে চায়। অথচ কঠিন সমস্যা সমাধান করা কঠিন হয়ে পড়ে যদি আপনাকে ছোট ছোট খুঁটিনাটি, পয়েন্টার ইত্যাদি নিয়ে ভাবতে হয়, ঠিক? তাই এ কাজে Ruby দারুণ ছিল। তারপর অবশ্যই, Elixir-এর স্রষ্টা Joseph Alim এসেছেন Ruby জগৎ থেকেই। Ruby জগতে তিনি তো আগেই বিস্তর কাজ করেছিলেন, আর ঠিক করলেন তিনি, না, দরকার ছিল না, তিনি তো অসাধারণ, তিনি নিজের একটা ভাষা বানাবেন, সেটাতেও অনেক কাজ করবেন। আর সেটা তিনি দারুণভাবে করলেন। তো একভাবে আমি ওই জগতের সঙ্গে জড়িয়ে গিয়েছিলাম, কিছু পডকাস্ট শুনতাম যেখানে মাঝে মাঝে Ruby নিয়ে কথা হতো, তারপর হঠাৎ, ওহ, এ তো নতুন জিনিস, Elixir। আর তারপর একটা বাঁক, মানে একটা মৌলিক ব্যাপার ঘটল, আমি তখন Columbus-এ থাকতাম, আসলে কিছুদিনের জন্য Columbus, Ohio-তে ফিরে গিয়েছিলাম, আর Joseph Aleem এলেন Columbus-এর Ruby গ্রুপে, Columbus Ruby Brigade-এ। আর সবাই বলল, আপনার মতো কেউ এসে যা খুশি নিয়ে বলবেন, এ তো দারুণ ব্যাপার। আর তিনি অবশ্যই বললেন, হ্যাঁ, আমি Elixir নিয়েই বলব, কারণ এ ভাষাটা আমি বানিয়েছি, আর এটা নিয়ে আমি সত্যিই উচ্ছ্বসিত। হ্যাঁ, হ্যাঁ, ঠিক তাই। আর এটা আমার মনে আছে। মজার ব্যাপার, বছরখানেক আগে ওই উপস্থাপনার একটা রেকর্ডিং পেলাম। একটু ঘোলা, কিন্তু এখনো দেখা যায়। আর এখনো আমি সেই জায়গাটা বের করতে পারি যেখানে আমি Joseph-কে একটা প্রশ্ন করেছিলাম। আর মনে আছে, আমার ঠিক কীভাবে, এই নিয়ে বিভ্রান্তি ছিল।
Jonathan: এটা নিয়ে আমি সত্যিই উচ্ছ্বসিত।
Brian: মানে এই ধারণাগুলো, আপনি প্রসেস বানান, আর সুপারভাইজার থাকলে তারা failure থেকে ফিরে আসতে পারে, ইত্যাদি। তিনি ঠিক কী বলেছিলেন মনে নেই, তবে আমি জিজ্ঞেস করেছিলাম, এটা কীভাবে কাজ করে? মানে, ঠিক আছে, আপনি এরর থেকে ফিরে আসেন। কিন্তু সেই এররগুলো কি আপনি তখনো জানতে পারেন? নাকি কী হয়? আর এর মানেটা কী, সেটা শিখতে গিয়ে একটা পুরো যাত্রা হয়ে গেল। আর আমার মনে হয় এটা সত্যিই মজার একটা প্রক্রিয়া। তখন Elixir কমিউনিটির অনেকেই এই ধারণাগুলো কীভাবে বর্ণনা করা যায়, তা নিয়ে হিমশিম খাচ্ছিল, মনে হয়। এখন আরও ব্লগ পোস্ট আছে, আরও অনেক কিছু, যা মানুষ দ্রুত শুষে নিতে পারে, দ্রুত এগিয়ে আসতে পারে। যাই হোক, আমি ওই জায়গা থেকেই ঢুকেছিলাম। সেটাই ছিল বড় একটা সূচনা, মনে হয়। ব্যাপারটা এমন, আরে, এটা তো মজার শোনাচ্ছে। আর Jose যদি বলেন এটা দারুণ, তাহলে তো আমাকে দেখতেই হবে।
Jonathan: তাহলে ব্যাপারটা এমন ছিল যে সময়টা আপনার জন্য ঠিকঠাক মিলে গিয়েছিল? অনেকগুলো আলাদা ব্যাপার একসঙ্গে মিলে গিয়ে আপনার কাছে অর্থবহ হয়ে উঠেছিল। আপনি কি অন্য ভাষাগুলোও ঘাঁটছিলেন? মানে, আপনি পয়েন্টারের কথা বললেন। সেটা কি Go-কে বোঝাচ্ছিল, নাকি আপনি শুধু নিজের জন্য মানানসই কোনো ভাষার খোঁজে ছিলেন?
Brian: মনে হয়... হ্যাঁ, মানে, আমি এই ধারণাটা খুব পছন্দ করি যে ভিন্ন ভিন্ন কাজে ভিন্ন ভিন্ন জিনিস ভালো। আর এখন আমি Elixir নিয়ে পুরো মগ্ন। হয়তো আমি একটু পক্ষপাতদুষ্ট, ভাবি Elixir দিয়ে যেকোনো কিছুই করা যায়। সেটা সম্ভবত পুরোপুরি সত্যি নয়। তবে পয়েন্টারের প্রসঙ্গে আমার মনে ছিল C, মনে হয়। মানে, কলেজে কিছুটা C, C++ তো করেছি। মনে হয় তাই। আপনি জানেন, হ্যাঁ, আমি কয়েক বছর Neo4j, তথা গ্রাফ ডেটাবেস নিয়ে কাজ করেছি। সেটা নিয়ে আমি খুব উৎসাহী ছিলাম। আর Ruby-র জন্য Neo4j gem-গুলোর একজন maintainer-ও ছিলাম। কারণ ব্যাপারটা ছিল এমন বেশি গভীরে যাওয়ার দরকার নেই, তবে গ্রাফ ডেটাবেস কিছু কাজ দ্রুত করাতে পারে, বা কিছু দিক থেকে সহজ করে দেয়। আমার কাছে ব্যাপারটা... অনেকেই Neo4j এভাবে ব্যবহার করে না, কিন্তু আমার মনে হয় এটা অনেকটা Ruby-র মতো, কারণ এটা আপনাকে উঁচু স্তরে ভাবতে সাহায্য করে। ফলে কাজগুলো আরও সুন্দরভাবে করা যায়। তবে আমি এই ধারণাটা পছন্দ করি, আচ্ছা, এই কাজে গ্রাফ ডেটাবেস ভালো হতে পারে, ওই কাজে রিলেশনাল ডেটাবেস, আরেকটায় ডকুমেন্ট ডেটাবেস। আর যদি খুব দ্রুত চলতে হবে এমন ছোট একটা সার্ভিস বানাতে হয়, তাহলে হয়তো Rust বা Go-তে বানাব। তাই ওই ভাষাগুলোও জানা দরকার। আর উঁচু স্তরের কাজের জন্য Ruby, Python আছে, এখন Elixir-ও আছে, আর Elixir-এর আসলে অনেক বড় সুবিধা আছে। কোন জিনিস কোন কাজে ভালো, সেটা বের করা খুব কঠিন ব্যাপার, কারণ একটা ভাষার সঙ্গে এত কিছু জড়িত থাকে যে সেটা কোনো কাজে ভালো কি না, বোঝা সহজ নয়। আর মানুষ, আমিসহ, কোনো এক কারণে পছন্দের ভাষার সঙ্গে আবেগে জড়িয়ে পড়ে। তাই ব্যাপারটা কঠিন। হুম।
Jonathan: আর Brian, কাজের জন্য প্রতিদিন Elixir ব্যবহার করেন? এই মুহূর্তে আপনার কাজটা আসলে কী? আপনার দিনগুলো কেমন কাটে?
Brian: হ্যাঁ, আমি Erlang Solutions-এর একজন কনসালট্যান্ট। আর আমি Erlang Solutions-এর একটা ক্লায়েন্টের হয়ে কাজ করছি, VicAI নামে একটা কোম্পানি। শুনেছেন কি না জানি না। মনে হয় Lars Wirthven কিছুটা সাহায্য করেছেন আর নিজের ব্লগে ওদের নিয়ে একটু লিখেছেন। Elixir জগতে তিনি মোটামুটি নামকরা মানুষ। হ্যাঁ, ওরা এমন একটা কোম্পানি যারা অন্য কোম্পানিগুলোকে সাহায্য করে। ওদের একটা অ্যাপ্লিকেশন আছে, যা কৃত্রিম বুদ্ধিমত্তা ব্যবহার করে কোম্পানিগুলোর ইনভয়েস আধা বা পুরোপুরি স্বয়ংক্রিয়ভাবে প্রক্রিয়া করতে সাহায্য করে। আচ্ছা। হ্যাঁ, তো ওদের অবশ্যই মেশিন লার্নিং মডেল আছে, কিন্তু তারপর আছে একটা Elixir API, যা দিয়ে ওরা অনেক কিছু সমন্বয় করতে পারে।
Jonathan: আচ্ছা। তাহলে দিনে অনেক আলাদা ক্লায়েন্টের সঙ্গে কাজ করেন, নাকি একটা নির্দিষ্ট গ্রুপের সঙ্গে কাজ করেন যাদের সঙ্গে আপনি একসঙ্গে হাঁটেন, অংশীদারিত্ব করেন? ব্যাপারটা আসলে কীভাবে চলে?
Brian: হ্যাঁ, আমি সাধারণত একটা ফিচার টিমে থাকি, সঙ্গে থাকেন একজন প্রোডাক্ট ম্যানেজার, আর আমাদের আছেন একজন ওয়েব ডেভেলপার, একজন মোবাইল ডেভেলপার, মাঝে মাঝে একজন back-end developer, মেশিন লার্নিং টিম। আর মাঝে মাঝে ভালো লাগে, আমাদের একজন product বা QA মানুষ থাকেন, যিনি আমাদের ক্লায়েন্টদের সঙ্গে যোগাযোগ করেন, যাতে আমরা বুঝতে পারি সবচেয়ে প্রাসঙ্গিক, সবচেয়ে দরকারি জিনিসটা কী, মানে, ব্যবহারকারী আর ক্লায়েন্টদের আসলে কী দরকার? তবে ব্যাপারটা কিছুটা স্তরে স্তরে সাজানো। কোনটা তার উপর নির্ভর করে, আমাদের একটা বড় সরাসরি ক্লায়েন্ট আছে, আরও আছে কিছু অ্যাকাউন্টিং সিস্টেম, ERP, যাদের সঙ্গে আমরা কাজ করি, ওদেরও মানুষ আছে যারা নিজেদের ক্লায়েন্ট যুক্ত করেন। সৎ বলতে, এসবের অনেকটায় আমি আসলে কাজ করি না, কাস্টমারদের দিকটায় আমি তেমন থাকি না। তবে আমার মনে হয় ক্লায়েন্টদের সঙ্গে আমাদের যোগাযোগের অনেক রকম পথ আছে, আর ইন্টিগ্রেট করতে গিয়ে নানা রকম নাচতেই হয়, যা নিজেই একটা মজার সমস্যা।
Jonathan: তাহলে সপ্তাহটা কি বেশ разнообраз? সপ্তাহজুড়ে অনেক আলাদা আলাদা কাজ করেন, নাকি মোটামুটি অনুমানযোগ্য?
Brian: হ্যাঁ, ব্যাপারটা... আমি বরং ভাগ্যবান, কারণ সাধারণত একটা একটা প্রজেক্টেই কাজ করি। কিন্তু যেমন, সম্প্রতি আমি একটা কাজ করছিলাম, ইনভয়েস প্রক্রিয়ার সময় আমাদের back calculation-গুলো ঠিক আছে কি না, সেটা নিশ্চিত করা। কারণ এটা বেশ জটিল ব্যাপার। বিশেষ করে যখন একগাদা আলাদা ভেন্ডর থেকে ইনভয়েস আসে, আর তারা প্রত্যেকে আলাদাভাবে কাজ করে। তবে আমি বরং ভাগ্যবান, কারণ ওরা চায় আমরা যেন আমাদের code quality আর সার্বিকভাবে সবকিছুর উপর নিয়ন্ত্রণ রাখি। তাই আমরা মোটামুটি ভালো পরিমাণ সময় দিই জিনিসপত্র আরও ভালো করতে, আমাদের code ভালো করতে, সব উন্নত করতে। আর সেটা আসলে আমার স্বভাবও বটে। আমি সাধারণত কিছু সময় অন্তত বের করার চেষ্টা করি, যেমন, আমরা DataDog-এর সঙ্গে অনেক ইন্টিগ্রেশন করি, যাতে আমাদের রিকোয়েস্ট, ব্যাকগ্রাউন্ড জব, এসবের ট্রেসিং পাওয়া যায়। আর এসব আমার বেশ ভালো লাগে, একবার কাজটা শেষ হলে মনে হয়, এখুনি আমার কাজ করার যন্ত্রপাতি হাতে এসে গেল। আর হ্যাঁ, সম্প্রতিই একটা ব্যাপারে আগ্রহ জন্মেছে, code সাজানোর আর অন্য মডিউলের উল্লেখ করার একটা ধরন। আর Elixir World Club-এ Credo নামে একটা টুল আছে, যা দিয়ে আপনার code style-এ নানা নিয়ম চাপিয়ে দেওয়া যায়। তাই আমি নতুন একটা Credo রুল বানালাম, যাতে সম্ভব হলে ওই নিয়মটা চাপিয়ে দেওয়া যায়। দেখতে কৌতূহলী, কী হয়।
Jonathan: আচ্ছা, দারুণ। সত্যি বলতে, এসব আমার মাথার একটু উপর দিয়েই গেল, তবে মোটামুটি বুঝলাম, নিশ্চয়ই কেউ আছেন যিনি বুঝবেন কী হচ্ছে। কিন্তু আগে বলছিলেন আপনি একটু একটা স্টার্টআপের জন্য কাজ করেছিলেন, ঠিক বলেছি কি? তাহলে একদিকে ছিল টেক সাপোর্টের কাজ, আরেকদিকে স্টার্টআপের একটা গল্প। ভবিষ্যতে এ নিয়ে আপনার আগ্রহ থাকবে, নাকি সবসময় মনের পিছনে এটা ঘুরপাক খায়? পরবর্তী পাঁচ, দশ বছর প্রোগ্রামিং নিয়ে আপনার পথটা কেমন হবে বলে মনে করেন? মানে, হয়তো জানেন না, তবে সাধারণত মানুষকে এই প্রশ্নটা করতে মজা লাগে, পাঁচ, দশ বছর পর নিজেকে কোথায় দেখেন?
Brian: হ্যাঁ, প্রশ্নটা ভালো। মানে, আমি... স্টার্টআপের ব্যাপারে আমি সবসময় ছোট থেকে মাঝারি কোম্পানির মধ্যেই ঘোরাফেরা করেছি।
Jonathan: ধন্যবাদ।
Brian: খুব বড় কোম্পানিতে আমি তেমন খুশি থাকিনি। আর নিজেকে কনসালট্যান্ট হিসেবে আমি কখনোই ভাবিনি, সম্প্রতি পর্যন্ত, তখন মনে হলো, আচ্ছা, এটা তো মজার... আলাদা আলাদা কোম্পানিতে গিয়ে তাদের সমস্যা সমাধানে সাহায্য করা, তারপর আবার অন্য কোম্পানিতে চলে যাওয়া। মানে, Big Gag থেকে কেউ যদি শুনছেন, আমি অসন্তুষ্ট নই।
Jonathan: ভাবছিলাম, পডকাস্টে কাউকে এই প্রশ্নটা করা উচিত কি না, কিন্তু হ্যাঁ, ধরে নিচ্ছি সব ঠিকঠাক চলছে। মাফ করবেন, আমার বিড়াল এখানে দরজা আঁচড়াচ্ছে।
Brian: হ্যাঁ, হ্যাঁ, আমাদের তো মাসখানেক আগে একটা কুকুরছানা এসেছে, তাই আমাকে সারাক্ষণ দেখতে হয়, সে ঘেউ ঘেউ করে, বা এক-দুবার বিছানায় প্রস্রাব করে ফেলে, তখন আমাকে সামলাতে হয়।
Jonathan: আমাদেরও তো সবে এসেছে, পাগল করে দেয়। প্রতিদিন ভোর পাঁচটায়। ভোর সাড়ে চারটায় সে বিছানায় লাফ দিয়ে কারও মুখে থাবা মারে। মিষ্টি আর দারুণ। কিন্তু কিছুক্ষণ পর মনে হয়, আর না। যাই হোক, আবার আগের কথায় ফিরি, আগামী কয়েক বছরে আপনি কী করতে বা অর্জন করতে চাইবেন?
Brian: হ্যাঁ, প্রশ্নটা ভালো। আমি বের করে বোঝার ব্যাপারটা পছন্দ করি... Elixir-এ আমার যে জিনিসটা টানে, তা হলো এটা এখনো কিছুটা নতুন। তাই আমার ভালো লাগে... নতুন পথ তৈরি করার, নতুন প্যাটার্ন খুঁজে বের করার উপায়গুলো। বিশেষ করে... মানে, আমি তো কিছুদিন Ruby জগতে ছিলাম, তাই Elixir-এ ঢুকে মাঝে মাঝে মনে হয়, ওহ, Ruby-তে এই জিনিসটা মিস করি, এটা বানাতে পারলে বা করতে পারলে দারুণ হতো। আবার এমনও আছে, ওহ, Ruby-তে এই কাজটা ভালোভাবে করতে পারতাম না। কিন্তু এইভাবে করলে Elixir-এর শক্তিগুলো কাজে লাগিয়ে জিনিসটা আরও দারুণ করা যায়। তাই এসব ব্যাপারেই আমার আগ্রহ, সুন্দর ইউজ কেস খুঁজে বের করা, সেগুলো নিয়ে বলা, শেয়ার করা। কারণ এটাও আমাকে সবসময় অনুপ্রাণিত করে, যখন কোনো কিছু পড়ি, বিশেষ করে একটা সত্যিকারের ইউজ কেস আর তার খুঁটিনাটি, শুধু এই নয় যে, হ্যাঁ, আমরা এটা করেছি, এভাবে এগিয়েছি। বরং, কোথায় code দেখা যাবে, কোনটা কী বিস্তারিত? হ্যাঁ।
Jonathan: শুনে মনে হচ্ছে আপনি জিনিসপত্র আরও ভালো করার দিকটা উপভোগ করেন, কিছু নিয়ে সেটা আরও ভালো আর দক্ষ করার নতুন পথ বের করা। অন্তত আমার তা-ই মনে হচ্ছে। ঠিক বলেছি বলে মনে করেন?
Brian: হ্যাঁ, আর দক্ষতা ভালোই। তবে হয়তো আমি আরও বেশি করে বলব, জিনিসগুলো উপভোগ্য করার উপায় খুঁজে বের করা। আমি এই ধারণাটা খুব পছন্দ করি, সমস্যাগুলো এমনভাবে সমাধান করা যাতে সেগুলো আর নিয়ে মাথা ঘামাতে না হয়। যেমন লাইব্রেরি বানানো, যাতে বলা যায়, আচ্ছা, ওই সমস্যা তো, হ্যাঁ, এই সমস্যা এখন মিটে গেছে, চলুন এমন কিছু করি যা আমাদের সময়ের ভালো ব্যবহার, ঠিক?
Jonathan: হ্যাঁ, অবশ্যই। বুঝতে পারছি। আমার ভালো লাগে মানুষকে একটা প্রশ্ন করতে, বিশেষ করে এই সূত্রে, কারণ আমি নিজে টেক ইন্ডাস্ট্রিতে মোটামুটি নতুন, আর ছোটবেলা থেকে প্রোগ্রামিং করার মতো অভিজ্ঞতা আমার নেই। আর একটা ব্যাপার আমার প্রায়ই চোখে পড়ে, টেক-এর বন্ধুদের মধ্যেও এটা প্রায়ই শুনি, অনেক রকম মতামত ছড়িয়ে থাকে, যা বরং সত্যিই তাই। তবে আমাদের পডকাস্টে যাঁরা আসেন, তাঁদের আমরা একটা প্রশ্ন করি, টেক-এ কোন ব্যাপারটা নিয়ে আপনি শেষ পর্যন্ত লড়ে যাবেন? অবশ্যই প্রশ্নটা একটু হালকা মজার ছলে। তবে এমন কোনো মনোভাব বা মত আছে কি যা নিয়ে আপনি বলবেন, এই ব্যাপারে আমি শেষ পর্যন্ত অটল থাকব? যেকোনো কিছু হতে পারে। যেমন আমাদের একজন maintainer DJ, হয়তো চেনেন, তাঁর অটল মতটা ছিল টেক জগতে সদিচ্ছাপূর্ণ আর সুসংগঠিত কথোপকথনের ভূমিকা নিয়ে। মানে, শক্ত-সবল, চ্যালেঞ্জিং প্রশ্নোত্তর, যা ঠিক ভিতের উপর দাঁড়ানো। আরেকজনের কথা মনে করার চেষ্টা করছি। Unison-এর Rebecca বলেছিলেন, তিনি এক প্রতিভাবান কিন্তু সঙ্গে কথা বলা দুর্বিষহ মানুষের চেয়ে বরং ৫০ জন পরিশ্রমী, দায়িত্ববান, হয়তো কম প্রতিভাবান মানুষ নিয়ে গড়া টিম পছন্দ করবেন। তো এগুলো মোটামুটি ভালো উদাহরণ। আর হঠাৎ এই প্রশ্ন করে আপনাকে একটু অস্বস্তিতে ফেলেছি, কারণ আপনার হয়তো অনেক মতই থাকতে পারে। তবে এমন একটা আছে কি যা নিয়ে আপনি বলবেন, না, এ ব্যাপারে আমি অনড় থাকব?
Brian: হুম। হ্যাঁ। কারণ প্রথমে যেটা মাথায় এল, তা হলো camel case আর snake case-এর লড়াই। তবে সেটার জন্য প্রাণ দেব কি না, জানি না। এই জিনিসগুলোর অনেকগুলোই...
Jonathan: আমি তো পারিনি...
Brian: হ্যাঁ, হ্যাঁ, তবে এসবের অনেক ব্যাপারে সময়ের সঙ্গে আমার মত হয়তো কম কড়া হয়ে এসেছে। যাই হোক, আপনি যে উঁচু স্তরের জিনিসগুলোর কথা বলছেন, সেগুলো আমার পছন্দ। মনে হয় আমি পারব... ভালো লাগে। দেখি এটা তুলে ধরতে পারি কি না। দুর্ভাগ্যবশত আপনি এটা edit করবেন, তাই আমার থামাগুলো তো মুছে যাবে, তাই না?
Jonathan: অন্তত সেটাই পরিকল্পনা।
Brian: হ্যাঁ। Remote Retro নামে একটা টুল আছে। আমি এটা অনেকবার ব্যবহার করেছি আর সত্যিই জোর দিয়ে সুপারিশ করি। এটা জানতে পারি কারণ এটা Elixir-এ লেখা। তবে সেটা বাদেও, আমার মনে হয় এটা সুন্দরভাবে ডিজাইন করা। সময়ের সঙ্গে এটা আরও ভালো টুল হয়ে উঠেছে। কিন্তু এটা সবসময় একটা Prime directive দিয়ে শুরু হয়, যেটা, এখন দেখছি, মনে হয় Norm Keith থেকে নেওয়া। এখানে একটা wiki পেজ আছে, চাইলে খুঁজে দেখতে পারেন। দেখতে চাইলে remote-retro.org-এ যেতে পারেন। তবে... হ্যাঁ, এই হলো prime directive, যা আমার মতে শুধু, এটা এমন একটা জিনিস যা retrospective-র শুরুতে পড়া হয়, মানুষকে সঠিক মানসিক অবস্থায় আনতে। তাতে লেখা, আমরা যা-ই আবিষ্কার করি না কেন, আমরা বুঝি এবং সত্যিই বিশ্বাস করি যে প্রত্যেকে সেই সময়ে যা জানত, তার দক্ষতা ও সামর্থ্য, উপলব্ধ সম্পদ আর সামনের পরিস্থিতি অনুযায়ী সবচেয়ে ভালো কাজটাই করেছে। তাই আমার মনে হয় এটা ভালো। এটা একই রকম মনে হয়... সবসময় নিশ্চিত করতে হয় যে আপনি... আসলে আরেকটা কথা বলি। একটা ইন্টারভিউ ছিল, চাইলে শেয়ার করতে পারি, যাতে পরে show description-এ লিংকটা দিতে পারেন।
Jonathan: অবশ্যই উল্লেখ করব।
Brian: হ্যাঁ, আমি সবসময় এই লেখাটা সুপারিশ করি, যদিও খুঁজে পাওয়া খুব কঠিন আর এখন হয়তো অনেকটাই বিস্মৃতির অতলে চলে গেছে। কিন্তু একজন মানুষ ছিলেন, যিনি যুক্তরাষ্ট্রের Veterans Association, ওই সরকারি দপ্তরের একজন প্রশাসক ছিলেন। বিশেষ করে তিনি ওদের স্বাস্থ্যসেবা ব্যবস্থা দেখতেন, মনে হয়। তাঁর একটা ইন্টারভিউ ছিল, যেখানে তিনি এসেছিলেন এরোস্পেস জগৎ থেকে। আর তিনি যা নিয়ে কথা বলেছিলেন, তার অনেকটাই ছিল... এরোস্পেসে অনেক ক্ষেত্রে, সম্ভবত সব জায়গায় নিখুঁত নয়, তবে তিনি যা অভিজ্ঞতা পেয়েছিলেন তার অনেকটায়, দোষ দেওয়া হতো প্রক্রিয়াকে, মানুষের নয়। আর কিছু ভুল হলে বলা হয়, আচ্ছা, এটা তো... যেমন আমি প্রোডাকশনে একটা টেবিল মুছে ফেলেছি। কিন্তু ভাগ্য ভালো, কেউ আমাকে দোষ দেয়নি। সবাই বলল, আচ্ছা, এখন কী করব? তাহলে আমরা ব্যবস্থা করি, যাতে কনসোলে প্রোডাকশনে গেলে প্রম্পট লাল হয়ে ওঠে। তাহলে বোঝা যাবে আপনি প্রোডাকশনে আছেন, ঠিক? কারণ আমি ওই ভুলটা করেছিলাম, কারণ আমি ভেবেছিলাম ডেভেলপমেন্টে আছি, অথচ... হ্যাঁ, ঠিক। তাই আমি ভাগ্যবান ছিলাম এমন একটা অফিসে ছিলাম যেখানে দোষ দেওয়া হতো প্রক্রিয়াকে, মানুষকে নয়। সেটা সত্যিই দারুণ ছিল। আর তিনি এসব বলেছিলেন চিকিৎসার প্রেক্ষাপটে, ঠিক আছে, মাঝে মাঝে হয়তো নার্স রোগীকে ভুল ওষুধ দিয়ে ফেলতে পারেন। তখন বলা হয়, হয়তো লেবেলগুলো বিভ্রান্তিকর, বা জিনিসটা কঠিন, বা যা-ই হোক, আদর্শ নয়। তাহলে বলা হয়, ঠিক আছে, এটা ঠিক করি। চলুন করে ফেলি। তাই আমরা যদি রোগীর সত্যিই মঙ্গল চাই, তাহলে প্রক্রিয়াটা এমন করি যাতে ভুল হওয়া কঠিন হয়। এটা আমার কাছে বড় একটা ব্যাপার।
Jonathan: এটা দারুণ। এগুলো অবশ্যই show notes-এ দেব। এটা কি agile থেকে এসেছে, মানে agile পদ্ধতির উপর দাঁড়ানো? নাকি অন্য কিছু? আপনি কী মনে করেন?
Brian: প্রশ্নটা ভালো, মনে হয়। আমার ধারণা হলো, কিছু এরোস্পেস ইঞ্জিনিয়ারিং বৃত্তে এটা বেশ পুরোনো একটা ঐতিহ্যের অংশ। মানে, এরোস্পেস, সম্ভবত এটা এই ব্যাপারটার সঙ্গে সম্পর্কিত, আপনি যদি বিমান বানান বা রকেট বানান। আপনার কাজটা এমনই, এটাকে কাজ করতেই হবে। আর যখন আমরা এর উপর একজন মানুষ তুলি, মহাকাশচারী হোক বা যাত্রী, আমাদের তাকে কাজ হওয়ার সর্বোত্তম সম্ভাবনা দিতে হয়। আর তা করার সেরা উপায় হলো অহংকার একপাশে সরিয়ে রেখে জিজ্ঞেস করা, আচ্ছা, কী?
Jonathan: আপনি
Brian: আমরা যদি শুধু প্রক্রিয়াটা মেনে চলি, তাহলে কী করলে এটা প্রতিবারই যথাসম্ভব কাজ করবে। আমার মনে হয় এটাও তার অংশ, হ্যাঁ।
Jonathan: কারণ আমি remote retro দেখতে গিয়ে দেখলাম, এতে অনেকটা agile পরিভাষা আছে। তাই ভাবছি, হয়তো কোথাও থেকে এটা কিছুটা বদলে এসেছে। তবে এটা সত্যিই দারুণ। আগে কখনো শুনিনি। আমি যেটা শুনেছি, সেটা checklist নিয়ে, বিশেষ করে চিকিৎসা আর এরোস্পেসে। মানে, একজন পাইলট checklist ধরে এগিয়ে যান। তিনি checklist থেকে সরে যান না। ডাক্তারও একই করেন। সেটা সত্যিই দারুণ। Brian, এখন আমরা অবতরণের দিকে যাব। আজ সন্ধ্যায় আপনার জন্য আমার আর একটা প্রশ্ন আছে। আর সেটা হলো, আগামী সপ্তাহে Exercism কমিউনিটির জন্য আপনার সুপারিশ কী? যদি একটা পরামর্শ দিতে পারেন, যেকোনো বিষয়ে। হতে পারে, আপনার এলাকার কোনো দোকান থেকে কম্বুচা খেয়ে আসুন, বা আর্কটিক মহাসাগরে দৌড়ে গিয়ে সাঁতার কাটুন, যা-ই হোক। Exercism কমিউনিটিকে চেষ্টা করে দেখার জন্য একটা জিনিস সুপারিশ করবেন, এই সপ্তাহে সেটা কী হবে?
Brian: চিয়ার্স! হুম। আমি বলব... মানে, আপনার সামর্থ্যের মধ্যে যেটা সম্ভব, কারণ সবার জন্য পরামর্শ দেওয়া সবসময় কঠিন। তবে একটা ব্যাপার আমার জীবনে বড় পরিবর্তন এনেছে। একবার হঠাৎ মাথাব্যথা নিয়ে আমাকে ER-এ যেতে হয়েছিল। আর আশঙ্কা ছিল এটা হয়তো এক ধরনের জটিল মাথাব্যথা, যা মোটামুটি গুরুতর হতে পারে। তাই গেলাম, ডাক্তার দেখলেন, সব ঠিকই ছিল। কিন্তু ডাক্তার শুধু সাধারণ কিছু প্রশ্ন করছিলেন, আচ্ছা, আপনি কতটা ব্যায়াম করেন? আপনার শারীরিক পরিশ্রম কেমন, ইত্যাদি। আর আমি, আমেরিকান হয়ে, বললাম, আমি তো বেশ হাঁটাহাঁটি করি, সপ্তাহে, মাসে, বা দিনে গড়ে হয়তো ৮০০০ কদম হাঁটি। আর তিনি বললেন, আপনার সপ্তাহে তিনবার, ৪৫ মিনিট করে বেরোনো উচিত, যাতে সত্যিই ঘাম ঝরে। আর আমি সঙ্গে সঙ্গে তা করিনি। কিন্তু পাঁচ-ছয় মাস পর একটা রুটিন, দৌড়ানোর অভ্যাস তৈরি হয়ে গেল, সাধারণত সপ্তাহে তিনবার, মাঝে মাঝে দুবার। আর আমার মনে হয় এটা আমার জীবনে বড় একটা পরিবর্তন এনেছে, আমাকে অনেক সাহায্য করেছে। আমি জানি এটা করা খুব কঠিন, আর আমারও শুরু করা খুব কঠিন ছিল। আমি যেভাবে করলাম, তার একটা অংশ ছিল, ঠিক আছে, আমি বেরোব, আর যদি ৭৫% সময় হাঁটতেই কাটে, তাতেই কিছু যায় আসে না। আমি ধীরে ধীরে বাড়িয়ে নেব।
Jonathan: দারুণ। আপনার এই কথাটা মজার লাগল, কারণ আমরা...
Brian: আপনার এই কথাটা মজার লাগল, কারণ আমরা...
Jonathan: না, আসলে দারুণ। কারণ cohort-গুলো নিয়ে আমরা একটা জিনিস ভাবতে চেয়েছিলাম, কী করলে মানুষ বেড়ে উঠতে, শিখতে, আর এগিয়ে যেতে, মানে প্রোগ্রামিংয়ের এই দৌড়ে গতি পেতে সাহায্য পাবে। আর তার একটা ছিল, শুধু বেরিয়ে পড়া, দিনে ১০ মিনিট হলেও, শুধু চেষ্টা করার জায়গায় নিজেকে রাখা। আর যদি সত্যিই কিছু না এগোয়ও, যদি শুধু নির্দেশনাগুলো পড়েই সেদিনের মতো শেষ করে দেন, তবু যতক্ষণ আপনি কোনোভাবে হাজির থাকেন, ততক্ষণ সেটা বড় পার্থক্য গড়ে দেয়। তবে আমার মনে হয় এটা দারুণ একটা সুপারিশ, আর আমার জন্যও মনে করিয়ে দিল যে আমি একটু খেলাধুলা শুরু করি, কারণ ঘরে বসে থাকলে শরীর এমনিতেই নিষ্ক্রিয় হয়ে যায়। তাই যারা শুনছেন, Brian-এর পরামর্শ নিন, বেরিয়ে পড়ুন দৌড়াতে। তবে আগামী কয়েক সপ্তাহে স্টকহোমে একটু ঠান্ডা শুরু হবে। শীতের মাঝখানেও কি দৌড়ান, নাকি ঘরের ভেতরে দৌড়ান?
Brian: হ্যাঁ, দৌড়াই। আর আমি এটাও বলব, সপ্তাহে তিনবার, দিনে ৩০-৪০ মিনিট করে বেরোতে চাইলে সেরা ব্যায়াম হলো, যা-ই হোক, যেটা আপনি সবচেয়ে বেশি উপভোগ করেন। কারণ দৌড়াতে ভালো না লাগলে সেটা আপনি সম্ভবত চালিয়ে যেতে পারবেন না। তাই সেটাই আগে বলব। তবে হ্যাঁ, শীতে... আমার একটা টুপি আছে। স্টকহোমে তো অন্ধকারও থাকে। তাই আমার স্ত্রী আমাকে একটা টুপি কিনে দিয়েছেন, যাতে ভেতরে এমন তন্তু লাগানো যা আলো প্রতিফলিত করে। সেটা দারুণ, আমাকে নিরাপদ রাখে। আর আমার একটা ফেস মাস্ক আছে, কান ঢাকার জিনিসও পরতে পারি। হ্যাঁ। তাই আমাকে ভালোভাবে গুটিয়ে নিতে হয়, তবে এটাও ভালো, কারণ ঠান্ডায়... আমি আরও ধীরে চলতে পারি, তবুও ঠিকঠাক দৌড়ে যেতে পারি। হ্যাঁ, ঠিক তাই, ঠিক তাই।
Jonathan: ওহ, দারুণ। কিন্তু Brian, আজ সন্ধ্যায় আপনার সময় দেওয়ার জন্য আন্তরিক ধন্যবাদ জানাতে চাই। আপনার দিনটা নিশ্চয়ই লম্বা হয়েছে, বাচ্চা, কাজ, নতুন কুকুরছানা, সবকিছু মিলিয়ে। তাই শুধু বলতে চাই, আপনার সময় আর আমাদের সঙ্গে এসব শেয়ার করার জন্য অনেক ধন্যবাদ। যারা শুনছেন, আমরা show notes-গুলো নিচের description-এ দিয়ে দেব, যাতে আপনি সেগুলো দেখে নিতে পারেন। সুযোগ থাকলে, যারা শুনছেন, Elixir track-টা দেখে আসুন। আর Brian, আপনি Elixir track-এ কোনো mentoring করেন কি না জানি না, তবে আপনি যদি কখনো mentoring-এর জগতে থাকেন, তাহলে হয়তো কিছু নতুন মানুষ আসতে দেখবেন, এসে জিনিসপত্র পরখ করে দেখবে। Elixir নিয়ে অনেক ভালো ভালো কথা শুনেছি, তাই আমার মনে হয় ভবিষ্যতের জন্য এটা নিশ্চিতভাবে চোখে রাখার মতো। আর হ্যাঁ, আপনার সন্ধ্যাটা দারুণ কাটুক, Brian। রেকর্ডিং থামানোর পর একটু অপেক্ষা করবেন। আপনার সঙ্গে আমাদের এতক্ষণ থাকা দারুণ ছিল, আর Brian Underwood-এর জীবনের একটু ঝলক শেয়ার করার জন্য ধন্যবাদ। যারা শুনছেন, সবাইকে ধন্যবাদ, আপনার সন্ধ্যাটা দারুণ কাটুক। শিগগিরই আবার দেখা হবে।
আমাদের কমিউনিটির সদস্যদের কথা শুনুন, শিখুন এবং অনুপ্রাণিত হোন।