কমপ্লিট প্রোগ্রামার হওয়ার জন্য যা জানা প্রয়োজন
- Ibnul Hossain
- Jun 26, 2022
- 3 min read

আমরা সবাই কম বেশি অনেক প্রোগ্রামিং টিউটোরিয়ালস দেখি। একজন প্রোগ্রামার হতে হলে বেগাইনার থেকে শুরু করে প্রফেশনাল পর্যন্ত ইন জেনারেল যে টপিক গুলো জানা থাকা দরকার সেই টপিক গুলো নিয়ে আমরা আলোচনা করবো। প্রোগ্রামিংকে আমি মোট ৪ ভাগ এ বিভক্ত করেছি। বেগিননার , ইন্টারমিডিয়েট, অ্যাডভান্স এবং প্রফেশনাল লেভেল।
বেগিননার লেভেল: এই লেভেল এ আমাদেরকে প্রোগ্রামিং এর ফান্ডামেন্টালস গুলো খুব ভালো করে শিখতে হবে। এই ফান্ডামেন্টালস গুলো ভালো করে রপ্ত করা লেগে সামনে আগানো সম্ভব নয়। টপিক গুলো :
ডাটা টাইপ, ভ্যারিয়েবল, ইনপুট আউটপুট, অপারেটর, কন্ডিশনস, লুপ, ফাঙ্কশন, এরে, স্ট্রিং।
এই কয়টি জিনিস আমাদের খুব ভালো করে দখল এ থাকা লাগবে। এই টপিক গুলো শেষ করেই কিছু প্রব্লেম সল্ভ করা উচিত। তাহলেই টপিক গুলো ভালো করে বুজা সম্ভব। এক্ষত্রে অনলাইন এ অনেক রিসোর্সে রয়েছে।
যেমন leet code, geeks for geeks ইত্যাদি অনেক সাইট রয়েছে। সেখানে গিয়ে সহজ প্রব্লেম সল্ভ করা যেতে পারে।
ইউটুবে ও অনেক ভিডিও পাওয়া যাবে যেখানে প্রব্লেম সল্ভ করা দেখানো হয়েছে। যেমন code chef , Nick white, freecodecamp, neet code ইত্যাদি অনেক ভালো চ্যানেল আছেন প্রব্লেম সলভিং এর জন্য।
ইন্টারমিডিয়েট লেভেল: আলহামদুলিল্লাহ, আপনি অনেক দূর চলে এসেছেন। এখন আপনাকে এক্সেপশন হ্যান্ডেলিং সম্পর্কে জানতে হবে। কিভাবে প্রোগ্রামিং এ error হ্যান্ডেল করতে হয় তা সম্পর্কে একটা ভালো ধারণা থাকতে হবে। এরপর File I/O সম্পর্কে একটা ভালো ধারণা নেয়া লাগবে। কিভাবে ডাটাকে read write করতে হয় তা শিখতে হবে।
অ্যাডভান্স লেভেল: মাশাল্লাহ, আপনি আরো অনেক দূর চলে এসেছেন। এখন প্রোগ্রামিং এর অন্যতম একটা পাওয়ারফুল কনসেপ্ট শিখবেন। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং।
১৯৬৭ সালে এই প্রোগ্রামিং কনসেপ্ট চালু হয়। আর এটি অনেক বড় একটি পরিবর্তন নিয়ে আসে প্রোগ্রামিং পৃথিবীতে। এটির জন্য কোড লিখা, বুজা, ডিসাইন অনেক সহজ হয়ে যাই। এই কনসেপ্ট ভালো করে জানা না থাকলে বোরো কোনো সফটওয়্যার বানানো প্রায় অসম্ভব।
এখানে আমরা ক্লাস, অবজেক্ট কি তা শিখবো। এর পর এনক্যাপ্সুলেশন , পলিমরফিজম, কনস্ট্রাক্ট কি, মাল্টিপল কনস্ট্রাক্ট, method overloading , method overriding , operator overloadingইনহেরিটেন্স, এবস্ট্রাক্ট ক্লাস, ইন্টারফেস ক্লাস।
এই টপিক গুলো ভালো করে শিখতে হবে। এই টপিক গুলোর উপর ভিত্তি করে আপনি প্রফেশনাল সফটওয়্যার বানাবেন। এই টপিক গুলো শিখে যাওয়ার সাথে সাথে আপনি কিছু রিয়েল ওয়ার্ল্ড প্রজেক্ট করবেন। যেমন একটি প্রতিষ্ঠান এর ম্যানেজমেন্ট সিস্টেম বানাতে পারেন। এটি আপনাকে বুজতে এবং ভবিৎষতে চাকরি পেতে অনেক সাহায্য করবে। এই টপিক গুলো নিয়ে আপনাকে অবশই ইন্টারভিউতে প্রশ্ন করবে।
প্রফেশনাল লেভেল: আলহামদুলিল্লাহ, আপনি এখন প্রো হয়েগেছেন। আমাদের আরো কিছু টপিক না জানলেই নয়। এখন যে টপিক গুলো নিয়ে কথা বলবো, এইগুলো আমাদের প্রফেশনাল সফটওয়্যার এ অনেক কাজে বেবহার হয়। কিছুকিছু টপিক একটু জটিল। কিন্তু আমাদের চেষ্টা চালিয়ে যেতে হবে। হাল ছেড়ে দিলে চলবে না। একটু সময় একটু লেগে থাকাটাই অনেক জরুরি।
এই স্টেজ এ এসে আপনাকে মডুলেস, প্যাকেজ, লাইব্রেরি কি জানতে হবে। *args, **kwargs , ল্যামডা ফাঙ্কশন, ম্যাপ, ফিল্টার, ফাঙ্কশন closure , ডেকোরেটর, iterator , জেনেরেটর্স, থ্রেডস, Asynchronous প্রোগ্রামিং সম্পর্কে একটা ভালো ধারণা নিতে হবে।
এছাড়া আরকিছু জিনিস যেমন Bash, Users, Sudo, Files and Directories, Running executable, Environment Variables, Searching and Filtering এই টপিক গুলো জানা একান্তই জরুরি।
এরপর Github কি, এটি কিভাবে ব্যবহার করে অবশই জানতে হবে। আপনি প্রোগ্রামিং করেন কিন্তু Git জানেননা এটি আপনার চাকরির ক্ষেত্রে অনেক বোরো একটি নেগেটিভ প্রভাব ফেলবে।
আপনি যে IDE ব্যবহার করছেন, সেখানে ডিবাগ টুল আছে। এটির ব্যবহার জানতে হবে। এর সাহায্যে আমাদের প্রোগ্রাম এর কোথায় ভুল আছে বা হয়েছে খুব সহজে বের করা যাই।
আমরা এতক্ষন যতকিছু নিয়ে আলোচনা করেছি এর পাশাপাশি আমাদের কিছু তত্ত্বের জানা আবশ্যক। এই তত্ত্বের গুলো আমাদের সিস্টেম ডিসাইন করতে অনেক সাহায্য করবে।
এগুলো হলো : Cohesion, Coupling, Abstraction, Resuablility, Reuse, Flexibility, Obsolescence, Portability, Testablity, Defensibility.
আশা করি এই আর্টিকেলটি আপনাদের একটু হলেও উপকারে আসবে।
Comments