# How to agree to disagree

সিনিয়র ইঞ্জিনিয়ার সবসময় আমার পুল রিকুয়েস্ট ওভাররাইট করে ফেলে। তার রিফেকটর করা কোড দেখলে নিজেকে কিছু পারি না বলে মনে হয়, আমার কনফিডেন্স এখন তলানিতে। এখন আমি কি করতে পারি?

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

*"My way is right way but in science, nothing is absolute. There is no right or wrong way."*

নতুন প্রাকটিস আসবে যাবে, আজকে যেটাকে রাইট বলা হচ্ছে কালকে সেটা ব্যাড প্রাকটিস ও হয়ে যেতে পারে।

আমি একজন শিক্ষানুবেশ সফটওয়্যার ইঞ্জিনিয়ার হিসাবে যা করি, আমার পুল রিকুয়েস্টে এ কেউ ফিডব্যাক দিলে অনেক কিছুতেই আমি এগ্রি বা ডিসএগ্রি করি, ডিসএগ্রি করলে এটার পিছনে যুক্তি দেয়ার চেষ্টা করি। আর অনেক সময় কিছু ফিডব্যাক একটু বড় বা কমপ্লেক্স হয়, যদি আমি ঠিকভাবে না বুঝে থাকি slack এ ফিডব্যাক প্রদানকারীকে আপ্রোচ করার চেষ্টা করি যে, তোমার একটু সময় হবে? এই জিনিসটা বুঝতে পারতেছিনা একটু ডিসকাস করতে চাচ্ছিলাম বা আমাকে একটু গাইড করতে পারবা? বা তোমার একটু সময় হবে পেয়ার প্রোগ্রামিং করার জন্য? সবাই এই জিনিসটাকে খুব পজেটিভলি নেয় এবং এই ফ্রিকুয়েন্ট কমিনিকেশনের কারণে অনেকের সাথে আমার ভাল বন্ধুত্ব ও তৈরি হয়েছে।

*"Text communication is very easy to misunderstand. It doesn't show tone, emotion, facial expressions, gestures, body language, eye contact, or face-to-face talk."*

তাই আমি চেষ্টা করি সরাসরি বা জুম কলে একসাথে এইসব সমস্যাগুলা সমাধান করতে। পুল রিকুয়েস্ট বাদেও নরমালি আমি অনেক পেয়ার প্রোগ্রামিং করতে পছন্দ করি, কোন ফিচার বা বাগ ফিক্স করার সময় টেস্টিং নিয়ে আমার কোন স্ট্রাটেজি বা আইডিয়া থাকে QA ইঞ্জিনিয়ারদের সাথে ওইগুলা ডিসকাস করি বা আমি কোন কিছু অনেকক্ষণ চেষ্টা করার পরও পারতেছিনা কোন কলিগকে বলি যে আমাকে একটু হেল্প করো। অথবা ইনফ্রাটকচার লেভেলর কোন কিছু ফিক্স করতে হলে বা নতুন কোন কিছু ইমপ্লিমেন্ট করতে হলে প্রিন্সিপাল ইঞ্জিনিয়ারদের সাথে আলোচনা করি যে, আমি এই সমস্যা সমাধানের জন্য এই জিনিসটা করছে চাচ্ছি, অথবা এই ফিচারটার জন্য আমি ল্যামডা ফাংশন ইমপ্লিমেন্ট করার চিন্তাভাবনা করতেছি। তুমি/তোমরা কি মনে করো?

এখন আপনি বলতেই পারেন এত বেশি কলে থাকলে আপনি কাজ করেন কোন সময়? আমার লজিক হচ্ছে কাজই তো করতেছি। এটা অন্য মিটিং এর মত না যে পাঁচজন/দশজন কথা বলতে থাকবে আর আমি অডিও/ভিডিও বন্ধ করে চুপ করে বসে থাকবো।

এতক্ষণ আমার ব্যাপারে কেন এত বকবক করলাম? কমিউনিকেশন অনেকবেশি গুরুত্বপূর্ণ সেটা বুঝানোর জন্য।

*"কারো সাথে ডিসএগ্রিমেন্ট হচ্ছে এটাকে নেগেটিভ ভাব নিবেন না। বরং এটা মনে করবেন আপনি আরও বেশি ফিডব্যাক প্রদানকারীর সাথে এঙ্গেজড হচ্ছেন"*

কমিউনিকেশন ঠিকঠাক করার পরেও যদি আপনার মনে হয়, একই জিনিস বার বার আপনার সাথে রিপিট করা হচ্ছে তখন আপনার উচিত হবে ম্যানেজমেন্ট কে এই ব্যাপারে অবহিত করা। আপনার কোম্পানিতে যদি একাধিক টিম থাকে অন্য টিমে সুইচ করার চেষ্টা করা। কোন কিছুতেই কাজ না হলে আপনার উচিত হবে ওই কোম্পানি বাদ দিয়ে ভাল একটা টিম খোজা। যেসব কোম্পানির কাজের পরিবেশ ভাল, তারা তাদের ইন্টার্ভিউ প্রসেসের মাধ্যমেই এইসব রুড লোকজনকে ছেঁকে ফেলে। একটা ভাল জায়গায় কাজ করতে হলে খুব ভালো কোডার বা সফটওয়্যার ইঞ্জিনিয়ার হওয়ার থেকেও বিনয়ী, কমিউনিকেটিভ হওয়া অনেক বেশি জরুরি। কেউ আপনার কোন মতামতে ডিসএগ্রি করলে সেটা পজেটিভভাবে নেয়ার মত মানসিকতা থাকাও জরুরি। আপনার প্রতিদিন পাঁচ-দশ জন মানুষের সাথে কাজ করতে হবে কথা বলতে হবে, পেশাগত জায়গায় রুডনেসের কোন জায়গা নাই। কারণ একটা রুড/একগুঁয়ে লোক একটা টিমের বা কোম্পানির কালচার নষ্ট করে ফেলতে পারে।

কাজের চাপ বা অন্যান্য কারণে অনেক সময় সিনিয়র লোকজনও মাঝেমধ্যে ভুলে যায় যে কিভাবে জুনিয়রদের কে গাইড করা উচিত। অন্যজনের কাজ ফেলে দিয়ে নিজস্ব পদ্ধতি ইমপ্লিমেন্ট করার চেয়ে গুরুত্বপূর্ণ কেন আপনি এটা করতে চাচ্ছেন সেটা আপনার কলিগ কে সুন্দরভাবে বুঝানো। আপনার সল্যুশনের পটেনশিয়াল দিক গুলা। আপনি তার সাথে পেয়ার প্রোগ্রামিং এ বসতে পারেন, তাকে সমস্যা গুলা বুঝিয়ে সমাধান গুলা কিভাবে করতে হবে সেটা তে ন্যাভিগেট করা। এতে করে আপনার কলিগের সাথে পেশাগত সম্পর্ক ভাল থাকবে এবং সে স্ট্রেস মুক্ত ভাবে কাজ করতে পারবে। এখন আপনি বলতেই পারেন যে আমার এত এত পরিমাণ কাজ আমার এইগুলা করার সময় নাই। তাহলে আমি বলবো আপনার টাইম ম্যানেজমেন্ট এ সমস্যা আছে অথবা এই কোম্পানি আপনার জন্য উপযুক্ত না। দিন শেষে কেউ এক রাশ স্ট্রেস নিয়ে বাসায় ফিরতে চাইবে না!
