If you're seeing this message, it means we're having trouble loading external resources on our website.

তোমার যদি কোন ওয়েব ফিল্টার দেওয়া থাকে, তাহলে দয়া করে নিশ্চিত কর যে *.kastatic.org এবং *.kasandbox.org ডোমেইনগুলো উন্মুক্ত।

মূল বিষয়বস্তু

কম্পিউটার প্রোগ্রামিং

কোর্স: কম্পিউটার প্রোগ্রামিং > অধ্যায় 8

পাঠ 1: পেশাদারের সাথে পরিচিতি

বিল মিলস, পদার্থবিদ এবং আন্তঃ-সম্পর্ক বিষয়ক একজন প্রোগ্রামার

বিল মিলসের ছবি
শুভেচ্ছা, আমি বিল মিলস!

তুমি কি নিয়ে কাজ কর?

কিছু দিন ধরে আমি প্রোগ্রামিং, ব্যবহারকারী ইন্টারফেস এবং কম্পিউটার ব্যবহারের অভিজ্ঞতা নিয়ে কাজ করছি, যেটা বিজ্ঞানকে আরও দ্রুত সামনের দিকে এগিয়ে নিয়ে যাবে এবং কম্পিউটার ব্যবহার আরও মজার হয়ে উঠবে! আমি কানাডার জাতীয় ল্যাবের TRIUMF নামের একটি প্রতিষ্ঠানে কাজ করি, যেটা আণবিক পদার্থবিদ্যা নিয়ে কাজ করে । আমি এখানে GRIFFIN গবেষণা প্রকল্পের- ওয়েব টেকনোলজি বিশেষজ্ঞ এবং সফটওয়্যার প্রকল্প ব্যবস্থাপক হিসেবে কাজ করি। GRIFFIN হল অত্যাধুনিক একটি গামা রশ্মি বর্ণালী পরিমাপক যেটা 2014 সালের শেষের দিকে TRIUMF এ চালু হবে, এটি ডিজাইন করা হয়েছে যাতে এটি পূর্বের হয়ে যাওয়া যে কোন পরীক্ষণের চেয়ে আরও দক্ষ এবং উচ্চহারে রেডিওএকটিভ কণাগুলো নথিবদ্ধ করতে পারে, যেটি আমাদেরকে পরমাণুর নিউক্লিয়াস সম্পর্কে আগের থেকে আরও বিস্তারিত ছবি প্রদান করতে সক্ষম হবে।
GRIFFIN- এ, আমার কাজের আসল উদ্দেশ্য হল বিজ্ঞানীরা তাদের গবেষণা নিয়ে যে কাজগুলো করে থাকে তার আধুনিকায়ন করা। আমার কাজের ক্ষেত্রে পূর্ব অভিজ্ঞতা হল, বিজ্ঞানীদের সাথে যোগাযোগ করে তাদের তখনচলমান পরীক্ষণ থেকে প্রাথমিক তথ্যগুলো নিয়ে আসা। ধরি বিভিন্ন জায়গায় ছড়িয়ে ছিটিয়ে থাকা বহু সংখ্যক ছকের মধ্যে কিছু ছকে, কিছু সংখ্যার অনেক লম্বা তালিকা সাজান আছে। কয়েক দশক আগে এটি ঠিক ছিল, যখন একটি পরীক্ষণে কয়েকটি সাধারণ যন্ত্র ব্যবহার করা হত - কিন্তু আধুনিক পরীক্ষণে হাজার হাজার বিজ্ঞানী এবং ডাটা স্ট্রিম থাকতে পারে (GRIFFIN একাই প্রতি সপ্তাহে 200 TB ডাটা তৈরি করবে) এবং সেই সাথে আছে অবকাঠামোগত বিশাল লোকবল সহায়তা।
আমাদের পরীক্ষণগুলো অনেক বড় এবং অনেক বেশি জটিল হয়ে পড়েছে যেটা বিশৃঙ্খল কোন ইন্টারফেস এবং সাধারণ কোন রিপোর্ট দিয়ে নিয়ন্ত্রন করা সম্ভব নয়। আর এটি যদি বেশি খারাপ না হয়, বিভিন্ন বিজ্ঞানীদের দল সব সময় GRIFFIN ব্যবহার করবে - কারণ পরীক্ষণ পরিচালনা করার সাথে সাথে একটি জটিল ইউজার ইন্টারফেস শেখার মতন ব্যান্ডউইথ তাদের কাছে থাকে না। সুতরাং, GRIFFIN এর ইউজার ইন্টারফেসটি খুব সহজে ব্যবহারযোগ্য হতে হবে, যাতে বেশি কর্মক্ষমতা ব্যবহার না করে এটিকে ব্যবহার করা যায়; যার কারণে গত কয়েক বছর ধরে আমি জাভাস্ক্রিপ্ট কমিউনিটির তৈরি করা ইউজার ইন্টারফেস সংক্রান্ত ধারণাগুলো ব্যবহার করছি, যেটা ব্যবহারের মাধ্যমে বিজ্ঞানীরা ল্যাবে প্রবেশ করার পরপরই কাজ শুরু করে দিতে পারবে।
GRIFFIN এর ড্যাশবোর্ডের উন্নয়নমূলক সংস্করণ যেটা আমি তৈরি করেছি, SPICE নিরুপক যন্ত্রটির প্রথম অনলাইন পরীক্ষা থেকে।
GRIFFIN এবং একই রকমভাবে কাজ করতে পারা ওয়েব বেজড কর্মক্ষমতা পরিমাপক যন্ত্র যেটা কাগজ- কলমের হিসাব করার কাজকে প্রতিস্থাপন করেছে।
আসল সফটওয়্যার ডেভেলপারদের ব্যবহার করা বিভিন্ন টুলস ব্যবহার বিজ্ঞানীদের শেখানোর মাধ্যমে আমার ইউজার ইন্টারফেসের কাজের বাইরে আমি বিজ্ঞানীদের কোড লেখার কাজ আধুনিকায়ন করতে সাহায্য করি। কম্পিউটিং আমাদের বিভিন্ন বৈজ্ঞানিক পদ্ধতির কেন্দ্রবিন্দুতে পরিণত হচ্ছে, সাধারণত কোনভাবেই একজন একনিষ্ঠ পদার্থবিদ হয়ে উঠতে পারবে না যদি না সে কোড লিখতে পারে - কিন্তু এখন পর্যন্ত পদার্থবিদ সমাজ ভালো কম্পিউটার শিক্ষা এবং কৌশল সম্পর্কে সম্পূর্ণভাবে অবগত হতে পারেনি। বেশিরভাগ পদার্থবিদ প্রোগ্রাম করতে শেখেন আন্দাজ করে কাজ করার মাধ্যমে যতক্ষণ পর্যন্ত না তারা কাজ চালানোর মত কিছু তৈরি করতে পারে। উন্নয়নমূলক প্রক্রিয়ায় প্রোগ্রামিং নিয়ে আসার জন্য প্রোগ্রামারা ভার্সন নিয়ন্ত্রণ এবং ওপেন সোর্স সফটওয়্যার সংক্রান্ত সহযোগিতা বিকশিত করেছেন; যদি বিজ্ঞানীরা এই কৌশলগুলো থেকে শিখতে পারতেন, তাহলে বিজ্ঞানকে বিস্তৃত এবং বার বার ব্যবহার করার মাধ্যমে বিজ্ঞান ক্ষেত্রে আমরা আরও বেশি শক্তিশালী হয়ে উঠতে পারতাম। সকল ক্ষেত্রের ল্যাবেই এমন কিছু মানুষ দরকার যারা তাদের নিজস্ব চিন্তার পরিমণ্ডলের বাইরে চিন্তা করতে পারবে, যাতে বিভিন্ন বৈজ্ঞানিক কৌশলগুলো বিবর্তনের মাধ্যমে বাড়তে থাকে এবং আমি পদার্থবিদ্যা ও কম্পিউটিং এর মধ্যে এই কাজটিই করার চেষ্টা করছি।

