প্রোগ্রামিং শিখতে কতদিন সময় লাগে অথবা আমি প্রোগ্রামিং শেখা শুরু করলে কতদিন সময় লাগবে আমি নিজেকে চাকরি বা ইন্টার্নের দরজা পর্যন্ত নিয়ে যেতে। সেই বারনিং পশ্নের উত্তরের দেব। তো প্রথমেই তোমাকে যেটা বুঝতে হবে যে তোমার প্রোগ্রামিং শিখতে কতদিন সময় লাগবে। এটা অনেকটা নির্ভর করবে তুমি কোন পন্থা দিয়ে প্রোগ্রামিং শেখা শুরু করছেন। সুতরাং প্রোগ্রামিং শিখার আলাদা পন্থাকে আমি মোটামুটি 4 টা আলাদা আলাদা ক্যাটাগরিতে ভাগ করেছি।
1. DEGREE BASED APPROACH : যেটা সবথেকে সাধারণ পন্থা সেটা হচ্ছে ডিগ্রি বেস্ট পন্থা। অর্থাৎ তুমি কোন একটা ইউনিভার্সিটিতে বা কোন একটা ইনস্টিটিউটে যাবে সেখানে তুমি কম্পিউটার সায়েন্সে ভর্তি হবে, সেখানে পাঠ্যক্রমের মধ্য দিয়ে ধারাবাহিক ভাবে মোটমুটি আন্তরিকভাবে ক্লাসে পড়াশোনা করবে। আন্তরিকভাবে তোমাকে যে প্রজেক্ট বা অ্যাসাইনমেন্ট দেয়া হবে সেটা আপনি করবে। এই প্রক্রিয়ায় যদি তুমি চালিয়ে যাও তাইলে মোটামুটি তোমার ডিগ্রী টা শেষ করতে অর্থাত প্রোগ্রামার হতে 4 বছরের মতো সময় লাগবে।
2. SELF-GUIDED SEMI-DISTRACTED APPROACH : এটা হচ্ছে যে তুমি শিখছো হালকা আন্তরিকভাব এবং মোটামুটি লাইনের কাছাকছি নিজেকে রাখছো। তবে যেহেতু তুমি স্ব-নির্দেশিত শিখছো সেহেতু তুমি বিভিন্ন সময়ে নানা রকম জায়গা থেকে শেখার সম্পদ জোগাড় করছো। হয়তো ইউটিউবে হঠাৎ করে একটা প্লেলিস্ট পেয়োছো। সেটা ধরে ধরে তুমি প্র্যাকটিস করছো। কোন একটা জায়গায় আটকে গেলে হয়তো তোমার তিন চারদিন পাঁচ দিন সময় লেগে যাচ্ছে ওই প্রবলেমটা সলভ করার জন্য বা বিভিন্ন জায়গায় যাচ্ছে ওই সমস্যাটা সমাধান করতে। বা বিভিন্ন জায়গায় যাচ্ছো সেখান থেকে কিছুটা গাইড পেয়ে হয়তো তুমি আসছো। আবার কিছুদিন হয়তো তুমি ফ্রন্ট এন্ড ডেভেলপমেন্ট করার পরে তোমার মনে হলে আরেকজন বলছে ব্যাকেন্ডে যাওয়ার জন্য তুমি সেখানে গেলে। আবার কিছুদিন সেখানে যাওয়ার পর আরেকজন বলেছেন না না ডেটা স্ট্রাকচার খুব বেশি গুরুত্বপূর্ণ, তুমি সেখানে চলে গেলে। কেউ আর একজন বললো না না ওই দিকে যাওয়ার দরকার নেই তোমাকে রিএক্ট শেখা দরকার। এখানে সেল্ফ গাইড্ডেট আছো কিন্তু আসল মোটামুটি মনসংযোগ হারাচ্ছো। কিছু দিন এটা একটু শিখলে আবার কিছু দিন এটা একটু। এইভাবে তুমি কিন্তু এগোচ্ছো কিন্তু একদম সম্পূর্ণ নিবেদিত নির্ধারিত পথে নেই। সেজন্য তোমার মোটামুটি দুই থেকে আড়াই বছর সময় লেগে যাবে। একটা যুক্তিসঙ্গত পর্যায়ে যাওয়ার জন্য। তারপর আবার চাকরি খোঁজার জন্য কিছু সময় তো অবশ্যই তোমাকে দিতে হবে।
3. FULLY COMMITTED CLOSED DOOR APPROACH : অর্থাৎ তুমি 100% নির্ধারিত যে তুমি ঠিক কি ধরনের ডেভলপার হতে চাও এবং সেই রাস্তাটা তোমার সম্পূর্ণভাবে নির্ধারিত অর্থাৎ হইতে পারে যে তুমি মিন্সটেক দিয়ে ওয়েব ডেভেলপার হবে। অথবা তুমি হচ্ছে PHP দিয়ে এই ধরনের ডেভেলপার হবে। অথবা পাইথন দিয়ে Django ডেভলপার হবে। বা তুমি Java বা Kotlin দিয়ে অ্যাপ ডেভেলপার হবে। অর্থাৎ তোমার সম্পূর্ণরূপে প্রতিশ্রুতিবদ্ধ রাস্তা আছে এবং সেই রাস্তার জন্য রিসোর্স তোমার কাছে আছে। সেটা অনেক গুলা কোর্স হতে পারে, সেটা যেকোন জায়গা থেকে তুমি হয়তো জোগাড় করেছো, বা কিনেছো অথবা ইউটিউব এর অনেকগুলো লিমিটেড তথ্য থেকে পেয়েছো। কিন্তু তোমার রাস্তাটা সম্পূর্ণভাবে নির্ধারিত। আর তোমার মোটামুটি একটা নিজস্ব গন্ডি আছে যাদের কাছ থেকে তুমি কিছুটা হেল্প পেতে পারো। সেক্ষেত্রে তুমি মোটামুটি ক্লোজডোর মানে কি, তুমি এখানে প্রায় প্রত্যেকদিন ছয় থেকে আট ঘণ্টা সময় দিচ্ছো এবং মোটামুটি এটাই তোমার প্রাইমারি কাজ। তাইলে তোমার মোটামুটি এক বছর বা তার কাছাকাছি সময় লাগবে এই প্রোগ্রামিংয়ের জিনিসটাকে আয়ত্ত করতে। তাডহলে এটা গেল নাম্বার 3 অ্যাপ্রচ।
4. EXTERNALLY GUIDED FULLY FOCUSED APPROACH : অর্থাৎ তোমাকে বাহ্যিকভাবে কোন একজন বা একাধিক ব্যক্তির ফুলটাইম কাজ হবে যে, তোমাকে গাইড করা। প্রত্যেকদিনই কখন কোন জিনিসটা শেষ করতে হবে। কোন জিনিসে আটকে গেলে তুমি দ্রুততার সঙ্গে সেখান থেকে হেল্প পেতে পারো। কোন একটা জিনিস বুঝতে গেলে তোমাকে বিভিন্ন জায়গা থেকে বিভিন্ন ইউটিউব ভিডিও ঘেঁটেঘুঁটে এখানে কিছু বুঝলাম, ওখানে কিছু বুঝলাম না, এখান থেকে বিভ্রান্ত হয়ে গেলাম। এরকম অবস্থার সম্মুখীন না হয়ে তুমি তাদের কাছে যেতে পারো। তারা তোমাকে মোটামুটি এক্সপ্লেইন করে দিচ্ছে, আবার তোমাকে প্রাক্টিসেসের টাক্সগুলো দিয়ে দিচ্ছে। তোমাকে স্পেশাল প্রজেক্ট দেয়া হচ্ছে। যেগুলো তুমি অনটাইমে শেষ করতে পারছো এবং এই কাজটা তুমি মোটামুটি তোমার জিবনে সবচেয়ে গুরুত্বপূর্ণ এবং ফুলটাইম অ্যাপ্রচ দিয়ে অর্থাৎ ডেইলি 8 থেকে 10 ঘণ্টা লাগেলে আরো বেশি। মাঝেমধ্যে আরো বেশি বেশি সাহায্য নিয়ে, এক্সট্রা কনসেপ্ট গুলি ক্লিয়ার করে এই অ্যাপ্রচ এ তুমি যদি চাও। তাহলে তোমার মোটামুটি 6 থেকে 8 মাসের মধ্যে অনেক এগিয়ে যেতে পারবে। যদি তোমার একটি অল্পসল্প গাইড থাকে। অর্থাৎ তুমি যদি চিন্তা করেছে ওয়েব ডেভলপমেন্টে বলো তোমাকে যখনই কন্টিনিয়াস লার্নিং এর মত একটা বুটক্যাম্প এর মধ্যে তুমি থাকবে। তখন কিন্তু তোমার স্বয়নে স্বপনে জাগরণে মোটামুটি এই জিনিসটাই চলবে। সে ক্ষেত্রে শেখার জন্য 6 থেকে 8 মাসের মধ্যে নিয়ে আসতে পারবে। তবে আমি যে এই চারটা অ্যাপ্রচে টাইম এর কথা বলছি। এই টাইমটা একশো শতাংশ সবাই একদম ওই সময়ের মধ্যেই কমপ্লিট করে ফেলতে পারবেন সেটার কোন গ্যারান্টি নাই।
কারণ হচ্ছে দেখো কেউ একজন হয়তো চার বছরের টার্গেট নিয়ে একটি ইউনিভার্সিটি তে গেল এবং তার জিপিএ মোটামুটি 3.25 থেকে 3.5 এর কাছাকাছি। তবে এদের সবাইয়ে প্রোগ্রামার হয়ে যাবে এমন কোন গ্যারান্টি নাই। দেখা যাবে, যে কোন একটা ইউনিভার্সিটি তুমি যদি হচ্ছে থার্টি পার্সেন্ট শিক্ষার্থীর এর কাছে যাও তারা প্রোগ্রামিং শুনলে অন্যদিকে উল্টেদিখে দৌড়ে পালাবে। অথচ তারা চার বছর ধরে ধরে লাখ লাখ টাকা দিয়ে ওখানে কিন্তু কম্পিউটার সাইন্সে পড়াশোনা করছে। একই ভাবে তুমি যদি সেল্ফ-গাইডেড কিন্তু সেমি ডিসটাক্টেট হয়ে যাও। তুমি দুই আড়াই বছরের মধ্যে অনেক কিছুই করে ফেলতে পারবে। আবার 20-30 শতাংশ বলবেন না এটা আমার জন্য না। একইভাবে তুমি যদি হচ্ছে ফুল্লি কমিটেড ক্লোজডোর অ্যাপ্রচ এ যাও তাইলে কিন্তু তোমাকে এক বছরের কাছাকাছি সময় করে ফেলতে পারবে। কিন্তু কারও কারও লাইভ সিচুয়েশনে কারণে এক্সটার্নালি সমস্যার কারণে হয়তো অসুস্থ হয়ে যায়, হয়তো ফ্যামিলি কোন ইভেন্ট হয়েছে, কোন একটা কারণ এ সময় আরো বেশি লেগে যেতে পারে বা ল্যাপটপ নষ্ট হয়ে গেছে বা ল্যাপটপ চুরি হয়ে গেছে অনেক কিছু করতে লাইফে ঘটতে পারে।
আরও পড়ুন: পাইথন প্রোগ্রামিং কি ? আর আপনি পাইথন প্রোগ্রামিং দিয়ে কি করতে পারবেন? আর কেন পাইথন এতটা জনপ্রিয়?
একই ব্যাপার ঘটতে পারে এক্সট্রনালি গাইডেড ডিসিপ্লিন ইনভারমেন্ট কিছু কিছু মানুষের বেশি সময় লেগে যেতে পারে। কিন্তু বেশিরভাগ ক্ষেত্রে যেটা দেখে যায় সেখানে ছয় থেকে আট মাসের মধ্যে যারা সম্পূর্ণভাবে মনঃসংযোগ দিয়ে কাজ করে তাদের অনেকেই এই জিনিসটা পার করে ফেলতে পারে। সুতরাং এখন থেকে তোমার প্রথম প্রশ্ন হওয়া উচিত না যে আসলে প্রোগ্রামার হতে গেলে তোমার কতদিন সময় লাগবে। তবে তোমার প্রথম প্রশ্ন হওয়া দরকার যে আমি যদি প্রোগ্রামার হতে চাই আমার কোন লাইনে প্রোগ্রাম হইতে হবে এবং সেই লাইনে প্রোগ্রামার হওয়ার জন্য আমার কি কি জিনিস শিখতে হবে। তো কি কি জিনিস শিখতে হবে। তো কি কি জিনিস শিখতে হবে তার আউটলাইনটা তুমি যখন নিয়ে নিতে পারবে। তারপর তৃতীয় প্রশ্নটা তোমার হওয়া উচিত এই জিনিসগুলোর রিসোর্স আমি কোন জায়গায় পাব। সেটা যদি তুমি কোন জায়গা থেকে জোগাড় করতে পারো তারপর তুমি শুরু করে দাও। আর তুমি যদি সম্পূর্ণভাবে একাগ্র এবং মনঃসংযোগ থাকে তবে কিছুদিন বাদে দুই মাস অথবা তিন মাস বেশি সময় লাগতে পারে। আবার 2 থেকে 4 মাস সময় কম লাগতে পারে। কিন্তু তোমাকে আগে থেকে টাইম ব্লক করে ফেলার দরকার নাই যে, আচ্ছা আমি যদি 6 মাসের মধ্যে না হইতে পারি এই লাইন ছেড়ে চলে যাব বা আমি যদি এক বছরের মধ্যে হতে না পারি।
আমি গিয়ে মুড়ি ভাজা শুরু করে দিব। তাইলে তোমার আসলে এই লাইনে আসা কথা চিন্তা করার দরকার নাই। কিন্তু তোমার যে এটা মোটামুটি নিশ্চিত করা দরকার যে প্রথম কিছুদিন চেষ্টা করে যাচ্ছে আমি নিজে নিজে ইউটিউব বা বিভিন্ন জায়গাতে পারি কিনা। যদি পারো তবে খুব ভালো চালিয়ে যাও। যদি না পারো তাহলে তুমি চিন্তা করে দেখতে পারো যে বিভিন্ন জায়গায় গাইডেড টা তুমি কোথা থেকে পাইতে পারো। এর মধ্যে কোন গাইড গুলি তোমার জন্য ভালো হতে পারে। বুঝে শুনে সে রকম কিছু তুমি গ্রহণ করতে পারো। মেন অ্যাপ্রচ টা হচ্ছে যে তোমার ডিটারমিনেশন এবং তোমার কমিটমেন্ট তারপর বাকিটা তোমার এবিলিটি এবং কিছুটা তোমার উপর ভাগ্যের উপর ডিপেন্ড করে বোঝা যাবে যে তোমার এগজ্যাক্টলি কতটুকু সময় লাগবে। তোর সময় নিয়ে তুমি আটকে থেকনা। তোমার ডেডিকেশন, এফোর্ট এবং কমিটমেন্ট নিয়ে লেগে থাক। তাহলে তোমার দ্বারা, তোমার টার্গেট টা পুরন করা সম্ভব হবে।
আরও পড়ুন: এলন মাস্ক কীভাবে বিটকয়েন স্ক্যাম করেছিলেন ? এলন মাস্কের কৌশল, কেন বিটকয়েন ক্র্যাশ হয়েছে?
একটি মন্তব্য পোস্ট করুন