5 good skills for developer

৫টি স্কিল যা সব ডেভেলপারের জানা উচিত

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

গিট (Git)

প্রায় সময়ই রিক্রুটাররা জিজ্ঞেস করে গিটের কাজ কি বা গিট সম্পর্কে জানা আছে কিনা। গিটের কজ কি? গিটের কাজ হল ভার্সন কন্ট্রোলিং করা। একটা প্রশ্ন প্রায়শ অনেকেই করে থাকে সেটা হল “গিট ছাড়া কি ভার্সন কন্ট্রোল করা যায় না?” অবশ্যই যায় কিন্তু  বিশ্বের অনেক  ছোট থেকে বড়  প্রতিষ্ঠান গিট ব্যবহার করে থাকে তাদের  কোড রিপোসিটোরি হিসেবে।

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

গিট কিভাবে কাজ করে জানতে চান তাহলে ডিজিটালয় ডট কম এর “গিট শিখুন স্মার্ট ডেভেলপার হউন” টিউটোরিয়াল দেখতে পারেন যা আপনাদের জন্য সম্পুর্ন ফ্রী। গিট ব্যবহার করে কোড এর ফাইল গুলো কোথায় রাখা যায় ? একটি উপায় হলো গিটহাব (github)

গিট হাব ছাড়াও বিটবাকেটেও কাজ করা যায়। বিটবাকেটের সুবিধা হচ্ছে পাঁচজন পর্যন্ত ফ্রীতে প্রাইভেট রিপোসিটোরিতে কাজ করা যায়। গিট হাবে ফ্রীতে প্রাইভেট রিপোসিটোরি তৈরী করা যায় না । তবে আপনি যদি স্টুডেন্ট হন তাহলে গিট হাবে আপনার স্টুডেন্টশিপ থাকা প র্যন্ত ফ্রী একাউন্ট পেতে পারেন। তবে দুটোর মধ্যে গিট হাবে কাজ করাই আমার মতে ভালো।


ডেটাবেজ (Database)

ওয়েব ডেভেলপার কিংবা backend ডেভেলপার যেভাবেই কাজ করুন, ডেটাবেজ সম্পর্কে জ্ঞান থাকা জরুরি। বিভিন্ন রকম ডেটাবেজের এর মধ্যে বহুল ব্যবহৃত ডেটাবেজ হলো  MySQL। সাধারনত কোম্পানি গুলোতে ডেটাবেজ এডমিনিস্ট্রেটর বা অন্য কোন এক্সপেরিয়েন্সড ডেটাবেজ এক্সপার্ট থাকতে পারেন। তবুও একজন ডেভেলপার হিসেবে ডেটাবেজ সম্পর্কে অবশ্যই জানা উচিত।

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

ওআরএম, প্রোগ্রামিং এর সাথে রিলেটেড যার অর্থ হল “অবজেকট রিলেশনাল ম্যাপিং”। যেভাবেই শিখুন না কেনো  মুল কথা হচ্ছে র SQL বা No SQL যেকোনোটাই শিখে রাখা জরুরী। সব জানতে হবে এমন কোনো কথা নেই কিন্তু SQL বা No SQL কি কাজ করে এবং কেন ব্যবহার করা হয় এসব জানা থাকাটা অবশ্যই প্রয়োজন। ডেভেলপার হিসেবে সব কিছুই জানা থাকা অসম্ভব কিন্তু যা ঘটছে বা নতুন যা আসছে সে সম্পর্কে একটু আইডিয়া থাকলেই প্রতিযোগিতায় এগিয়ে থাকা যায়।

টেস্টিং (Testing)

ডেভেলপার হিসেবে আমাদের অনেক সময় মনে হয় যে কোড লিখে ফিচার তৈরি করাটাই বেস্ট কাজ। কিন্তু আমরা কখনোই আশা করি না যে, কেউ আমার কোড টেস্ট করুক। কিংবা  টেস্টার বা অটোমেটিক টুল ব্যবহার করে আমার কোড ফেইল করুক।

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

