আপনি যে বিষয়েই ক্যারিয়ার গড়তে চান সেখানে সবচেয়ে যেটা বেশী জরুরী সেটা হল দক্ষতা । আর দক্ষতাটা আমাদের নিজেদেরই অর্জন করতে হয় । শিক্ষক শিক্ষিকা, বই পুস্তক থেকে আমরা গাইডলাইন পেতে পারি, কিন্তু জিনিসটা শিখতে হয় কিন্তু নিজ আগ্রহে । তেমনি করে প্রোগ্রামিং এর বেলায়ও সফল হতে চাইলে দক্ষতার কোন বিকল্প নেই । আর সেটা করতে হবে নিজেকেই । আপনি কোন বিষয়ে পড়াশুনা করেছেন এর আগে সেটার উপর নির্ভর করে আপনার শেখার পথটা কম বেশী সহজ কিংবা কষ্টসাধ্য হতে পারে, কিন্তু মানবিক বা ব্যবসায় প্রশাসনে পড়েছেন বলে প্রোগ্রামিং অসাধ্য হয়ে যাবে না কখনোই । বরং কখনো কখনো তা নতুন ভ্যালু এ্যাড করতে পারে ক্যারিয়ারে ।
একটু বিস্তারিত বলি, প্রোগ্রামিং এর মূল কাজ সমস্যা সমাধান করা । গণিতের ভালো দখল থাকলে ব্যাপারটা বেশ সহজ হয়ে যায় । তাই যারা বিজ্ঞানের শিক্ষার্থী তাদের জন্য প্রোগ্রামিং তুলনামূলকভাবে সহজ । কিন্তু এমনতো নয় যে, গনিত অন্যরা শিখতে পারবে না । আপনিও পারবেন, নতুন করে হয়তো শিখতে হবে যে জিনিসগুলো আগে শেখা হয়ে উঠেনি । এছাড়াও বেশীরভাগ ছোট খাটো সমস্যা সমাধান করতে আমাদের কমন সেন্সই যথেষ্ট । যেমন ধরুন, একটি পন্যের দাম যদি ৫টাকা হয় তবে ১০টি পন্যের দাম কত হবে - এমন সমস্যা সমাধানের জন্য কিন্তু আপনাকে বেগ পেতে হবে না । আবার গেইম ডেভেলপমেন্ট এ কাজ করতে হলে আপনাকে গণিত এবং পদার্থবিজ্ঞানের বেশ ভালো ধারণা থাকতে হবে । এগুলো আপনাকে নতুন করে কষ্ট করে শিখতে হবে এই যা ।
এখন, প্রোগ্রামিং মানেই তো শুধু গেইম ডেভেলপমেন্ট না - ওয়েব ডেভেলপমেন্ট, মোবাইল কিংবা ডেসক্টপ এ্যাপ্লিকেশন ডেভেলপমেন্ট এর বেলায় প্রচুর পরিমানে সহজ সহজ কাজ রয়েছে যেগুলোর জন্য বিজ্ঞানের বিষয়গুলোর স্পেশালাইজেশন এর তেমন প্রয়োজন নেই । বরং আপনার মানবিক বা ব্যবসায়ের শিক্ষা আপনি আরো ভালোভাবে কাজে লাগাতে পারবেন । যেমন ধরুন, আপনি যদি মানবিক এর শিক্ষার্থী হন তবে আপনার শিল্প কলা সম্পর্রকে গভীর ধারণা থাকবে । আপনি এটা কাজে লাগিয়ে চমৎকার ইন্টারফেইস ডিজাইন করতে পারবেন । আপনি যদি হন ব্যবসায়ের ছাত্র, তবে আপনার আছে ব্যবসার নানা ধারণা । আপনার এই জ্ঞান কাজে লাগিয়ে আপনি হয়তো দাড় করিয়ে ফেলতে পারবেন নতুন প্রজন্মের কোন আইটি ব্যবসা ।
আপনি কোন বিষয়ে পড়েছেন, সেটা আসলেই কোন ব্যাপার না যদি আপনার আগ্রহ থাকে প্রোগ্রামিং শেখার জন্য । বরং প্রোগ্রামিং এর বাইরে আপনার জ্ঞান থাকলে, সম্ভাবনা থাকে আপনি আপনার প্রোগ্রামিং দক্ষতার সাথে সেই জ্ঞানের সমন্বয়ে তৈরি করতে পারবেন চমকপ্রদ কিছু যেটা শুধু প্রোগ্রামিং জানলে সম্ভব হতো না । পড়ার এবং জানার কোন বিকল্প নেই । বিভিন্ন বিষয় নিয়ে পড়ুন, জানুন, শিখুন, বুঝুন এবং সেটার সাথে আপনার প্রোগ্রামিং জ্ঞান এর মিশ্রন ঘটান - বাস্তবের নানা সমস্যার সমাধান করুন, তাহলেই আপনার প্রোগ্রামিং শেখা স্বার্থক হবে বলে আমি মনে করি ।
উত্তর দিয়েছেন: আবু আশরাফ মাসনুন (বিবিএ, খুলনা বিশ্ববিদ্যালয় এবং সফটওয়্যার ইঞ্জিনিয়ার, Staff.com)।
একটু বিস্তারিত বলি, প্রোগ্রামিং এর মূল কাজ সমস্যা সমাধান করা । গণিতের ভালো দখল থাকলে ব্যাপারটা বেশ সহজ হয়ে যায় । তাই যারা বিজ্ঞানের শিক্ষার্থী তাদের জন্য প্রোগ্রামিং তুলনামূলকভাবে সহজ । কিন্তু এমনতো নয় যে, গনিত অন্যরা শিখতে পারবে না । আপনিও পারবেন, নতুন করে হয়তো শিখতে হবে যে জিনিসগুলো আগে শেখা হয়ে উঠেনি । এছাড়াও বেশীরভাগ ছোট খাটো সমস্যা সমাধান করতে আমাদের কমন সেন্সই যথেষ্ট । যেমন ধরুন, একটি পন্যের দাম যদি ৫টাকা হয় তবে ১০টি পন্যের দাম কত হবে - এমন সমস্যা সমাধানের জন্য কিন্তু আপনাকে বেগ পেতে হবে না । আবার গেইম ডেভেলপমেন্ট এ কাজ করতে হলে আপনাকে গণিত এবং পদার্থবিজ্ঞানের বেশ ভালো ধারণা থাকতে হবে । এগুলো আপনাকে নতুন করে কষ্ট করে শিখতে হবে এই যা ।
এখন, প্রোগ্রামিং মানেই তো শুধু গেইম ডেভেলপমেন্ট না - ওয়েব ডেভেলপমেন্ট, মোবাইল কিংবা ডেসক্টপ এ্যাপ্লিকেশন ডেভেলপমেন্ট এর বেলায় প্রচুর পরিমানে সহজ সহজ কাজ রয়েছে যেগুলোর জন্য বিজ্ঞানের বিষয়গুলোর স্পেশালাইজেশন এর তেমন প্রয়োজন নেই । বরং আপনার মানবিক বা ব্যবসায়ের শিক্ষা আপনি আরো ভালোভাবে কাজে লাগাতে পারবেন । যেমন ধরুন, আপনি যদি মানবিক এর শিক্ষার্থী হন তবে আপনার শিল্প কলা সম্পর্রকে গভীর ধারণা থাকবে । আপনি এটা কাজে লাগিয়ে চমৎকার ইন্টারফেইস ডিজাইন করতে পারবেন । আপনি যদি হন ব্যবসায়ের ছাত্র, তবে আপনার আছে ব্যবসার নানা ধারণা । আপনার এই জ্ঞান কাজে লাগিয়ে আপনি হয়তো দাড় করিয়ে ফেলতে পারবেন নতুন প্রজন্মের কোন আইটি ব্যবসা ।
আপনি কোন বিষয়ে পড়েছেন, সেটা আসলেই কোন ব্যাপার না যদি আপনার আগ্রহ থাকে প্রোগ্রামিং শেখার জন্য । বরং প্রোগ্রামিং এর বাইরে আপনার জ্ঞান থাকলে, সম্ভাবনা থাকে আপনি আপনার প্রোগ্রামিং দক্ষতার সাথে সেই জ্ঞানের সমন্বয়ে তৈরি করতে পারবেন চমকপ্রদ কিছু যেটা শুধু প্রোগ্রামিং জানলে সম্ভব হতো না । পড়ার এবং জানার কোন বিকল্প নেই । বিভিন্ন বিষয় নিয়ে পড়ুন, জানুন, শিখুন, বুঝুন এবং সেটার সাথে আপনার প্রোগ্রামিং জ্ঞান এর মিশ্রন ঘটান - বাস্তবের নানা সমস্যার সমাধান করুন, তাহলেই আপনার প্রোগ্রামিং শেখা স্বার্থক হবে বলে আমি মনে করি ।
উত্তর দিয়েছেন: আবু আশরাফ মাসনুন (বিবিএ, খুলনা বিশ্ববিদ্যালয় এবং সফটওয়্যার ইঞ্জিনিয়ার, Staff.com)।
ব্যাপারটা আসলেই ঠিক যে কমার্স অথবা আর্টস ব্যাকগ্রাউন্ড এর কারও পক্ষে আউট অফ দা বক্স চিন্তা করাটা অনেক সহজ হবে। মাসনুন ভাইকে অনেক ধন্যবাদ এমন সুন্দর এবং গোছানো একটা লেখার জন্য।
উত্তরমুছুনReally a nice post for inspiration of other background people who are interested to learn programming.
উত্তরমুছুনবর্তমানে যেই হারে সফটও্যার পাইরেসি হচ্ছে। এইখান থেকে প্রোগ্রামার হয়ে ভবিষ্যতে ঝুকির মুখে কি পড়তে হবে?
উত্তরমুছুনবর্তমানে সফটওয়্যার যেই ভাবে পাইরেসি হচ্ছে।এখন আমরা যদি প্রফেশন হিসেবে প্রোগ্রামিং বেছে নেই তবে কি ভবিষ্যতে ক্যারিয়ার ঝুকির মুখে পড়বে?
উত্তরমুছুনখুবই সুন্দর পোস্ট
উত্তরমুছুনআবু আশরাফ মাসনুন vai,
উত্তরমুছুনI am a BBA holder. But, I want to be a software engineer like yours. I have already learned C and C++ myself. Can I contact with you to get some direction?
a.a.m.sharif.h51@gmail.com
অবশ্যই । আমাকে ইমেইল করতে পারেন: masnun [at] transcendio.net :)
মুছুনrealy nice
উত্তরমুছুনআমি সফটওয়্যার ডেভেলপ নিয়ে অনেক লড়াই করছি। আমি বিবিএ মার্কেটিং এর ছাত্র। বিগত ৩ বছর যাবত এক কোম্পানি তে মার্কেটিং এবং অন্য এক কোম্পানি তে অ্যাকাউন্ট ম্যানেজার হিসাবে জব করি। পাশাপাশি রাত ১০ টা থেকে রাত ৩ টা পর্যন্ত প্রোগ্রামিং চর্চা করি (এই অভ্যাস এখনও আছে), যার ফলস্বরূপ এখন ঢাকার কিছু বড় কোম্পানি কে বিট করে প্রোফেসনাল সফটওয়্যার ডেভেলপার হিসেবে কাজ করছি। পাশাপাশি একটা কোম্পানি তে আইটি ম্যানেজার হিসেবে কাজ করছি। আজ পর্যন্ত আমার এই লাইনে কোন প্রাতিস্তানিক শিক্ষা নাই। শুধু অনলাইন এ সার্চ করে আমি এই পর্যন্ত শিখেছি। আমি মূলত Desktop Application, Web Application & web design এর কাজ করি। Complete accounting software, stock management, Inventory Management, Hospital Management System, POS Software, Office Management System, Office Security System, All Application will be Desktop Base or Web Base....etc. এগুলো কিছু কাজের উধাহরন।
উত্তরমুছুনআমি এত কিছু বলছি এই কারনে যে, শুধু কম্পিউটার সায়েন্স এ পরেই সফটওয়্যার ডেভেলপার হয় না, যে কেও সফটওয়্যার ডেভেলপার হতে পারে, শুধু চাই পরিশ্রম আর ধৈর্য।
Go Ahead
মুছুনউৎসাহ পেলাম.............
মুছুনnice
উত্তরমুছুনআমি যতই পোষ্ট পড়ছি ততই আমার অাগ্রহ বাড়ছে। আমি একদিন প্রোগ্রামার হব ইনশ্আল্লাহ।
উত্তরমুছুন