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