আমি সফটওয়্যার ইঞ্জিনিয়ারিং শিখতে চাচ্ছি। আমার কোনো সার্টিফিকেট নেই তাই আমার ভাই আমাকে মানা করছে শিখতে। বলছে শিখলেও কোনো কাজে আসবে না সার্টিফিকেট না থাকলে। এখন আমি কী করব?

1 Answers   4.3 K

Answered 2 years ago

ডিগ্রি ছাড়া কম্পিউটার সেক্টরে ভাত নাইঃ এটা বাংলাদেশের মতো অনুন্নত দেশের জন্য খাটতে পারে কিন্তু ফ্রিল্যান্সিং ও পশ্চিমা বিশ্বে এটা একেবারেই অচল। এমনকি আফ্রিকা মিডলইস্টেও অনেক ডেভেলপার খুঁজে পাবেন যাঁদের সিএসই হা সিএসে কোনো ডিগ্রি নাই।

প্রমান চান? কোরার ইংলিশে গিয়ে সার্চ দেন, খোদ গুগলেই মধ্যবয়সী অনেক পাবেন যারা হাইস্কুল ড্রপআউট। ১০-১২ বছর কন্স্ট্রাকশনে কামলা দিছে। ডিভোর্সড। তারপর কোনো রেস্টুরেন্টে কামলা দিতে গিয়ে ছাত্রদের কাছ থেকে জানতে পারে প্রোগ্রামারদের কথা। সেখানে থেকে ৪-৫ বছর নিজে গুতোগুতি করে পেটে ভাতে থেকে ৪৪-৪৫ বছরে গুগলে জয়েন করে।

কি খুশি?

এখন আসেন সফটওয়ার ইন্জিনিয়ারিং জিনিসটা কি? আমি যখন দেশে অনার্সে ভর্তি হই তখন ইন্টারনেট ডায়ালআপে চলতো। পিএইচপি পয়দা হয় নাই। এইচটিএমল সিএসএস তথ্যপ্রযুক্তি আর জাফর ইকবাল স্যারের আর্টিক্যালের রেফারেন্সে পেপার খোলাই দায়। তার ওপর আইটুকে এক্টা চিজ ছিলো।

যখন অনার্স শুরু করলাম তখন ধারনা হলো প্রোগ্রামিং মানেই হলো সি আর এমবেডেড মেশিন ল্যাং হইলো ইলেক্ট্রিক্যালের। সি++ জাভা দিয়ে গেম বানাবে কম্পুতে পড়া পুলাপান। ম্যাকা সি আর সিভিল করবে ফোট্রান। কাহিনী শেষ।

পাশ করে হুট করেই শুনি পিএইচপি নাকি সব কাপায়ে দিলো। শুরু হলো ওয়েব ডেভেলপমেন্টের যুগ। আমি যখন সুইডেনে মাস্টার্স করতে আসলাম তখন আমরা পেলাম ম্যাটল্যাব ভিএইচডিএল সি পাইথন কত কি! তার আরো ১১ বছর পর এখন দেখি ডাটা সায়েন্স মেশিন লার্নিং এজাইল এবং নিজে ওয়েব ডেভলপমেন্ট পেশা হিসেবে বেছে নিয়েছি।

তো ওপরের লেখা দেখেই বুঝতে পারছেন কম্পিউটার সায়েন্সের এখন মেলা শাখা প্রশাখা। আপনি চোখ খুললেই দেখবেন বাংলাদেশের আনাচে কানাচে ইন্টারপাশ ডিগ্রি পাশ পুলাপান রিএক্ট এঙ্গুলার বা ভিউ বা নোড জেএস বা সাধারন লারাভেল ওয়ার্ডপ্রেস শিখে ফ্রি ল্যান্স করে ঘর পাকা করে ফেলছে। এরা কেউ কিন্তু নর্থ সাউথ বা বুয়েট বা কোনো প্রতিষ্ঠিত বিশ্ববিদ্যালয়র করেনি। তারা যে খুব অংকে ভালো তাও না কারন মজার ব্যাপার হলো ওয়েব ডেভ শিখতে অংক লাগে না। যা লাগে তা ক্লাস ফাইভ সিক্সের। এদের অনেককে দেখবেন মোটা মাইনে নিয়ে ইউরোপ আমেরিকার জব করতেছে যদিও তারা মাইনে নিয়ে কথা বলে না কারন দেশের অবস্থা তো জানেন। কিন্তু তাদের ঘর বাড়ি ও গ্লামারের জেল্লাই কথা বলে।

