আমার বন্ধু তালিকায় কিছু তরুন প্রোগ্রামার মাঝে মাঝে কিছু প্রশ্ন করে আমি সবাইকে আলাদা করে উত্তর দেওয়ার চেষ্টা করি। কিছু প্রশ্ন নিয়ে একটু কথা বলতে চাইঃ
এই প্রশ্ন গুলো আমার কাছে অনেক গুরুত্ব বহন করে। তাই আমি প্রতিটি প্রশ্নের উত্তর আলাদা করে বিস্তারিত আলোচনা করছি।
কিভাবে শুরু করব?
এই প্রশ্ন টার পেছেনে যেই প্রশ্ন টা আপনার মাথায় লুকায় থাকেঃ কিভাবে প্রোগ্রামিং শুরু করলে একটা ভাল জব হবে(টাকা বেশি :D)। শুরুতে একটি তালিকা দেই একজন প্রোগ্রামার এর যেসব ভাল চাকরি হতে পারে।
১. গুগলে চাকরি।
২. ফেইস বুকে চাকরি।
৩. Juniper Networks এ চাকরি।
৪. Amazon Lab এ চাকরি।
৫. full stack developer (ওয়েব)
৬. Mobile applications developer (এন্ড্রয়েড)
তালিকাটা আর বড় করলাম না। এখন মনে করুন আপনি মনস্থির করলেন, আপনি গুগলে চাকরি করবেন। শুরুতে আপনাকে জানতে হবে গুগলে কিসের ভিত্তিতে নিয়োগ হয়। সেভাবে প্রস্তুতি নিন। গুগল দেখবে না আপনি ১০ বছরের অভিজ্ঞ প্রোগ্রামার, আপনার সুন্দর সুন্দর প্রজেক্ট। আপনার দক্ষতা যাচাই করবে কিছু জটিল এলগরিদম দিয়ে সমস্যা সমাধান করার দক্ষতা যাচাই করে।ঐ ধরনের সমস্যা সমাধানে যতটা প্রোগ্রামিং এর ভাষাগত দক্ষতা দরকার তার চেয়ে হাজার গুণ বেশি দরকার গনিত অলিম্পিয়াড এবং এলগরিদম এই টাইপের দক্ষতা। তাই যারা ছোট বেলা থেকে গনিত অলিম্পিয়াডে ভাল তারা নিয়মিত সেই দক্ষতা কাজে লাগিয়ে গুগলে যেসব সমস্যা সমাধান করতে হয় সেগুলো প্রাকটিস করুন। c,c++,java,python থেকে প্রোগ্রামিং ভাষা হিসাবে যেকোন একটিকে বেছে নিন। নিয়মিত প্র্যাকটিস করার জন্য অনলাইনে বেশ কিছু সাইট আছে। https://uva.onlinejudge.org/ টা বেশ ভাল একটা সাইট। এই ধরনের প্রলেম কিভাবে সমাধান করবেন তা নিয়ে শুরুতে http://www.codingpractise.com/acm-icpc/ এই সাইট টা দেখতে পারেন। এইটাকে রেফেরেন্স হিসাবে নেওয়ার দরকার নাই। এইটা আমার তৈরি করা একটা সাইট যেখানে আমার সমাধান করা কিছু সমস্যার বিস্তারিত আলোচনা করেছি। সেই আলোচনা গুলো আপনার শুরুটা কে অনেক আনন্দ ময় করবে। একসময় আপনি আমাকে ছাড়িয়ে যাবেন, কারন আপনি মনস্থির করেছেন গুগলে জব করবেন।
এতক্ষন যেই কথাগুলো বললাম সেই কথাগুলো নিচের চাকরির ক্ষেত্রেও সত্যঃ
২. ফেইস বুকে চাকরি।
৩. Juniper Networks এ চাকরি।
৪. Amazon Lab এ চাকরি।
এখন মনে করুন, আপনি আপনার চেষ্টা চালিয়ে গেলেন কিন্তু আপনার স্বপ্নের চাকরি টা হল না। তাহলে? খুশির খবর হলঃ পৃথিবীতে যত ভাল কোম্পানি আছে সেগুলো এই টাইপের প্রব্লেম সলভিং দক্ষতা যাচাই করে নিয়োগ দেয়। তাই ওভারসীজ যেকোন জবে এপ্লাই করে আপনার কষ্টের প্রতিদান আপনি নিতে পারেন। আবার আপনি যখন লোকাল কোন জব এ এপ্লাই করবেন তখন আপনার সিভি এর সাথে এই প্রবলেম সমাধান করার প্রমান স্বরূপ লিংকটা দিয়ে দিন।অনলাইনে যেই সাইটে আপনি প্রলেম সমাধান করবেন সেখানে আপনার একটা প্রোফাইল লিংক থাকবে। যেমনঃ আমার প্রোফাইল লিংক
এখন মনে করুন আপনার পছন্দ আরেকটু সহজ পথ। ম্যাথ অলিম্পিয়াড, এলগরিথম আপনার মাথায় ঢুকে না। তাহলে আপনি নিচের অপশন বেছে নিনঃ
৫. full stack developer (ওয়েব)
৬. Mobile applications developer (এন্ড্রয়েড)
৫. নাম্বার বেছে নিলে আপনি ধারাবাহিক ভাবে নিচের ল্যাঙ্গুয়েজ শিখুনঃ html,css,jquery। তারপর সার্ভার সাইট ল্যাঙ্গুয়েজ হিসাবে php/python/Java বেছে নিন। তবে একটি কথা php/python/Java শুরু করার আগে সি প্রোগ্রামিং টা শিখে নিন। সি প্রোগ্রামিং এর সব শিখতে যাবেন না। নিচের বিষয় গুলো একেবারে ভাজা ভাজা করে নিনঃ
ভেরিয়েবল, ফাংশন, লুপ, কন্ডিশনাল স্ট্যাট্মেন্ট।
এই বিষয় গুলোর তত্বীয় আলোচনার সাথে কোডিং প্র্যাকটিস করুন। তার মানে বেশি তেলে ভাজবেন, একেবারে পুড়িয়ে ফেলবেন। তারপর php/python/Java শুরু করুন।
৬. নাম্বার বেছে নিলে শুরু তে উপরে উল্লেখ করা সি এর বিষয়গুলো শেষ করুন। তারপর Java দিয়ে মজার মজার app বানানো শুরু করুন।
উপরের আলোচনায় 'কোন প্রোগ্রামিং নিয়ে শুরু করব?' এই প্রশ্নের উত্তর পেয়ে গেছেন।
জব মার্কেটে কোন ল্যাংগুয়েজের ভ্যালু বেশি?
কোন ল্যাঙ্গুয়েজ এর ভ্যালু বেশি কম হয় না। একটা দেশের জব মার্কেটে কোন ল্যাঙ্গুয়েজ বেশি ব্যবহার হয় তার উপর ভ্যালু বেশি কম হয়। এটার কোন স্ট্যান্ডার্ড হয় না।
আপনাকে একটা ধারণা দেই।ইউরোপ-আমেরিকায় সি/অবজেকটিভ সি দিয়ে অনেক কাজ হয়, আবার এমবেডেড সিস্টেম নিয়ে কাজ করলে সি এর অনেক ভ্যালু। আমাদের দেশে এমন কোন IT কোম্পানি নাই যারা সরাসরি সি প্রোগ্রামিং নিয়ে কাজ করে(পাই ল্যাবস করতে পারে- আমার জানা নাই)। আপনি আমাদের দেশের জব মার্কেটের কথা চিন্তা করে সি বাদ দিলেন কিন্তু প্রোগ্রামিং এর সব খুটি নাটি বিষয়গুলো সি তে খুব সুন্দর ভাবে ব্যাখ্যা করা হয়েছে, অন্য ল্যাঙ্গুয়েজে কিছু জিনিস আপনি আগে থেকে জানেন -এমন ধরে নেওয়া হয়। তাই আপিনি সি প্রোগ্রামিং দিয়ে শুরু করুন কিন্তু উপরে নির্বাচিত বিষয় গুলা (ভেরিয়েবল, ফাংশন, লুপ, কন্ডিশনাল স্ট্যাট্মেন্ট) শেষ করে, php বা Java বা python শুরু করে দিন। তারপর আপনি php বা Java বা python যে কোন একটা নিয়ে লেগে থাকুন।
প্রোগ্রামার হতে কতদিন লাগবে?
উত্তরঃ সারা জীবন।
প্রোগ্রামিং করতে গেলে হতাশা কাজ করে এমন কথা গুলো আমার কাছে সব চেয়ে বিরক্ত লাগে। ভাই আমি কোন মটিভেশনাল সোর্স না। আপনি অন্য কোথাও মটিভেশনের সোর্স খুঁজুন। রাতে আপনার বাবার বাসায় ফেরার পর ঘামে ভেজা শার্ট টির গন্ধ নেন, সেখান থেকে মটিভেশন নেন। নিজের সাথে ফাঁকিবাজি করার চরম একটা ডায়লগ- 'আমার এটা করতে হতাশা কাজ করে'।
সবশেষেঃ
সি প্রোগ্রামিং শেখার জন্য আপনি অনলাইনে অনেক রিসোর্স পাবেন। http://bangla.codingpractise.com/ এই সাইটি দেখতে পারেন। বাংলা ও ইংলিশ দুই ভার্সনেই পাবেন। আরও সহজ ভাবে বুঝার জন্য আমার ইউটিউব চ্যানেলটি দেখতে পারেনঃ
https://www.youtube.com/c/abdussattarbhuiyan/?sub_confirmation=1
সি প্রোগ্রামিং এর জন্য আলাদা করেঃ https://www.youtube.com/playlist?list=PLTGUVSeKi-qk-CzSy0KmldBxoY0jRUa-f
html & CSS এর জন্য : https://www.youtube.com/playlist?list=PLTGUVSeKi-qkG63S0L2L056aIzuwAFXEM
Website design(project) এর জন্য: https://www.youtube.com/playlist?list=PLTGUVSeKi-qlTwOtixP1ppFrx-lr-ePvJ
-best of luck & happy coding.
আমি আবদুস ছাত্তার। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 10 বছর 4 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 8 টি টিউন ও 11 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।