জাকির হোসেন : ফ্রিল্যান্সার হিসেবে কাজ করার জন্য অনেকগুলো ফিল্ড রয়েছে। ফ্রিল্যান্সিংয়ে ভালো করার জন্য রয়েছে অনেকগুলো উপায়। সব কিছুর আগে যেটা দরকার, তা হচ্ছে একটা বিষয়ে দক্ষতা। অনেকগুলো বিষয় রয়েছে, আমি বলব প্রোগ্রামিং নিয়ে।
পৃথিবীর প্রায় সব কিছুই এখন কম্পিউটার নির্ভর। মোটামুটি সবাই জানি কম্পিউটার নিজ থেকে কিছু করতে পারে না। তাকে যা করতে বলা হয় বা ইন্সট্রাকশন দেওয়া হয়, তাই করতে পারে। ইন্সট্রাকশনগুলো দেওয়া হয় প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে।
প্রোগ্রামিং কতটা পাওয়ারফুল তা আমাদের কল্পনারও বাহিরে। যে প্রোগ্রামিং জানবে, সে নতুন একটা পৃথিবী তৈরি করে ফেলতে পারবে। তৈরি করা যাবে নতুন একটা ভার্চুয়াল মহাবিশ্ব। আমরা কম্পিউটার গেমস খেলি, ছবি আঁকি, ওয়ার্ডে কিছু লিখি, ইন্টারনেট ব্রাউজার দিয়ে গুগল, ফেসবুকের মত সাইটে ভিজিট করি এমন সব কিছুই প্রোগ্রামিং ব্যবহার করে তৈরি। এগুলোর পেছনে অনেকগুলো কোড কাজ করছে।
প্রোগ্রামিং জানলে ক্যারিয়ার সম্পর্কে আর চিন্তা করতে হয় না। এমনকি সাধারণ অন্যান্য চাকরি করার জন্য দরকার সার্টিফিকেট। আর প্রোগ্রামিং জানাটাই হচ্ছে একটি সার্টিফিকেট। অনলাইনে এবং অফলাইনে হাজার হাজার জব পড়ে আছে, যে প্রোগ্রামিং জানে তার জন্য।
সফল মানুষ তখনই হতে পারে যখন মানুষের কোনো বিষয়ের প্রতি আকাঙ্ক্ষা থাকে। আর ঐ আকাঙ্ক্ষা পূরণ হওয়াটা হচ্ছে সফলতা। সফল যদি হতে হয়, তাহলে সবার আগে যেটা দরকার তা হচ্ছে আকাঙ্ক্ষা বা ইচ্ছে বা স্বপ্ন। প্রোগ্রামার হওয়ার ইচ্ছে, বা বড় হয়ে গেমস তৈরি করার ইচ্ছে, সফটওয়ার তৈরি করার ইচ্ছে থাকলে একদিন তা পূরণ হবে। আর ঐ সব ইচ্ছে পূরণ করার জন্য দরকার প্রোগ্রামিং শেখা।
প্রোগ্রামিং শেখার শুরুর দিকে অনেকেই বিশাল বই দেখে হয়তো ভয় পেয়ে যায়। এত বিশাল বই, এত্ত কিছু শিখতে হবে। এত কিছু জানতে হবে, ইত্যাদি ইত্যাদি। বইগুলো বিশাল হওয়ার কারণ একটু পরেই বলছি। তবে জিনিসটা অবশ্যই এমন নয়। বিশাল বই পড়ে কিছুই মনে রাখতে হয় না। মুখস্ত করতে হয় না কিছু। শুধু জানতে হয় কীভাবে প্রোগ্রাম লিখতে হয়। কোনো সিনট্যাক্স মুখস্ত করতে হয় না। শুধু জানতে হয় কীভাবে লিখে।
প্রোগ্রামিং হচ্ছে লজিক। আমরা বাস্তব জীবনে যেমন লজিক খাটাই, তেমন লজিক। এগুলো মুখস্ত করতে হয় না। শুধু গুছিয়ে চিন্তা করতে হয়। শুধু জানতে হয় কীভাবে গুছিয়ে চিন্তা করা যায়। একটা উদাহরণ দিই, যেমন ‘যদি আজ শুক্রবার হয়, স্কুলে যেতে হবে না। যদি শুক্রবার না হয়, স্কুলে যেতে হবে।’ – এ জিনিসটা আমরা ঠিক যেভাবে চিন্তা করেছি, প্রোগ্রামিংয়ে ঠিক এমনি। এটাকে যদি আমরা সুডো কোডে লিখি তাহলে:
if day=friday
no school, do furti.
else
go to schlool.
এতই সহজ প্রোগ্রামিং।
বইগুলো বিশাল হয় কারণ ঐখানে প্রোগ্রামিং করে কী কী করা যায়, এমন অনেকগুলো উদারহণ দেওয়া থাকে। দেওয়া থাকে অনেক লাইব্রেরির ব্যবহার প্রনালী। তো এসব শুধু একবার পড়লেই হয়। না পড়লেও সমস্যা হয় না। যদি পড়া থাকে, তাহলে প্রোগ্রাম লিখতে দারুণ কাজে দেয়। যেহেতু আমাদের কোড মুখস্ত করতে হয় না, আমরা বই এর ঐ অংশ থেকে দেখে দেখেই লিখে ফেলতে পারি।
আর কোডগুলো লেখা হয় IDE ব্যবহার করে। ওপরে আমরা if else দিয়ে একটা প্রোগ্রাম লিখছি। IDE গুলো i লেখার সঙ্গে সঙ্গেই বুঝে যায় আমরা কী লিখতে যাচ্ছি, বাকি কোডগুলো অটোমেটিক লেখা হয়ে যায়। সত্যিই অসাধারণ। শুধু একবার শুরু করতে হবে। কিছু সময় ব্যয় করতে হবে। এই যা।
প্রোগ্রামিং শেখার জন্য বই এর দুই একটা চ্যাপ্টার ঠিক মত পড়লেই হয়, সিনট্যাক্সগুলো জানলেই হয়। বাকিটা যে যার মত করে লিখে ফেলতে পারে। নিজ নিজ ক্রিয়েটিভিটি প্রয়োগ করে। আর আমাদের সবার ক্রিয়েটিভিটি ইউনিক।কারোটা দিয়ে কারোটা রিপ্লেস করা যায় না। আমরা অনেকেই জানি না, আমরা কতটা ক্রিয়েটিভ। আর তা জানতে হয়, আর জানার জন্য চোখ বন্ধ করে না থেকে একটু চারপাশ তাকাতে হয়।
প্রোগ্রামিং এর সবচেয়ে মজার পার্ট বলি। একটা বাস্তব উদাহরণ দিয়ে বলি। ধরে নিচ্ছি, আমরা পৃথিবীর সবচেয়ে উঁচু টাওয়ারটা বানাবো। এখন পর্যন্ত সবচেয়ে উঁচু বিল্ডিং কোনটা? সম্ভবত Burj Khalifa, তাই না? ১৬৩টি ফ্লোর রয়েছে। আমরা চাচ্ছি এর থেকেও বিশাল একটা বিল্ডিং বানাতে, যার মধ্যে ২০০টি ফ্লোর থাকবে। তো বাস্তবে জিনিসটা বানাতে আমাদের নতুন করে গ্রাউন্ড লেভেল থেকে শুরু করতে হবে। অনেক বছর লেগে যাবে। প্রোগ্রামিংয়ে কেউ যদি ১৬৩ তলা সমান একটা প্রোগ্রাম বানিয়ে রাখে, আমরা চাচ্ছি ২০০ তলা সমান একটা প্রোগ্রাম বানাতে, তখন আমরা ১৬৩ তলা থেকেই কাজ শুরু করতে পারব। শুরু থেকে কিছুই করতে হবে না। কত সময় বেঁচে যাচ্ছে। তৈরি হচ্ছে দারুণ কিছু। চমৎকার না?
প্রোগ্রামিং জানা সত্যিই চমৎকার। প্রোগ্রামিং মানুষের চিন্তা শক্তি বাড়িয়ে দেয়। চিন্তা করা মানে হচ্ছে, নতুন কিছু করা। আমাদের পাওয়ারফুল যে একটা মস্তিষ্ক রয়েছে তার সঠিক ব্যবহার করা। যারা প্রোগ্রামিং জানে, আর যারা প্রোগ্রামিং জানে না তাদের চিন্তা করার পদ্ধতি ভিন্ন। প্রোগ্রামিং আমরা কীভাবে চিন্তা করি, তাই পরিবর্তন করে দেয়। আমাদের চারপাশ নিয়ে নতুন ভাবে ভাবতে শেখায়।
অনেকগুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে শেখার জন্য। যেহেতু অনেকগুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে শেখার জন্য, তখন চিন্তা আসে কয়টা প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে হবে বা কোনটা শিখব।
কয়টা ভাষা শিখব বা কোন ল্যাঙ্গুয়েজ দিয়ে শুরু করব- এ দুইটা প্রশ্ন নিয়ে অনেক সময় নষ্ট করে ফেলে নতুনরা। অবশ্যই একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে শুরু করতে হবে। একটা ল্যাঙ্গুয়েজ দিয়ে শুরু করলে নিজের সব ফোকাস একটার মধ্যেই থাকবে। সহজেই শেখা যাবে। কোনটা দিয়ে শুরু করবেন, তা নিজের ইচ্ছে। যেটা ভালো লাগে। তা যদি পছন্দ না করতে পারেন তাহলে পাইথন বা সি/সি++ দিয়ে শুরু করতে পারেন। শুরু করার পর আপনি প্রোগ্রামিং কী, কীভাবে করে, কীভাবে লজিক্যাল চিন্তা করা যায় এসব জানা যাবে। এরপর এসব জানতে জানতে এক সময় জানা যাবে কীভাবে গেমস তৈরি করা যায়, কীভাবে মোবাইল অ্যাপ তৈরি করা যায়, কীভাবে সফটওয়ার তৈরি করা যায় ইত্যাদি। এসব যখন জানা যাবে, তখন এত্ত এত্ত জব পেছনে ঘুরঘুর করবে যে, তখন শেষ করেই কুল পাওয়া যাবে না। যারা প্রোগ্রামিং জানবে, তাদের অপেক্ষা করছে সুন্দর একটি ক্যারিয়ার। সেরা একটি ভবিষ্যৎ।
ফ্রিল্যান্সার হিসেবে মার্কেটপ্লেসে কাজ করতে গেলে কিছু কিছু অসুবিধায় পড়তে হতে হয়। আমি নিজের অভিজ্ঞতা থেকে কিছু বলি:
মাঝে মাঝে অনেকগুলো বিড করেও কাজ পাওয়া যায় না। তখন কেমন মন খারাপ হয়ে যায়। আবার মাঝে মাঝে যে কয়টা বিড করি, সবগুলোতেই কাজ পেয়ে যাই। তখন এক সঙ্গে অনেকগুলো কাজ করতে হয়। খাওয়া দাওয়ার কথাও ভুলে যেতে হয়।
চ্যালেঞ্জিং কাজগুলো নিয়ে দেখা যায় একটানা পরিশ্রম করেও কোনো আউটপুট পাওয়া যায় না। যতটুকু পেমেন্ট দেওয়ার এগ্রিমেন্ট হয়েছে, তার থেকে অনেক বেশি পরিশ্রম হয়। যদিও এতে একটা সুবিধে হয়, যেমন অনেক কিছু শেখা যায়। শেখাটাই আবার অন্য প্রজেক্টে কাজে লাগে।
মার্কেটপ্লেসে কাজ করলে একটা সুবিধে হচ্ছে পেমেন্ট এর নিশ্চয়তা। কাজ কমপ্লিট করে দিতে পারলে পেমেন্ট পাওয়া যাবেই। তাই কাজ করে দিয়েছি, পেমেন্ট পাওয়া যায় নি, এমন হয়নি কোনো দিন। মার্কেটপ্লেসে ফিডব্যাক গুরুত্বপূর্ণ। ক্লায়েন্ট যেন খুশি থাকে, সে দিকে সব সময়ই নজর রাখতে হয়। তাই মাঝে মাঝে খারাপ ক্লায়েন্ট পড়লে তারা যা বলে, তা শুনে কাজটা শেষ করতে হয়। এমন ক্লায়েন্ট খুব কমই থাকে, যে এগ্রিমেন্ট এর বাহিরে কাজ করিয়ে নেয়। তবে বেশির ভাগ ক্লায়েন্টই ভালো। যদি বাড়তি কাজ করিয়ে নেয়, তাহলে তার জন্য এক্সট্রা পেমেন্ট দিয়ে দেয়।
ফ্রিল্যান্সিং ক্যারিয়ারে যেটা সবচেয়ে ভালো লাগে, তা হচ্ছে বোনাস পাওয়া। ক্লায়েন্ট কাজে খুশি হয়ে মাঝে মাঝেই এগ্রিমেন্ট পেমেন্ট থেকে বেশি পেমেন্ট করে। কিছু কিছু খারাপ হবে, কিছু কিছু ভালো হবে। এটা নিয়েই তো মানুষের জীবন। ফ্রিল্যান্সিং এ একই। খারাপ ভালো সব মিলিয়ে সুন্দর একটি ক্যারিয়ার।
লেখক : প্রোগ্রামার ও ফ্রিল্যান্সার