আবার আরেকটা পার্ট আছে যারা এমবেডেড প্রোগ্রামিং ও এজাইল-স্ক্রাম মাস্টারে কাজ করে। যতদূর জানি বাংলাদেশে এজাইল স্ক্রাম মাস্টার এক্টা নতুন বিষয় এবং স্বীকার করতে দ্বীধা নেই এসব করতে হলে অংকে পারদর্শিতার চাইতে ইংলিশে বেশী পারদর্শি হতে হবে। কারন ইউজার বোর্ডের সব ডকুমেন্টস ইংলিশে। এজাইল স্ক্রাম মাস্টারের জন্য আপনাকে এলগরিদম সম্পর্কে ধারনা থাকতে হবে এবং এটার জন্য অংকে দক্ষতা গুরুত্বপূর্ন। একাডেমিক যারা পড়াশোনা করেন তাদের এলগরিদমে দক্ষতা অর্জন করতে বছরের পর বছর লেগে যায়। যাদের মেধা ভালো বা প্রতিযোগিতায় যেতে চায় তাদের পেছনে ইউনি থেকেই মেধাবী শিক্ষকদের নিয়োগ দেয়া হয় কোচিং এর জন্য। তারপরও আন্তর্জাতিক প্রতিযোগিতায় ২০০৩ সালের পর ভালো ফলাফল বাংলাদেশের কোনো দল নিয়ে আসতে পারেনি।

এতে হতাশ হবার কিছু নাই। এক্টা উদাহরন দেয়া যাক। বান্দরের বাঁশ নিয়ে টানাটানির পার্টিগনিতের অংক আপনি করেছেন খুব সম্ভবত ক্লাস সিক্সে। অন্তত আমাদের সময় ক্লাস সিক্সে করানো হতো কিন্তু আমরা যারা ক্লাস ফাইভে বৃত্তি পরীক্ষা দিয়েছিলাম তখন এটা কমন প্রশ্ন ছিলো। কিন্তু আপনাকে এই অংক প্রথমেই দেয়া হয়নি। প্রথমে আপনি ১-১০০ পর্যন্ত বলা শিখেছেন। তারপর শুরু করেছেন নামতা এরপর যোগ বিয়োগ গুনভাগ। ক্লাস ফোরে এসে পার্টিগনিত শুরু করেন এবং সেগুলো খুব সহজ অংক। পার্টি গনিত এরপর আরেকটু জটল হতে শুরু করে এবং তখনি বান্দরের অংক দেয়া হয়।

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