তুমি প্রোগ্রামিং কীভাবে শিখলেন?

আমি একজন স্নাতক শিক্ষার্থী হিসেবে CERN এর LHC প্রোগ্রামের ATLAS গবেষণা কাজে অংশগ্রহন করার মাধ্যমে প্রোগ্রামিং জীবন শুরু করেছিলাম - আর এটা আমার জন্য দুর্ভাগ্যমূলক ছিল! স্নাতক শ্রেনিতে আমার প্রোগ্রামিং নিয়ে শুধুমাত্র একটি ক্লাস ছিল আর আমি সেটাতেই ফেল করেছি। আমি কোডিং সম্পর্কে কিছুই জানতাম না, আর আমার মনে হয়েছিল যে আমি কোডিং এ খুবই বাজে - তারপরে হঠাৎ করেই একজন পিএইচডি শিক্ষার্থী হিসেবে আমি কোড করা শুরু করলাম। পাঁচ বছর ধরে, আমি একটি বাস্তবধর্মী বিশ্লেষণ প্যাকেজের কোড লেখা নিয়ে কাজ করেছি যেটা পরবর্তীতে আমার গবেষণামূলক প্রবন্ধটি তৈরি করার কাজে সাহায্য করেছে - কিন্তু আসলে সেই সময় আমার প্রোগ্রামিং শেখা হয়নি। আমি আমার স্নাতক বিদ্যালয়ের অভিজ্ঞতা থেকে যেটা শিখতে পেরেছি সেটা হল - পেশাগত বিজ্ঞান চর্চা করার সময় কম্পিউটিং কোথায় যেন হারিয়ে যায় - কিন্তু এই কম্পিউটিংকে ঠিক মত কাজে লাগালে আমরা অনেক দূর এগিয়ে যেতে পারি।
স্নাতক বিদ্যালয় শেষ করার পরে আমি ঠিক মত প্রোগ্রামিং করা শিখলাম। এরকম অনেক পেশাগত শিক্ষাবিদ, বিজ্ঞান নিয়ে কাজ করে এমন মানুষের রয়েছে যারা স্নাতক শেষ করার পরে প্রোগ্রামিং শিখেছে। কাজ অনুসন্ধানের সময়, ভ্যাঙ্কুভারে (Vancouver) ওয়েব ডেভেলপমেন্ট কাজে নিয়োজিত একজন ওয়েব ডেভেলপার বন্ধু আমাকে জাভাস্ক্রিপ্ট শিখতে বলল এবং স্থানীয় যে বিভিন্ন সফটওয়্যার দল আছে তাদেরকে দেখাতে বলেছিল। এটি অসাধারণ একটি উপদেশ ছিল, পরবর্তীতে দেখা গেল যে ভ্যাঙ্কুভারে অসাধারণভাবে উদ্দীপিত করার মত সফটওয়্যার ডেভেলপার আছে যারা একদম নিঃস্বার্থভাবে আমাকে মৌলিক ওয়েব ডিজাইন শিখতে সহযোগিতা করেছে। ভ্যাঙ্কুভারে প্রোগ্রামারদের সাথে কাজ করার পরে আমার মনে হল যে তারা শুধুমাত্র কম্পিউটিং প্রযুক্তিতেই নয় বরং অন্যান্য কৌশলেও খুবই উন্নত। আসলে কম্পিউটার বিজ্ঞান থেকে এই শিল্পকৌশলটিই বাদ পরেছিল এবং আমি এই শব্দ দুইটিকে একসাথে করার চেষ্টা করে যাচ্ছি।