ডিজিটালয় ডট কম এ রিয়েক্ট কোর্স আছে তাঁর সাথে তাল মিলিয়ে আমরা চাইলেই ইউনিট টেস্টিং ব্যবহার করতে পারি। যেমন জেস্ট। তাছাড়া কোনো ওয়েবসাই্টের বা মোবাইল অ্যাপের যেকোনো টেস্ট কেস যদি লিখতে চান তাহলে ওয়েবড্রাইভার  ব্যবহার  করতে পারেন।

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

কমান্ডলাইন (Command Line)

অনেক ডেভেলপার এর নিজের দক্ষতা  দেখানোর অন্যতম পন্থা হলো command লাইন এর দক্ষতা।  আর যারা লিনাক্স ব্যবহার করতে পছন্দ করেন তাদের তো কোনো কথাই নেই। অনেক সময় দেখা যায় এমন সার্ভার থাকে যেখানে এফটিপি নেই। এক্ষেত্রে আপনার লোকাল মেশিন থেকে সার্ভারে ফাইল ট্রান্সফার করতে হয়। এমন অবস্থায় আপনি কি করবেন?

লোকাল মেশিন থেকে সার্ভারে ফাইল ট্রান্সফার এর জন্য আরসিঙ্ক (rsync) ব্যবহার করা যায়। কিংবা সার্ভারে এসএসএইচ (SSH) ব্যবহার করে লগইন করতে পারেন। তারপর ঐ সার্ভার থেকে গিট ব্যবহার করে গিটহাব থেকে ফাইল  ডাউনলোড করতে পারেন।

মূল কথা  হল কমান্ড প্রম্পট এর কিছু ব্যাসিক জেনে রাখা ভালো। কেন বিভিন্ন কমান্ডে বিভিন্ন ধরনের আউটপুট শো করছে? কিভাবে ফাইল নেইম বা এক্সটেনশন ব্যবহার করে ফাইল খোজা যায়?  এসএসএইচ (SSH) ব্যবহার করে কিভাবে সার্ভারে লগইন করা যায়? এসব সম্পর্কে ভালো জ্ঞান থাকলে DevOps হিসেবে কাজ করা সহজ। এসব জানা থাকলে কোম্পানি আপনাকে ছাড়বেনা। তারা ভাববে আপনি কোম্পানির জন্য একটি এসেট এবং কোম্পানি আপনাকে ছাড়া চলতে পারবেনা।

একের অধিক প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখা

ফ্রীকোডক্যাম্পে এর একটি আর্টিকেল এ দেয়া আছে ২০১৮ তে  কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলো ট্রেন্ডিং বা হট আইটেম। প্রথমেই আছে জাভাস্ক্রিপ্ট, সুইফট, পাইথন, জাভা, এবং সি++।

আপনি হয়ত একটি ল্যাংগুয়েজে কাজ করেন।

কিন্তু,

তাঁর মানে এই না যে আপনি অন্য ল্যাঙ্গুয়েজ সম্পর্কে জানবেন না।

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

এই পাচটি বিষয় জানা থাকলে আপনি চাকুরি ক্ষেত্রে অবশ্যই সুবিধা পাবেন। এসব ছাড়াও আপনি চাইলেই আরো এডভান্সড কোর্স করতে পারেন যেমন রিয়েক্ট। ডিজিটালয়ের রিয়েক্টের কোর্সে জাভা স্ক্রিপ্টের কিছু ব্যাসিক কনসেপ্ট ও আলোচনা করা হয়েছে যাতে রিয়েক্টের সাথে জাভা স্ক্রিপ্ট ও শেখা যায়।

আশা করি আমাদের এই টিপস আপনাদের ভালো লেগেছে। অন্যদের সাহায্য করতে চান? তাহলে শেয়ার করুন আপনার পছন্দের সোশ্যাল মিডিয়া তে।

নতুন টিপস সম্পর্কে জানতে চাইলে সাবস্ক্রাইব করুন আমাদের youtube চ্যানেল digitaloy-এ

আমাদের কোর্স গুলো করেছেন কি?

Your Comments
+