একাধিক ওয়ান-টু-ওয়ান কথোপকথন থেকে সংগ্রহ করা সেরা ডেভেলপারদের অসন্তোষের কারণ সম্পর্কে ইনসাইটের সংগ্রহ।
কয়েক মাস আগে, পল কিনলান ২০২১ সালে ডেভেলপারদের অসন্তোষের প্রধান কারণ সম্পর্কে পোস্ট করেছিলেন, তাই গত ২ কোয়ার্টারের আপডেট দিয়ে এই নিবন্ধ শুরু করা উপযুক্ত বলে মনে হয়। নম্বরগুলি একটু এদিক-ওদিক হয়েছে, তবে র্যাঙ্কিংয়ে কোনও পরিবর্তন হয়নি।
| প্রতিদ্বন্দ্বিতা | Q1 2021 | Q2 2021 | Q3 ২০২১ | Q4 2021 |
|---|---|---|---|---|
| ওয়েব প্ল্যাটফর্ম বা ওয়েব স্ট্যান্ডার্ডে হওয়া পরিবর্তনের সাথে তাল মিলিয়ে চলা। | ২৭% | ২৬% | ২৭% | ২২% |
| প্রচুর সংখ্যক নতুন এবং আগে থেকে থাকা টুল বা ফ্রেমওয়ার্কের সাথে তাল মিলিয়ে চলা। | ২৬% | ২৬% | ২৫% | ২১% |
| সব ব্রাউজারে একই রকম ডিজাইন বা অভিজ্ঞতা প্রদান করা। | ২৬% | ২৮% | ২৪% | ২১% |
| বিভিন্ন ব্রাউজারে পরীক্ষা করা। | ২৩% | ২৪% | ২০% | ২০% |
| নিরাপত্তা সংক্রান্ত ব্যবস্থা বোঝা ও প্রয়োগ করা। | ২৩% | ২৫% | ২০% | ১৯% |
পল তার ব্লগ পোস্টে যেমন উল্লেখ করেছেন, আমাদের এই অসন্তোষের কারণগুলি সমাধান করতে হবে। এই লক্ষ্যে পৌঁছানোর জন্য, আমার সহকর্মী Kadir Topal এবং আমি ১৮ জনেরও বেশি ডেভেলপারের ইন্টারভিউ নিয়েছি। আমাদের লক্ষ্য হল, ডেভেলপারদের সবচেয়ে বড় সমস্যাগুলি সমাধান করার উপায় খুঁজে বের করা এবং সেই পথে কাজ শুরু করা।
ডেভেলপার আলোচনা
ডিসক্লেমার: ডেভেলপারদের সাথে অল্প সংখ্যক কথোপকথনের ভিত্তিতে এই ইনসাইটগুলি তৈরি করা হয়েছে। "সব" বা "কিছু" ব্যবহার করার সময়, এটি ইন্টারভিউ নেওয়া ডেভেলপারদের বোঝায়, সমগ্র কমিউনিটিকে নয়। এইসব ইনসাইট আরও ব্যাপকভাবে এক্সট্রাপোলেট করার জন্য আরও রিসার্চ প্রয়োজন।
এই কথোপকথনগুলি থেকে আমরা আবার বুঝতে পেরেছি যে ওয়েব ডেভেলপার কমিউনিটি কত অসাধারণ ও বৈচিত্র্যময় এবং যেসব ডেভেলপার আমাদের সাথে কথা বলেছেন তাদের সবাইকে আমি ধন্যবাদ জানাতে চাই। কিছু ডেভেলপারের ২৫ বছরের বেশি অভিজ্ঞতা ছিল, আবার অন্যরা ২০২০ সালের মতো সম্প্রতি শুরু করেছিলেন। কিছু ডেভেলপার কম্পিউটার সায়েন্সে ডিগ্রি অর্জন করে তাদের কেরিয়ার শুরু করেছেন, আবার অন্যরা স্বাধীনভাবে তাদের কেরিয়ার শুরু করেছেন। কিছু ডেভেলপার নতুন কী আছে তা সক্রিয়ভাবে খোঁজেন এবং ব্রাউজার রিলিজ নোট পড়ে আপ-টু-ডেট থাকেন, অন্যরা সহকর্মী এবং বন্ধুদের মাধ্যমে নতুন জিনিস সম্পর্কে জানেন। কেউ কেউ মনে করেন যে জটিলতা কাজেরই অংশ এবং চ্যালেঞ্জ নিতে পছন্দ করেন, আবার কেউ কেউ শুধু কাজ শেষ করতে চান। অসন্তোষের কারণ দূর করার কথা ভাবার সময়, এই বৈচিত্র্যের কথা মাথায় রাখা গুরুত্বপূর্ণ!
সব ডেভেলপারদের মধ্যে একটি সাধারণ বিষয় হল, তারা সবাই কাজ করার জন্য CMS বা ফ্রেমওয়ার্ক ব্যবহার করেন। Wordpress, React, Bootstrap, Angular এবং Tailwind-এর মতো ফ্রেমওয়ার্কের কথা উল্লেখ করা হয়েছে, তবে কোনও ডেভেলপারই প্রোডাকশনে ভ্যানিলা ওয়েব প্ল্যাটফর্ম ব্যবহার করেননি। কোনও প্রোজেক্ট শুরু করার সময় ফ্রেমওয়ার্ক বেছে নেওয়া একটি চ্যালেঞ্জ এবং ডেভেলপাররা প্রায়শই নন-টেকনিক্যাল প্রয়োজনীয়তা বিবেচনা করেন। যেমন, সেই ফ্রেমওয়ার্ক নিয়ে কাজ করার জন্য কোনও ডেভেলপারকে নিয়োগ করা সহজ হবে কিনা। ফ্রেমওয়ার্ক ও CMS সমাধানে অন্তর্ভুক্ত না থাকলে আমরা ডেভেলপারদের অসন্তোষের কারণ উন্নত করতে পারব না।
ওয়েব প্ল্যাটফর্মের কথা বলতে গেলে, বেশিরভাগ ডেভেলপার প্ল্যাটফর্মকে এমন একটি জিনিস হিসেবে বোঝেন যার উপরে তারা ডেভেলপ করছেন। এর মধ্যে শুধু ওয়েব প্ল্যাটফর্মের ক্লাসিক্যাল সংজ্ঞা নয়, CMS, ফ্রেমওয়ার্ক, টুল ও পলিফিলও অন্তর্ভুক্ত। অনেক ক্ষেত্রে, সেগুলির সাথে আপ-টু-ডেট থাকাটাই সবচেয়ে কঠিন কাজ। এর ফলে, আমরা প্রশ্নটি অন্যভাবে ব্যাখ্যা করেছি এবং এখন আমরা জানি যে আমাদের সমীক্ষা আপডেট করতে হবে যাতে এটিকে বিভিন্ন অংশে ভাগ করা যায় যা কম অস্পষ্ট।
আরেকটি অস্পষ্টতার ক্ষেত্র হল ওয়েব স্ট্যান্ডার্ড-এর সংজ্ঞা। স্ট্যান্ডার্ড মেনে চলার উদাহরণ সম্পর্কে জিজ্ঞাসা করা হলে, অনেক ডেভেলপার এর পরিবর্তে পেশাদার পদ্ধতি মেনে চলার ক্ষেত্রে অসুবিধার কথা উল্লেখ করেছেন। এটি আরেকটি ক্ষেত্র যা আমাদের সমীক্ষায় স্পষ্ট করতে হবে।
নির্দিষ্ট ব্যবহারের কেস এবং প্যাটার্ন প্রয়োগ করার সময় ডেভেলপাররা পেশাদার পদ্ধতি খোঁজেন। ব্লগ পোস্ট এবং StackOverflow-কে পেশাদার পদ্ধতির সোর্স হিসেবে উল্লেখ করা হয়, তবে ডেভেলপাররা প্রায়শই ভাবেন যে তারা যে তথ্য পড়ছেন তা সত্যিই পেশাদার পদ্ধতি কিনা এবং এটি লেটেস্ট ফিচার এবং API-এর সাথে আপ-টু-ডেট কিনা। তারা আরও অফিসিয়াল সোর্স থেকে সেগুলি পড়তে চান।
নতুন ব্যবহারের ক্ষেত্রে সক্ষম করে এমন ফিচার এবং API-এর সাথে তাল মিলিয়ে চলা একটি ছোট সমস্যা। ডেভেলপাররা ফিচার, API এবং প্ল্যাটফর্মে পরিবর্তনের সাথে আরও বেশি লড়াই করেন যার ফলে পেশাদার পদ্ধতিতে পরিবর্তন হয়।
বেশিরভাগ ডেভেলপারই একমত যে কম্প্যাটিবিলিটি হল অন্যতম বড় চ্যালেঞ্জ। Compat 2021 এবং Interop 2022-এর মতো প্রচেষ্টার মাধ্যমে পরিস্থিতির উন্নতি হচ্ছে, তবে এটি স্পষ্ট যে ডেভেলপাররা এখনও এটিকে সমাধান করা সমস্যা হিসেবে দেখেন না।
বেশিরভাগ ডেভেলপার কোনও না কোনওভাবে পলিফিল ব্যবহার করেন। তবে, অনেক ক্ষেত্রে, ডেভেলপাররা ব্যবহার সম্পর্কে জানতে পারেন, কারণ Babel বা ফ্রেমওয়ার্কের মতো টুলের মাধ্যমে পলিফিল অটোমেটিক যোগ করা যেতে পারে। যারা নিজেরাই পলিফিল ম্যানেজ করছেন, তাদের ক্ষেত্রে পলিফিল "ভালো" কিনা তা বোঝা সমস্যাজনক হতে পারে। ডেভেলপাররা NPM-এ ইনস্টলের সংখ্যা এবং পলিফিলের ক্রিয়েটরকে সিগন্যাল হিসেবে ব্যবহার করার কথা উল্লেখ করেছেন। কয়েকজন ডেভেলপার উল্লেখ করেছেন যে IE 11-এর জন্য সহায়তা বন্ধ করে দেওয়ার কারণে অপ্রয়োজনীয় হয়ে যাওয়া পলিফিল সরানোর জন্য তারা কাজ করছেন।
ফ্রেমওয়ার্কের কারণে ফ্র্যাগমেন্টেশন সংক্রান্ত সমস্যা হয়। আমরা এমন রিপোর্ট পেয়েছি যেখানে ডেভেলপাররা ফ্রেমওয়ার্কের পুরনো ভার্সনে "আটকে" গেছেন এবং সেই কারণে তারা সীমিত ফিচার ব্যবহার করতে পারছেন। তবে, একই ফ্রেমওয়ার্কের নতুন ভার্সনে মাইগ্রেট করা ব্যয়বহুল এবং তা যুক্তিযুক্ত করা কঠিন হতে পারে।
উপসংহার
আধুনিক ওয়েব ডেভেলপমেন্টে অনেক পরিবর্তনশীল অংশ থাকে, যেমন স্ট্যান্ডার্ড, ব্রাউজার, লাইব্রেরি, পলিফিল, CMS, ফ্রেমওয়ার্ক, পেশাদার পদ্ধতি ও টুলিং। এই বৈচিত্র্য হল ওয়েবের অন্যতম সেরা জিনিস, কিন্তু বর্তমানে, প্রতিটি অংশকে বোঝা এবং সেগুলি একে অপরের সাথে কীভাবে মানানসই তা নির্ধারণ করা প্রতিটি ডেভেলপারের উপর নির্ভর করে।
আমি ভাবছি, বৈচিত্র্যের সাথে আপস না করে, কীভাবে সবকিছু একসাথে কাজ করে এবং সমস্ত অংশের মধ্যে আরও বেশি সামঞ্জস্য থাকে সে সম্পর্কে ডেভেলপারদের আরও স্পষ্টতা দেওয়ার কোনও উপায় আছে কিনা। এটি একটি বড়, জটিল সমস্যা এবং একবারে সব করা কঠিন। কিন্তু কোথা থেকে শুরু করবেন?
আপনার কোনও মতামত থাকলে তা শেয়ার করতে পারেন। আমিও আপনার সাথে কথা বলতে চাই। আমি সরাসরি বুকিং সংক্রান্ত কথোপকথনের জন্য একটি উপায় সেট-আপ করব, তবে, ইতিমধ্যে, আমার DM Twitter-এ খোলা আছে। যোগাযোগ করুন এবং আমরা চ্যাট করার জন্য সময় বের করতে পারি!