এখন আসি প্রোগ্রামিং ল্যাঙ্গুয়েজ। পাইথন ভালো না পিএইচপি না জাভা এটা জেনে আপনার কাজ নেই। আপনাকে মনে রাখতে হবে আরবী/ফ্রেঞ্চ/জার্মান/ হিন্দি ভাষার মতোই এটা এক্টা ভাষা। এসব ভাষা শিখতে হলে আপনাকে জানতে হবে গ্রামার কিন্তু প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে হলে আপনাকে প্রথমে জানতে হবে এর সিন্টেক্স তারপর ফাংশন তারপর ক্লাস। সিন্টেক্স দিয়ে ফাংশন ক্লাস লিখবেন এটার জন্য আপনার বুঝতে হবে লজিক। এই লজিকের ব্যাসিক কিন্তু আপনি পার্টিগনিত বীজগনিতেই পেয়েছেন। আর ইংলিশ বা বাংলা গ্রামারের পার্টস অব স্পিচ বা টেন্স বা কারক সমাস সন্ধি পড়েছেন তাঁরাও কিন্তু এক্টা লজিক মেনে চলে। সবাই এক্টা নিয়মে। প্রোগ্রামিং ল্যাঙ্গুয়েজেরও নিজস্ব নিয়ম আছে লজিক আছে এবং এটার করায়ত্তের জন্য আপনাকে প্রচুর অনুশীলন করতে হবে। সমস্যা হলো পার্টিগনিত বীজগনিতের জন্য আপনার স্কুল ছিলো শিক্ষক ছিলো এসবের জন্য কি আছে?

প্রথমেই বলবেন ইউনি কিন্তু প্রাইভেটে সেটা সময় সাপেক্ষ ও ব্যায়বহুল ব্যাপার। সরকারীতে আপনার গ্যাপ থাকলে সেখানে ভর্তি হওয়া মুস্কিল। আশার কথা হলো আমাদের মেধাবী দেশী ডেভেলপাররা নানা কোর্স অনলাইনে খুব সস্তায় চালু করেছে এবং এগুলো বেশ কার্যকরী। যে জিনিস আপনারে গুগল করে বের করতে সময় লাগতে পারে সেটা আপনি রেডিমেড পেয়ে যাচ্ছেন। সাথে বেশ কয়েকজন মেন্টরও পাবেন যারা পরবর্তীতে সাহায্য করবে এবং এক্টা নেটওয়ার্ক তৈরী হবে। আপনারে কোথা থেকে তো শুরু করতে হবে। ধরে নিলাম আপনার সে সামর্থ্যও নেই। তাহলে আপনাকে গুগল করা শিখে সেখানে ছড়িয়ে থাকা অজস্র রিসোর্স আছে এবং এর মধ্যে সবচে কার্যকরী ইউটিউব ভিডিও আছে যেগুলো বিনামূল্যে আপনাকে শেখাচ্ছে। আমি নিজে প্রায় বিনা খরচে এভাবেই রিএক্ট রিডাক্স জ্যাংগো নোড ইত্যাদি শিখেছি। সময় লেগেছে কিন্তু অনুশীলনের মাধ্যমে দক্ষতা অর্জন করেছি।

এভাবেই আপনি হতে পারেন ওয়েব ডেভেলপার এবং যখন ফ্রিল্যান্সিং এ কাজ খুঁজতে যাবেন তখন তারা দেখবে না আপনি কোথা থেকে পাশ করেছেন বা কার ছাত্র। তারা আপনার পোর্টফোলিও দেখবে, কমিউনিকেশন স্কিল এবং সমস্যা সমাধান করার যোগ্যতা। এগুলোতে ভরসা পেলে আপনি কাজ পাওয়া শুরু করবেন। এরজন আরেকটা যেটা দরকার সেটা ধৈর্য।

আপনি যখন লারাভেল বা রিএক্টে কাজ করবেন আপনি আল্টিমেটলি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এবং মড্যুলার ফাংশন ও অপটিমাইজেশন সম্পর্কে এক্টা অটোমেটিক ধারনা পাবেন। এখন আপনি খান একাডেমিতে গিয়ে ওদের এলগোরিদমটা শিখে পেলেন। আপনি যদি এক মাস লেগে পড়ে থাকেন আপনার দক্ষতা অটোমেটিক অন্য লেভেলে চলে যাবে। প্রপস ফাংশন কল ইত্যাদি টেকনিক ব্যাবহার করে পুরো এক্টা এপসের অপটিমাইজেশন এবং এর টাইম লেটেন্সি কিভাবে ভালো করতে হয় সেটা অনুধাবন করতে পারবেন।

