Tanvir Islam ভাইয়ের একটা পডকাস্ট আছে, উনি মাঝে মাঝে খুব চমৎকারভাবে ওনার অপিনিয়নগুলো সেখানে শেয়ার করেন। রিসেন্ট একটা এপিসোডে উনি প্রোগ্রামিং কোর্স, কোম্পানিগুলোর হায়ারিং স্ট্রাটেজী, কোড কোয়ালিটি ইত্যাদি বিষয় নিয়ে খুব চমৎকার কিছু আলোচনা করেছেন।
প্রোগ্রামিংয়ের গতানুগতিক কাঠখোট্টা আলোচনার বাইরে এই রকম পারস্পেক্টিভ এবং অপিনিয়নবেইজড আলাপ আরো হওয়া উচিত। বাইরে এক্সপেরিয়েন্সড ডেভেলপাররা এরকম প্রচুর পডকাস্ট, টেক টক করে। আমাদের এখানে এই চর্চাটা শুরু হওয়া দরকার।
মূল আলোচনাটা পডকাস্ট থেকে সরাসরি শুনে নিতে পারেন।
এই পডকাস্ট থেকে আমি এখানে জাস্ট উল্লেখযোগ্য কিছু পয়েন্ট শেয়ার করছিঃ
বিভিন্ন বিষয়ে বিভিন্ন রকম অপিনিয়ন থাকতে পারে। তাঁর মানে এই না যে একজন ঠিক আর আরেকজন অবশ্যই ভুল। সিনারিও এবং পারস্পেকটিভের উপর ভিত্তি করে ভুল, ঠিকের সংজ্ঞা ভিন্ন হতে পারে। আবার কেউ তাঁর অপিনিয়নে পার্শিয়ালি ঠিক বা ভুলও হতে পারে। সবকিছুই বাইনারী না। এ কারণে যেই কোনো অপিনিয়ন আমরা গ্রহণ করা বা সেটা দেখেই রিয়েক্ট করার ক্ষেত্রে আরেকটু চিন্তাভাবনা করা উচিত। অপিনিয়নটার বাস্তবতা এবং মূল ভিত্তিটা পর্যালোচনা করা উচিত।
টেক কোম্পানির স্টেকহোল্ডারদের প্রায়োরিটি হবে প্রফিট, তাঁরা এক্সপেক্ট করবে ফাস্টার রিলিজ, কম সময়ে ডেলিভারি। আর ডেভেলপারদের প্রায়োরিটি হবে কোড কোয়ালিটি এবং গুড ইঞ্জিনিয়ারিং ডিসিশন মেইক করা। তাঁর মানে এই না যে একজন ফাউন্ডার যদি বলে, "ডেভেলপারদের উচিত Get shit done মুডে কাজ করা ", তারমানে তিনি ভুল। আবার একজন সিনিয়র ডেভেলপার যদি বলেন "কোনো অবস্থাতেই কোড কোয়ালিটিতে কম্প্রোমাইজ করা যাবে না " - তাহলে তিনি ভুল। দুইজনই তাঁদের নিজেদের জায়গায় ঠিক আছেন। আপনাকে আমাকে বুঝে নিতে হবে আমাদের জায়গা থেকে কোন সিচুয়েশনে কিভাবে, কোন ডিসিশন মেইক করতে হবে। (সত্যি বলতে পুরো 'সফটওয়্যার ইঞ্জিনিয়ারিং' ট্র্যাকটাই কিন্তু দাঁড়িয়ে আছে আসলে এই ব্যাপারটার উপরে। এই কারণেই সফটওয়্যার ইঞ্জিনিয়ারিং != কোডিং। সফটওয়্যার ইঞ্জিনিয়ারিং অনেক বড় একটা ডোমেইন, এবং এখানে বিভিন্ন গাইডলাইন, বেস্ট প্র্যাকটিস ইত্যাদি সময়ের সাথে সাথে তৈরি হয়েছে বিভিন্ন রকমের সিচুয়েশন হ্যান্ডেল করার জন্যই)
Non coder CTO is a mistake. কোনো কোম্পানিতেই এমন CTO থাকা উচিত না যার কোডিং বা ইঞ্জিনিয়ারিং স্কিলের দূর্বলতা আছে। কারণ ইঞ্জিনিয়ারিং বা টেকনিক্যাল বিষয়গুলোতে টীমকে গাইড করা বা কমপ্লেক্স সিনারিওতে কি করণীয় সেই দিকনির্দেশনা CTO থেকেই আসতে হয়। এ কারণে CTO দের People's skill এর পাশাপাশি টেকনিক্যাল স্কিলেও দক্ষতা মেইনটেইন করতে হয়। এ কারণে একজন ডেভেলপার যদি মনে করে উপরের লেভেলে চলে গেলে কোডিং বা টেকনিক্যাল বিষয়গুলো অত জানা না থাকলেও চলবে, সেটা ভুল চিন্তা হবে।
ডেভেলপার হিসেবে এমন কোম্পানি খুঁজে বের করুন যেখানে আপনি কম্ফোর্টেবলি কাজ করতে পারবেন। আপনার আর স্টেকহোল্ডারদের মধ্যে নিয়মিত বিভিন্ন বিষয়ে ডিসিশন মেকিংয়ে কনফ্লিক্ট হলে সে জায়গা আপনার কাজের জন্য উপযুক্ত না।
একজন ভালো ডেভেলপার তাঁর কোডিং স্কিল, কোড কোয়ালিটি, ইঞ্জিনিয়ারিং ক্যাপাবিলিটি দিয়েই ক্যারিয়ারে ভালো করে। তাই এগুলোকে গুরুত্ব দেয়া জরুরী। অন্যান্য বিষয়গুলো যেমন সফট স্কিলস, লিডারশীপ স্কিলস ইত্যাদিও প্রয়োজন, কিন্তু টেকনিক্যাল স্কিলের জায়গাটাই প্রধান ডেভেলপমেন্ট ট্র্যাকে ভালো করার জন্য।
আমাদের দেশে এডুটেকগুলো যেই কোর্স করায় এগুলো নিয়ে বিভিন্ন রকম সমালোচনা আছে। ঝাঁকে ঝাঁকে স্টুডেন্ট ভর্তি হয়, কিন্তু তাঁরা খুব বেশী কিছু শিখতে পারে না, এরকম কথা অনেকেই মনে করেন। কোর্সগুলোতে সরাসরি সার্টিফিকেট দেয়া বা সবাইকে পাশ/ফেল এই দুই ক্যাটাগরিতে না ফেলে প্রপারলি এভালুয়েট করে গ্রেডিং সিস্টেম করা উচিত। এতে করে সেই সার্টিফিকেট দেখেলে কোম্পানিগুলো সহজে বুঝতে পারবে এই স্টুডেন্ট কোর্স করে আসলে কতটুকু শিখেছে। (পুরো আলাপে এই পয়েন্টাটা আমার কাছে সবচাইতে ভালো লেগেছে। এটা খুবই চমৎকার এবং বাস্তবসম্মত একটা পরামর্শ যেটা এডুটেক প্ল্যাটফর্মগুলো কন্সিডার করতে পারে)
'অমুক কোর্স করে এসেছে তাই তাঁর সিভি আগেই বাতিল' - এরকম যেই কালচার আমাদের দেশে শুরু হয়েছে এটা আসলে হওয়া উচিত না। কারণ একটা কোর্সে ১০০ জন ভর্তি হয়ে ১০ জনও যদি ভালো করে শিখে বের হতে পারে, তাহলে তাঁদেরকেও এভালুয়েট না করে বাদ দিয়ে দেয়াটা যৌক্তিক হতে পারে না। অবশ্যই কোর্স প্ল্যাটফর্মগুলোর চেষ্টা করা উচিত তাঁদের কোর্সের, এভালুয়েশনের কোয়ালিটি ইম্প্রুভ করার এবং আরো ইফেক্টিভভাবে শিক্ষার্থীদের শেখানোর। কিন্তু একদমই একজন ক্যান্ডিডেটকে এভালুয়েট না করেই বাদ দিয়ে দেয়াটা একটা বাজে কালচার এবং নতুনদের টেক সেক্টরে আসার পরিবেশ নষ্ট করতে পারে।
ডেভেলপারদের ইংরেজি জানা খুবই জরুরী।
BunJS নিয়েও ভাই খুব চমৎকার কিছু পয়েন্ট বলেছেন। যেমন টেকনোলজি সেক্টরে নতুন নতুন জিনিস এসে প্রথমেই অনেক হাইপ তোলে। কিন্তু সেটা টিকে থাকবে কিনা এটার পেছনে বড় বড় কোম্পানির সাপোর্ট বা কমিউনিটি ইনভল্ভমেন্টসহ অনেক ফ্যাক্টর কাজ করে। জাস্ট Cool বা Faster টেক হলেই যে সেটা টিকে যাবে ব্যাপারটা এমন না। এটা নিয়ে ভাই আরো অনেকগুলো সুন্দর পয়েন্ট বলেছেন। মূল পডকাস্ট থেকে আপনারা শুনে নিয়েন।
অল্প কথায় খুব সুন্দর কিছু পয়েন্ট উঠে এসেছে এই আলোচনায়। ইন্ডাস্ট্রির সিনিয়রদের এরকম আলাপ, আলোচনা আরো কন্টিনিউ করা উচিত। নলেজ শেয়ারিং এর এই চর্চাটা খুবই ইফেক্টিভ এবং জরুরি। এতে করে যারা ইন্ডাস্ট্রিতে জুনিয়র বা নতুন, তারা অনেক কিছু শিখতে পারে। এই পডকাস্টের জন্য Tanvir ভাইকে ধন্যবাদ এবং এটা চালিয়ে যাওয়ার জন্য অনুরোধ থাকবে।