লাইব্রেরি তৈরির জন্য পড়া বন্ধ করুন। সমস্যা সমাধানের জন্য পড়া শুরু করুন।

বেশিরভাগ ইঞ্জিনিয়ারিং রিডিং লিস্ট বা পড়ার তালিকা জ্ঞান আহরণের ওপর গুরুত্ব দেয়। আধুনিক ইঞ্জিনিয়ারিং মূলত বাধা বা bottleneck সমাধানের ওপর পুরস্কৃত করে।

সম্প্রতি একজন জুনিয়র ইঞ্জিনিয়ার আমাকে একটি "Top 10 Books for Engineers" তালিকা দেখিয়েছেন। এটি দেখতে ঠিক দশ বছর আগের তালিকার মতোই ছিল। এটি সেই পুরনো ধারণার ওপর ভিত্তি করে তৈরি।

ধারণাটি হলো—পর্যাপ্ত বই পড়লে আপনি একজন ভালো ইঞ্জিনিয়ার হয়ে উঠবেন। উচ্চ-দক্ষতাসম্পন্ন দলগুলো এভাবে শেখে না।

সেরা ইঞ্জিনিয়াররা সীমাবদ্ধতা বা constraints-এর ওপর ভিত্তি করে তাদের শেখার পরিকল্পনা তৈরি করেন।

সাধারণ রিডিং লিস্টগুলো ধরে নেয় যে সব জ্ঞানই মূল্যবান। বাস্তবে, ইঞ্জিনিয়ারিংয়ের মূল্য নির্ভর করে প্রেক্ষাপটের (context) ওপর।

• ডেটাবেস সমস্যার সম্মুখীন হওয়া একজন ব্যাকএন্ড ইঞ্জিনিয়ারের Agile-এর ওপর কোনো বইয়ের প্রয়োজন নেই। • AI inference-এ অতিরিক্ত খরচ করা একটি টিমের সাধারণ কোনো craftsmanship বইয়ের প্রয়োজন নেই। • ল্যাটেন্সি (latency) সমস্যার সম্মুখীন হওয়া একটি স্টার্টআপের লিডারশিপ ফ্রেমওয়ার্কের প্রয়োজন নেই।

এই মানুষগুলোর প্রয়োজন তাদের সামনে থাকা নির্দিষ্ট বাধা বা bottleneck-এর সমাধান। রিডিং লিস্টগুলো পূর্ণতার (completeness) জন্য অপ্টিমাইজ করা হয়। ইঞ্জিনিয়ারিং প্রাসঙ্গিকতাকে (relevance) পুরস্কৃত করে।

ডেটাবেস এবং নেটওয়ার্কিংয়ের মতো মৌলিক বিষয়গুলো এখনও গুরুত্বপূর্ণ। কিন্তু সেগুলো এখন আর যথেষ্ট নয়।

আধুনিক সিস্টেমগুলো নতুন নতুন সীমাবদ্ধতা নিয়ে আসে। AI inference খরচ এর একটি বড় উদাহরণ। প্রচলিত তালিকাগুলোতে এই সমস্যাগুলো খুব কমই উঠে আসে।

চ্যালেঞ্জ এখন আর শুধু সঠিক সফটওয়্যার লেখা নয়। চ্যালেঞ্জ হলো প্রোবাবিলিস্টিক (probabilistic) কম্পোনেন্টের ওপর ভিত্তি করে নির্ভরযোগ্য সিস্টেম তৈরি করা।

অতীতে, ইঞ্জিনিয়াররা ডিটারমিনিস্টিক (deterministic) সিস্টেম নিয়ে কাজ করতেন। একই ইনপুট থেকে একই আউটপুট পাওয়া যেত।

আজ সিস্টেমগুলো ভিন্নভাবে আচরণ করে। একটি প্রম্পট ভিন্ন ভিন্ন রেসপন্স দিতে পারে। একটি এজেন্ট ভিন্ন ভিন্ন পথ অনুসরণ করতে পারে। এমনকি আপনি কোড পরিবর্তন না করলেও একটি মডেল আপগ্রেড সিস্টেমের আচরণ বদলে দিতে পারে।

নতুন প্রশ্নগুলো হলো: • আপনি কীভাবে কোয়ালিটি বা মান মূল্যায়ন করবেন? • আপনি কীভাবে এই পরিবর্তনগুলো সামলাবেন?

এগুলো কোনো ব্যতিক্রমী ঘটনা (edge cases) নয়। এগুলো প্রতিদিনের ইঞ্জিনিয়ারিং কাজ।

দক্ষ ইঞ্জিনিয়াররা আদ্যোপান্ত বই পড়েন না। তারা পড়েন মেকানিজম বা কার্যপদ্ধতি বোঝার জন্য। তারা একটি bottleneck খুঁজে বের করেন, সেই মেকানিজমটি শনাক্ত করেন এবং শুধুমাত্র যা প্রয়োজন তা-ই শেখেন।

• ল্যাটেন্সি বেশি হলে, batching নিয়ে পড়াশোনা করুন। • কনটেক্সট বা প্রেক্ষাপট সমস্যা হলে, retrieval নিয়ে পড়াশোনা করুন। • এজেন্ট ব্যর্থ হলে, evaluation নিয়ে পড়াশোনা করুন।

এটি শেখার প্রক্রিয়াকে সরাসরি প্রোডাকশনের সাথে যুক্ত করে। জ্ঞান তখন একটি শক্তিশালী হাতিয়ারে (leverage) পরিণত হয়।

এই লার্নিং লুপটি ব্যবহার করুন:

  1. Bottleneck শনাক্ত করুন।
  2. সেই সমস্যার জন্য নির্দিষ্ট রিসোর্স খুঁজে বের করুন।
  3. সমাধানটি প্রয়োগ করুন।

রিডিং লিস্ট শেষ করার চেষ্টা করা বন্ধ করুন। সিস্টেম উন্নত করার চেষ্টা শুরু করুন।

আপনার পরবর্তী বইটি পড়ার আগে নিজেকে প্রশ্ন করুন: আমার সিস্টেমে সবচেয়ে বড় সীমাবদ্ধতা কোনটি?

এটি কি ল্যাটেন্সি, খরচ, নির্ভরযোগ্যতা নাকি অবজারভেবিলিটি?

সেই বাধাটি মোকাবিলা করতে পারে এমন রিসোর্স খুঁজে বের করুন। ইঞ্জিনিয়ারিং কোনো পড়ার প্রতিযোগিতা নয়। এটি একটি সীমাবদ্ধতা সমাধানের পেশা।

সিস্টেমই নির্ধারণ করে দেয় আপনার পরবর্তী শেখার বিষয় কী হবে।

উৎস: https://dev.to/neilton_rocha_dev/stop-reading-to-build-a-library-start-reading-to-solve-a-problem-55ag