তুমি অবসর সময়ে কি কর?

যখন আমি প্রোগ্রামিং নিয়ে কাজ করি না তখন আমি সম্ভবত প্রোগ্রামিং শেখানো নিয়ে কাজ করি! আমি Ladies Learning Code (নারীদের কোড প্রশিক্ষণ) এ একজন শিক্ষক হিসেবে কাজ করি, যেখানে কোড শিখতে আগ্রহী নারীদের সামনে থাকা প্রতিবন্ধকতা ভেঙে কোড শিখতে সাহায্য করা হয় এবং Software Carpentry (সফটওয়্যার কারপেন্ট্রি) নামের একটি ওয়ার্কশপ প্রোগ্রামে আমার শিক্ষকতা প্রায় শেষ পর্যায়ে চলে এসেছে। আর এই প্রোগ্রামটি মূলত বিজ্ঞানীদের কোডিং শেখানোর জন্য করা হয়েছিল। আমি এখন [InterdisciplinaryProgramming.com, ] নামে একটি ওয়েবসাইট তৈরি করছি যেখানে কোডিং শেখার ব্যাপারে আগ্রহী বিজ্ঞানীরা বিনামূল্যে কোড করা শিখতে পারবে। আমি আমার সহকর্মীদের ইকোলজি এবং কৃষি ল্যাবে Arduino (আরডুইনো) এবং বিভিন্ন ইলেক্ট্রনিক আধুনিক যন্ত্রপাতি ব্যবহার করা শিখাচ্ছি যেন তারা তাদের গবেষণা আরও উন্নতভাবে চালিয়ে যেতে পারে।
এছাড়াও, আমার পক্ষে সম্ভাব্য সকল কনফারেন্সে অংশগ্রহন করে আমি এক সাথে কাজ করার জন্য প্রোগ্রামারদের সাথে কথা বলি যাতে আমরা বিজ্ঞানকে আরও দ্রুততার সাথে এবং ভালোভাবে এগিয়ে নিয়ে যেতে পারি - নিচের ভিডিওতে আমি এবং মেধাবী অ্যাঞ্জেলিনা ফ্যাব্রোর (Angelina Fabbro) একসাথে 2013 সালে পর্তুগালে, লিসবনের LXJS কনফারেন্সে বিজ্ঞানী এবং প্রোগ্রামারদের একসাথে কাজ করার ব্যাপারে কথা বলছিঃ
খান একাডেমি ভিডিও প্লেয়ার
আমি যখন সত্যিই কম্পিউটার থেকে দূরে থাকি, তখন সমাজের বিভিন্ন পরিবেশ সংরক্ষণকারী দলে স্বেচ্ছাসেবক হিসেবে কাজ করি; আমি পরিবেশের সাথে আমাদের সম্পর্ক ঠিক করার ব্যাপারে আগ্রহী, এছাড়াও আমি ভ্যাঙ্কুভারে SPEC এর জন্য গবেষণা এবং প্রবন্ধও লিখি।

