কিভাবে প্রোগ্রামিং শিখবেন? কীভাবে প্রোগ্রামার হবেন?

অনেকেই প্রোগ্রামিং শিখতে চান এবং নিজেকে একজন প্রোগ্রামার হিসেবে প্রতিষ্ঠিত করতে চান! কিন্তু তাঁরা বুঝতে পারছেন না কীভাবে প্রোগ্রামিং শুরু করবেন এবং কীভাবে একজন ভালো প্রোগ্রমার হওয়া যায়! আসলে একটা কথা আমি সবসময়েই বলে থাকি আর সেটা হচ্ছেঃ

আপনি যদি প্রসিডিউর জানেন, আপনি যদি ধাপে ধাপে কাজ করতে জানেন, তাহলে আপনি যেকোনো কিছু, হ্যা আবারো বলছি, যেকোনো কিছু শিখতে পারবেন!

তো, প্রোগ্রামিং শেখার জন্যে আপনার মূলত চারটি কোর/মূল/রুট ধাপ কমপ্লিট করতে হবে। এই চারটি ধাপের মধ্যে প্রত্যেক ধাপে আবার কিছু উপ-ধাপ কমপ্লিট করতে হবে।

প্রথম ধাপটি হচ্ছে, কোডিং করা শিখতে হবে!

এই ধাপের মধ্যে উপধাপগুলো হচ্ছেঃ

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

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

 

 

দ্বিতীয় ধাপ হচ্ছে, ফ্রেমওয়ার্ক শিখুন।

এই ধাপের মধ্যে উপ ধাপ গুলো হচ্ছেঃ

  • যেকোনো একটি ফ্রেমওয়ার্ক বাছাই করুন। যদি আপনার ওয়েব পছন্দ হয় তাহলে ওয়েবের ফ্রেমওয়ার্ক (যেমনঃ এঙ্গুলার, এঙ্গুলার জেএস, রুবি অন রেইলস, য়ি, মেটেওর, এক্সপ্রেস জেএস ইত্যাদি) গুলো থেকে যেকোনোটি বাছাই করুন। আর আপনার যদি গেইমিং পছন্দ হয় তাহলে গেইমের ফ্রেমওয়ার্ক (যেমনঃ ইউনিটি, করোনা এসডিকে, স্প্রাইট কিট, ককোস টুডি, নেক্সট পির, ক্রাই ইঞ্জিন ইত্যাদি!) গুলো থেকে যেকোনোটি বাছাই করুন। আর তাছাড়া চাইলে আপনি যেকোনো একটি র‍্যান্ডম ফ্রেমওয়ার্ক (যেমনঃ মাইক্রোসফট ডট নেট, ওয়েব টু পাই, চেরি পাই, ভাইব ডট ডি, একটিভ এক্স, স্ন্যাপ, এডো ডট নেট ইত্যাদি) ও বাছাই করতে পারবেন।
  • বুট ক্যাম্পিং করবেন নাঃ আপনি যদি সত্যিকার অর্থেই আপনার থেকে ভালো কিছু পেতে চান বা বের করতে চান তাহলে বুট ক্যাম্পিং করবেন না। কারন, বুট ক্যাম্পিং এ তারা আপনাকে প্রোগ্রামার হিসেবে তৈরী করবে না। তারা আপনাকে কিছু ফ্রেমওয়ার্ক শেখাবে যেগুলো দ্বারা আপনি কোনও কোম্পানিতে জয়েন করতে পারবেন। তাই প্রথম স্টেপ না করে বুট ক্যাম্পিং করতে যাবেন না কিংবা ফ্রেমওয়ার্ক শিখতে যাবেন না।

 

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

blank

 

তৃতীয় ধাপ হচ্ছে, সফটওয়্যার ডিজাইন করতে শেখা। এই ধাপই হচ্ছে সফটওয়্যার ইঞ্জিনিয়ারিং!

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

 

 

চতুর্থ ধাপ হচ্ছে, কিছু সফট স্কিল/প্রয়োজনীয় দক্ষতা শেখা।

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

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