অটোমেশন আর আর্টিফিশিয়াল ইন্টেলিজেন্সের এই যুগে সফটওয়্যার ডেভলপারের চাহিদা আকাশচুম্বী। প্রোগ্রামিংয়ে অসাধারণ দক্ষতা অর্জন একজন ডেভলপারের সফলতার মূলচাবি। তবে কিছু কিছু বিষয় অনেক সফটওয়্যার ডেভেলপার করে থাকে যেগুলো ভবিষ্যতে তাদের ক্যারিয়ারের ক্ষতিসাধন করবে আর ভালো রকমের ভোগান্তিতে ভোগাবে। চলুন জেনে নেওয়া যায় যেসব ভুল একজন সফটওয়্যার ডেভেলপারদের সফলতার জন্য অন্তরায়।
১. প্রোগ্রাম পরীক্ষা না করা
যখন আপনি কোনো কোড করবেন তখন সেটা রান করা বা পরীক্ষা করা সবথেকে গুরুত্বপূর্ণ। অনেক প্রোগ্রামারা প্রাথমিক পরীক্ষা করলেও অনেক বিষয় এড়িয়ে যায়। চলুন জেনে নেওয়া যাক কী কী বিষয় পরীক্ষা করে দেখা জরুরি।
১. সিস্টেম ১ঃ কোডের সিরিজ অপারেশন, ডেটা ফ্লো এবং ব্যবহারকারীর ইন্টারফেসের লজিকের সকল কার্যক্রম পরীক্ষা করা। নিশ্চিত করা যে লক্ষ্য রেখে প্রোগ্রামটি ডিজাইন করা হয়েছে সেটা প্রোগ্রামটি পূরণ করছে।
২. সিস্টেম ২ : যখন সিস্টেম ১ এর কোন ধরনের সমস্যা হবে তখন নিচের বিষয়গুলো খেয়াল করতে হবে।
- এরর কন্ডিশন।
- অনাকাঙ্ক্ষিত ইনপুট।
- বাজে কনফিগারেশন অথবা সিস্টেম ইনপুট।
- কোন রিসোর্স মিসিং হওয়া। যেমন মেমোরি, ডিস্কের খালি জায়গা, নেটওয়ার্কিং ইত্যাদি।
- হার্ডওয়্যারের সমস্যা।
- অনাকাঙ্ক্ষিত স্কেল অথবা কনকারেন্সি পরিস্থিতি।
৩. আনুষ্ঠানিক পরীক্ষা: ডেভলপার বাদে অর্থাৎ যারা কোডিং করার সাথে সম্পৃক্ত ছিলেন না তাদের মাধ্যমে প্রোগ্রাম পরীক্ষা করা। এই ধরনের পরীক্ষা সাধারণত টেস্টার ছাড়াও, কোয়ালিটি এস্যুরেন্স ইঞ্জিনিয়ার আর অন্যান্য ডেভেলপাররা করে থাকেন।
৪. ডেভলপমেন্ট পরীক্ষা: আনুষ্ঠানিক পরীক্ষার মতো ডেভলপারদের বিভিন্ন ধরনের করতে হয়। যেমন
- মেন্যুয়াল পরীক্ষা: বিজনেস লজিক পরীক্ষা করা। যেগুলো কিনা ব্যবহারকারীর কাজে প্রভাব ফেলবে।
- ইউনিট পরীক্ষা: প্রতিটি ইউনিট কোডের একাধিকবার পরীক্ষা চালানো।
- অটোমেটেড পরীক্ষা।
এছাড়া মারাত্মক ধরনের ভূল এড়াতে সিস্টেম ১ এবং ২ এর সকল ধরনের পরীক্ষার করার পাশাপাশি যেসব ধরনের পরীক্ষা করা সম্ভব হয়নি সেগুলোর আনুষ্ঠানিক পরীক্ষায় ঠিকমতো কাজ করছে সেটা নিশ্চিত করা গুরুত্বপূর্ণ।
২. নিজের ভুল গোপন করা
নিজের ভুল গোপন করার স্বভাব সব মানুষের মধ্যে কম বেশি দেখা যায়। তবে প্রোগ্রামদের মধ্যে এই স্বভাব থাকা যাবে না। আপনি যদি একজন ভালো প্রোগ্রামার হতে ইচ্ছুক হয়ে থাকেন তাহলে নিজের ভুলের ব্যাপারে সর্বদা স্বচ্ছ থাকা গুরুত্বপূর্ণ। কেন সমস্যাটি হলো, সেটা কিভাবে সমাধান করা হবে আর ভবিষ্যতে এই ধরনের সমস্যা যাতে না হয় সেজন্য আপনি কি পদ্ধতি অবলম্বন করবেন সেটা ঠিক করা গুরুত্বপূর্ণ।
একটা বিষয় মাথায় রাখবেন, ভুল করার জন্য মানুষ যতটা নয় চাকরি হারায়, তার থেকে বেশি অপদস্থ হয় সেটা গোপন রাখার জন্য। তাই বড় ভুল বোঝাবুঝি এড়াতে নিজের ভুল গোপন করার অভ্যাস ত্যাগ করতে হবে।
৩. ব্যক্তিগত স্টাইলে কোডিং
বেশিরভাগ নব্য প্রোগ্রামাদের মধ্যে যেটা দেখা যায় সেটা হচ্ছে প্রোগ্রামিং করার সময় নিজের একটি ভিন্নরূপ কোডিং স্টাইল সৃষ্টি করার চেষ্টা চালায়। ফলে দেখা যায় যখন অন্য কারো তার প্রোগ্রামিংয়ের উপর কাজ করতে হয় তখন তাকে হেনস্তা হতে হয়। তাই যখন কোনো দল ভিত্তিক ডেভলপমেন্টের কাজ করা হবে তখন সবার উচিত স্টান্ডার্ড কোডিং স্টাইল অনুসরণ করা। যাতে অন্যদের সেটা বুঝতে সমস্যা না হয়।
৩. শুধু নিজের জন্য কোডিং ডকুমেন্টেশন করা
আপনি যখন কোনো কোড লিখছেন বস্তুত সেটা আপনার নিজের জন্য না। কারণ যখন কার্যক্ষেত্রে সেই কোডিং ব্যবহার করা হবে তখন সেটা নিয়ে ডেভলপার কোম্পানি অথবা আপনার তৈরি ডেভলপার টিম কাজ কাজ করবে। এখন আপনি যদি কোডিং এমন ভাবে করেন যে সেটা তাদের বুঝতে সহজ না হয় তাহলে আপনার পরিশ্রমের অনেকটাই বৃথা বলা চলে। তাই কোডিং করার পাশাপাশি সেগুলোতে ফুটনোট অথবা মন্তব্য এমনভাবে রাখা জরুরি যাতে নব্য কোনো ডেভলপারদের বুঝতে অসুবিধা না হয়।
যদি তেমনটা না করে থাকেন তাহলে দেখা যাবে কাজের প্রতিটি পদে পদে আপনাকে প্রয়োজন হবে ফলে দ্রুত তো ডেভলপমেন্ট করা সম্ভবই হবে না উল্টো বিভিন্ন প্রটোটাইপও সময়মতো ক্লায়েন্টকে প্রদান করতে পারবেন না।
৪. ৯০ শতাংশ কাজ শেষ করে প্রোডাক্ট উপস্থাপন করা
ধরুন আপনার বাসার দেয়ালে রঙ করার জন্য রঙমিস্ত্রি ভাড়া করেছেন। এখন তারা রঙ করার পর সবকিছু পরিষ্কার না করেই আপনার কাছে এসে তাদের পাওনা পরিশোধ করতে বলছে, তাতে আপনি কি সন্তুষ্ট হবেন? মোটেও না! তেমন কোডিংয়ের ক্ষেত্রেও তাই। আপনি যখন কোনো কোড নিয়ে কাজ করবেন সেটা অন্যের হাতে হস্তান্তর করার পূর্বে অবশ্যই নিশ্চিত করতে হবে আপনি আপনার কাজ পুরোপুরি শেষ করেছেন।
অনেক ডেভলপার যখন কোন প্রটোটাইপ প্রজেক্ট কোম্পানি অথববা ক্লায়েন্টের কাছে উপস্থাপন করে তখন প্রায়ই দেখা যায় সম্পূর্ণ কাজ তারা শেষ করেনি। কারন সেটা হচ্ছে প্রটোটাইপ, যেটা কিনা মূল প্রজেক্ট নয়। আর এর ফলে বহু ভালো ভালো ডেভলপাররা তাদের ক্লায়েন্ট হারান। যদি আপনার কাজ পুরোপুরি শেষ না হয় সেক্ষেত্রে আপনি ক্লায়েন্টের কাছে থেকে কয়েকদিন বেশি সময়ে চেয়ে নিন। তবে সম্পূর্ণ কাজ শেষ না করে, সুন্দর উপস্থাপন ছাড়া ক্লায়েন্টকে কখনোই আপনি আপনার পণ্য দেখাতে যাবেন না।
৫. নিজের জ্ঞান অন্যদের থেকে গোপন রাখা
শুধু সফটওয়্যার ডেভলপারদের নয়, অনেক ইঞ্জিনিয়ারদের মধ্যে এই বিষয়টি দেখা যায়। নিজের অর্জিত জ্ঞান আর কাজের ব্যাপারে অন্যের থেকে গোপন রাখে তারা। কারন তাদের ধারণা এই জ্ঞান অন্যরা অর্জন করলে তাদের প্রয়োজনীয়তা শেষ হয়ে যাবে। বাস্তবিকপক্ষে জীবনের অনেক ক্ষেত্রে এমনটা ঘটলেও একজন কোডারকে ভিন্নভাবে ভাবতে হবে।
কারন আপনি যখন আপনার কাজের পদ্ধতি অন্যদের থেকে গোপন রাখবেন তখন তাদের প্রজেক্ট চালিয়ে নিতে অসুবিধা হবে। ফলে বিভিন্ন ধরনের সমস্যার উদ্ভব ঘটবে। যার ভোগান্তি আপনাকেও বহন করতে হবে। তাই একজন সফটওয়্যার ডেভলপারের এই ধরনের মানসিকতা থেকে বেড়িয়ে আসা জরুরি। আপনি যা জানেন সেগুলো তাদেরকে জানান।
মনে রাখবেন, আপনার এই জ্ঞানও কয়েকবছরের মধ্যে পুরানোর কাতারে চলে যাবে। ফলে সেগুলো নিজের জন্য যত্ন করে রাখার কোনো অর্থ নেই। সেমিনার করুন, কোর্স খুলুন আপনার অর্জিত জ্ঞান বিতরণ করার জন্যে। দিন শেষে এই কাজই আপনার খ্যাতি বাড়াবে আর বিভিন্ন প্রজেক্টে আপনার চাহিদা বৃদ্ধি করবে।