নতুন প্রোগ্রামারদের জন্য তোমার উপদেশ কী?

এটা সব সময় মনে রেখ যে জন্মগত দক্ষতা বলে কোন কিছু নেই। অনেক বড় বড় প্রোগ্রামারদের দেখে নিজেকে অপ্রতুল মনে করা খুবই সহজ একটি ব্যাপার, তোমার মনে হতে পারে যে তুমি কখনই একজন ‘আসল’ প্রোগ্রামার হতে পারবে না। কিন্তু বর্তমান সময়ের ওয়েব ডেভেলপমেন্টে সবচেয়ে ভালো প্রোগ্রামারদের সাথে আমার দেখা করার সৌভাগ্য হয়েছিল এবং তাদের সকলের একই রকম অভিজ্ঞতা হয়েছিল - তারা যখন শুরু করেছিল তখন তাদের নিজেদের নকল, প্রতারক বলে মনে হয়েছিল, আর তাদের মধ্যে কারও কাছেই শুরুতে প্রোগ্রামিং সহজ বলে মনে হয়নি, যদিও এখন তারা অনেক পারদর্শী। যদি তুমি এক লাইন কোডও লিখে থাকো তাহলে তুমি একজন আসল প্রোগ্রামার - আর তুমি যদি কোড লেখা এবং শেখা চালিয়ে যাও তাহলে একদিন তুমি অবশ্যই অভিজ্ঞ প্রোগ্রামারে পরিণত হবে।

আলোচনায় অংশ নিতে চাও?

কোন আলাপচারিতা নেই।
ইংরেজি জানো? খান একাডেমির ইংরেজি সাইটে আরো আলোচনা দেখতে এখানে ক্লিক কর।