এখন আপনি চিন্তা করলেন সফটওয়ার ইন্জিয়ারিং শিখতে। প্রথমে এক্টা ট্রেন্ড লক্ষ্য করবেন ওয়েব সাইট এখন আর কেউ বলে না। রিএক্ট এঙ্গুলার ভিউ এর কারনে ওয়েব এপ হয়ে গেছে এবং এদের নেটিভ অংশ মোবাইল এপে কাজ করে একই ব্যাকএন্ড দিয়ে। ওদিকে জাভাস্ক্রিপ্টের ইলেক্ট্রন ডেস্কটপ এপ বানাতে সাহায্য করছে। একই কাজ সি++/সিশার্পও করছে। ওদিকে ফ্লাটার কটলিন। তারমানে আপনাকে প্রথমে এক্টা ল্যাঙ্গুয়েজ নির্বাচন করতে হবে। তার আগে আপনার সাথে এক্টা ভারতের বিশ্ববিদ্যালয়ের অনার্স লেভেলের সফট ইন্জিনিয়ারের সিলেবাস শেয়ার করতে চাচ্ছিঃ

https://www.tvu.edu.in/wp-content/uploads/2017/06/cbcs_syllabus/B.Sc.%20Software%20Computer%20Science.pdf

ভারত বলে ঘৃনা করার কারন নাই। আপনি থেস ও টাইমস র্যাংকিং এ গেলে ভারতের আইআইটি পাবেন প্রথম ২৫ এর মধ্যে। ১০০-২০০ এর মধ্যে আরো বেশ কয়েকটা ইউনি পাবেন। যাই হোক সিলেবাসটা পুরোনো হলেও এখনো বিশ্বের অধিকাংশ ইউনি একই সিলেবাস অনুসরন করে। আপনাকে ওপরে যে কথা গুলো বললাম ওয়েব ডেভেলপমেন্ট ও খান একাডেমির এলগো সম্পর্কে এগুলো ঐ সিলেবাসের অন্তত ৬০ শতাংশ করে ফেলেছেন বিনে পয়সায়। এবং আপনি ইতিমধ্যে ভালো পোর্টফলিও বানিয়ে ফ্রিল্যান্সিং শুরু করেন আপনি এক্টা মোটা অংক আয়ও করছেন। আর যতটুকু বুঝি বাংলাদেশের অধিকাংশ ফ্রিল্যান্সার যারা পিএইচপি ও ওয়ার্ডপ্রেসে কাজ করেন তাদের এলগোরিদম শেখার কোনো দরকার পড়ে না। রিএক্ট হুক বা রিডাক্স টুলকিটে এগুলো বিল্টইন করাই আছে। পাইথনে প্রতিটা এলগোরিদমের জন্য লাইব্রেরী ফাংশন বানানো আপনি শুধু প্রয়োজন অনুসারে জায়গামতো কল করবেন॥

এর মাধ্যমে এটাই কি প্রমান হলো না যে যারা বলছে আপনি ডিগ্রি ছাড়া সফটওয়ার ইন্জি হতে পারবেন না? আমার পক্ষে থেকে তাদের গালে সজোরে এক্টা চড় দেন। প্রমান সব আপনার হাতের সামনেই। বাংলাদেশের কোনো ইউনি এখনো ৮০০ এর মধ্যে যেতে পারেনি তারা ভারতের চে কি ভালো শেখাবে?

এখন আসি সত্যিকারের সফটওয়ার ইন্জিনিয়ার হতে কি লাগে। বর্তমানে এজাইল/স্ক্রাম মাস্টারের যুগ। সবাই একেকটা ব্লকে একই সঙ্গে কাজ করবে যেটা কিনা নির্দিষ্ট প্রাইভেট ক্লাউড বা লোকাল ডোমেইনে আপডেট হবে। ফলে সফটওয়ার আর্কিটেকচার থেকে শুরু টিম লিড সহ জুনিয়র ডেভ সবাই দেখতে পারবে তাদের কাজের সম্মিলিত ফলাফল। এখন প্রজেক্টের রিকোয়ারমেন্ট অনুযায়ী যে ইউএমএল মডেল মেটা মডেল ও তাদের কনস্ট্রেইন অনুসারে ওসিএল ল্যাঙ্গুয়েজ তৈরী করে যার ফলে সবাই এক্টা গাইডলাইন পায় এবং এর পারফরমেন্স ও আউটপুট কেমন হবে সেটা বোঝা যায়।

আমি একাডেমিক্যালএত সাউন্ড না, তবে এই কাজটা প্রথম ইমপ্লিমেন্ট করে জ্যাংগো তাদের ফ্রেমওয়ার্কে। কিন্তু তারা নিজেরাও ওয়াকিবহাল ছিলো না। এখন তো এক্লিপস প্যাপিরাস ভিজ্যুয়াল ডায়াগ্রাম সহ হাজারো টুলস এবং এসবের মান সেরকম। এখন যখন ইমপ্লিমেন্টেশনে আপনার সার্ভার ম্যানেজমেন্ট খুব সহজ হয়ে গেছে এবং আপনি বিশাল বড় এন্টারপ্রাইজের খুবই জটিল ও বিশাল ডাটাবেজ খুব সহজে এবং অল্প সময়ে এবং এফেক্টিভলি করে ফেলেছেন।

এই যে আপনারে যে কথা গুলো শোনালাম এগুলো মাস্টার্স লেভেলের বিষয়। কিন্তু আপনি যদি সফটওয়ারে এন্ট্রি লেভেলে ঢোকেন তাহলে আপনার যেটা দরকার সেটা হলো আপনি কাঙ্খিত ল্যাঙ্গুয়েজ/ফ্রেমওয়ার্ক জানেন কিনা এবং অপটিমাইজড মডিউল দিয়ে সমস্যা সমাধানে কতটুকু দক্ষ। গেম তৈরী করতে গেলে অবশ্য এলগরিদম মেটাহিউরিটিক্সে দক্ষ হতে হবে। কিন্তু আপনি যদি একবার কাজটা শুরু করেন বাকি বিষয়গুলো এমনিতেই চলে আসবে। যেটা দরকার সেটা হলো জানার আগ্রহ এবং নিজেকে আপডেট রাখা।

প্রযুক্তি বিশ্ব প্রতিনিয়ত বদলাচ্ছে এবং এসব বদল আপনি আমিই করছি। তাই কে কি বললো তা শুনে হতাশ হবার কাকন নেই। এটা বিশাল বড় এক্টা ফিল্ড। আপনি শুধু ফ্রন্টএন্ড নিয়ে শুরু করতে পারেন বা শুধু এইচটিএমল আরডিবিএমএস বা পোস্টাগ্রী বা যেকোনো এক্টা ব্যাকেন্ডের আদ্যপান্ত। যেটাই শিখেন গিটহাব, বিটবাকেটে ওঠাতে ভুলবেন না।

গিটহাবঃ এই সাইট শয়নে স্বপনে মনে রাখবেন। তার সাথে রাখবেন এক্টা পোর্টফোলিও যেটা দেখলে যে কেউ এক লহমায় বুঝতে পারবে আপনার দক্ষতা ও কাজ সম্পর্কে আর লিংকডইনে নিজের নেটওয়ার্ক। আপনার মেধা ও কাজের অদম্য ইচ্ছা প্রজেক্ট তৈরীতে সহায়তা করবে এবং এসব প্রজেক্ট আপনার পোর্টফোলিও ভারী করবে। এবং এই ভারী পোর্টফোলিও আপনাকে কাজ পাইয়ে দেবে।

তাই এখন থেকেই শুরু করুন।

Aniket
Aniket
260 Points

Popular Questions