Web Weave

Web Weave Contact information, map and directions, contact form, opening hours, services, ratings, photos, videos and announcements from Web Weave, Web designer, Dhaka.

21/10/2023

⛔ স্কিল ডেভেলপমেন্টে কখনোই তাড়াহুড়া করা উচিৎ নয়।

✅ বরং যতদিন লাগে ততদিন টাইম দেয়া উচিৎ। এমনকি যদি এক বছরও সময় লাগে, তাহলেও সে সময়টা দেয়া উচিৎ।

✅ কেন জানেন? কারণ সাকসেসফুল ফ্রিল্যান্সার হতে চাইলে স্কিল আপনার সবচেয়ে বড় অ্যাসেট।

⛔ স্কিল না থাকলে আপনার কোনো ভ্যালুই থাকবেনা, এমনকি সারভাইভ করাই ডিফিকাল্ট হয়ে যাবে।

আমি অনেককে দেখেছি কিভাবে শর্টকাটে স্কিল ডেভেলপ করা যায় সেই প্রসেস জানতে চান।

আসলেই যদি এই ফিল্ডে শেখার কোনো শর্টকাট থাকতো, তাহলে অল্প দিনেই সবাই সাকসেসফুল হয়ে যেতেন।

✅ মনে রাখবেন, আপনার পুরো রুটিরুজিই কিন্তু এই স্কিলের ওপর নির্ভরশীল। তাই স্কিল ডেভেলপমেন্টে কোনো কমপ্রোমাইজ করাই যাবেনা!

২০২৩ সালে একজন ফ্রন্ট এন্ড ডেভেলপারের ডিমান্ড ও সুযোগ-সুবিধা!ফ্রন্ট-এন্ড ডেভেলপমেন্ট একটি ক্রমবর্ধমান ক্ষেত্র, এবং আগামী...
09/10/2023

২০২৩ সালে একজন ফ্রন্ট এন্ড ডেভেলপারের ডিমান্ড ও সুযোগ-সুবিধা!

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

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

দ্বিতীয়ত, মোবাইল ডিভাইসের ব্যবহার বৃদ্ধি পাচ্ছে, যার মানে হল যে ওয়েবসাইটগুলিকে মোবাইল-ফ্রেন্ডলি হতে হবে সেক্ষেত্রে একজন ফ্রন্ট ডেভেলাপারের চাহিদা বেড়ে চলছে।

ওয়েব ডেভেলপারদের মার্কেট ডিমান্ডঃ
2023 সালে, ওয়েব ডেভেলপমেন্টের বাজারের আকার আনুমানিক $100 বিলিয়ন বিলিয়ন ডলার marketgrowthreports, com এর রিপোর্ট অনুযায়ী। আগামী পাঁচ বছরে, এই বাজারের আকার $125 বিলিয়নে পৌঁছাবে বলে আশা করা হচ্ছে। যার কারনে আগামীতে প্রচুর ফ্রন্ট এন্ড ডেভেলপমেন্টের চাহিদা তৈরী হবে এক্সপার্টদের ধারনা মতে
ফ্রন্ট এন্ড ডেভেলপারদের জন্য বেশ কয়েকটি সুযোগ সুবিধা রয়েছে, যার মধ্যে রয়েছে:

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

উচ্চ বেতন: ফ্রন্ট এন্ড ডেভেলপারদের জন্য বেতন সাধারণত ভাল হয়। একজন ফ্রন্ট এন্ড ডেভেলপারের গড় বেতন বছরে 50,000 থেকে 100,000 ডলার পর্যন্ত হতে পারে ইউরোপ/আমেরিকাতে এবং বাংলাদেশে বছরে 3,00,000 থেকে 10,00,000+ পর্যন্ত আয় করা যেতে পারে স্কিল ও এক্সপেরিয়েন্স অনুসারে।

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

কাজের স্বাধীনতা: ফ্রন্ট এন্ড ডেভেলপাররা বিশ্বব্যাপী কাজ করার সুযোগ পান। তারা অনলাইনে কাজ করতে পারে বা বিভিন্ন দেশ ভ্রমণ করতে পারে প্রায়শই স্বাধীনভাবে কাজ করতে পারে। তারা তাদের নিজের সময়সূচী এবং কাজের পরিবেশ বেছে নিতে পারে

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

একজন ভালো ডেভেলপার হওয়ার জন্য যে ১০টি স্কিল প্রয়োজন!১. প্রোগ্রামিং নলেজ: মিনিমাম একটা প্রোগ্রামিং ল্যাংগুয়েজ তোমাকে দক্ষ...
03/10/2023

একজন ভালো ডেভেলপার হওয়ার জন্য যে ১০টি স্কিল প্রয়োজন!
১. প্রোগ্রামিং নলেজ: মিনিমাম একটা প্রোগ্রামিং ল্যাংগুয়েজ তোমাকে দক্ষ হতেই হবে। এবং দরকার হলে সেই একটা প্রোগ্রামিং ল্যাংগুয়েজ এর আশেপাশে কিছু জিনিস থাকলে সেগুলাও জানতে হবে। যেমন, ওয়েব ডেভেলপার হতে হলে তোমাকে জাভাস্ক্রিপ্ট জানতে হবে। সেটার আশেপাশে HTML, CSS থাকবে; সেগুলাও জানতে হবে। এন্ড্রয়েড ডেভেলপার হওয়ার জন্য Kotlin বা জাভা জানতে হবে। ডাটা সায়েন্স বা মেশিন লার্নিং এ ভালো হওয়ার জন্য পাইথন লাগবে। গেম ডেভেলপার হওয়ার জন্য C # বা C++ শিখতে হবে। ডাটাবেজ এর জন্য mySQL বা Mongodb বা postgresql শিখতেই হবে। কোন মাফ নাই। অর্থাৎ তোমারক একটা মেইন ফিল্ড থাকবে সেটার জন্য মেইন যে প্রোগ্রামিং ল্যাংগুয়েজ সেটার খুঁটিনাটি, নাট বল্টু, কাপ পিরিচ সব জানতে হবে।
২. ফ্রেমওয়ার্ক: যে যত কথাই বলুক না কেন, ফ্রেমওয়ার্ক ছাড়া সফটওয়্যার ডেভেলপ করতে পারবে না। যেমন, ওয়েব ডেভেলপমেন্ট এর জন্য React বা Vue বা Next.js লাগবে। পাইথনের ব্যাকএন্ড করতে গেলে Django বা Flask লাগবে। জাভা দিয়ে বেশি কাজ করতে গেলে Spring Boot বা Hibernate বা অন্য কিছু লাগবে। Php এর সাথে লারাভেল লাগে। ক্রস প্লাটফর্ম মোবাইল এপ বানাতে গেলে React Native বা Flutter লাগবে। গেম ডেভেলপ করতে Unreal Engine বা Unity লাগবে।
মোটামুটি ৯০% সফটওয়্যার এর জন্যই বলা যায়: ফ্রেমওয়ার্ক ছাড়া সফটওয়্যার ডেভেলপ হবে না। বাকি যে ১০% এ ফ্রেমওয়ার্ক ইউজ হয় না। সেই ১০% এ হয় raw ল্যাংগুয়েজ দিয়ে ফ্রেমওয়ার্ক বানাইতেছে অথবা ক্রেজি লেভেলের কিছু বানাচ্ছে।
আর ফ্রেমওয়ার্ক এতো বেশি ইউজ করার সবচেয়ে বড় কারণ হচ্ছে, ডেভেলপমেন্ট এর প্রোডাক্টিভিটি, বেষ্ট প্রাকটিস, ফ্রেমওয়ার্ক প্রচুর টেস্ট করা থাকে বলে সেটাতে বাগ অনেক কম হয়, গাইডলাইন পাওয়া যায়, আরো অনেক কিছু।
৩. ফান্ডামেন্টালস এবং প্রব্লেম সলভিং:
লংটার্মে ভালো ডেভেলপার হতে গেলে ডাটা স্ট্রাকচার, এলগরিদম, OOP, ডিজাইন প্যাটার্ন, সফটওয়্যার আর্কিটেকচার সম্পর্কে ধারণা থাকতেই হবে। বিশেষ করে arrays, linked lists, stacks, queues, trees, graphs এর মতো ডাটা স্ট্রাকচার। Searching, Sorting, Dynamic programming, Tree রিলেটেড এলগরিদম, এবং Time complexity কিভাবে বের করতে হয়। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর প্রিন্সিপালগুলা এপ্লাই করতে জানতে হবে। ডিজাইন প্যাটার্ন সম্পর্কে জানবে। সফটওয়্যার ডেভেলপমেন্ট প্রিন্সিপাল সম্পর্কে জানবে।
অল্প হলেও প্রব্লেম সলভিং করবে। বিশেষ করে বেসিক প্রোগ্রামিং, ডাটা স্ট্রাকচার, এলগরিদম বুঝার জন্য হলেও অল্প কিছু হলেও প্রব্লেম সল্ভ করার চেষ্টা করতে হবে।
সেজন্যই হয়তো দেখবে: কমিউনিটির অনেক সিনিয়র ডেভেলপাররা প্রায়ই প্রোগ্রামিংয়ের ফান্ডামেন্টালস জিনিসগুলো শেখার গুরুত্ব নিয়ে কথা বলে। তাই সময় সুযোগ বের করে তোমার এই জিনিসগুলো শেখা উচিত। সেটা তুমি চাইলে ইউটিউব থেকে খুঁজে খুঁজে বের করে শিখতে পারো। অথবা একটা গাইডেড লার্নিং প্লাটফর্ম এক বছর ডেডিকেটেড সময় দিয়ে ভালোভাবে শিখতে চাইলে, শত শত প্রব্লেম সল্ভ করতে চাইলে সেপ্টেম্বর ২৪ এর মধ্যে ঝাঁপিয়ে পড়ো https:// phitron. io ওয়েবসাইট এ।
৪. গিট/গিটহাব (সোর্চ কন্ট্রোল)
সোর্চ কোড এর রিপো তৈরি করা, ক্লোন করা। কোড কমিট করা। পুশ, পুল, স্টেটাস এবং লগ চেক করা। ব্রাঞ্চ ক্রিয়েট করা, চেকআউট করা,মার্জ করা, কনফ্লিক্ট হলে সেটা রিজল্ভ করা। কোড রিভিউ, পুল রিকুয়েস্ট মার্জ করা। দরকার হলে কমিট ডিলিট করা, রিবেইজ করা। .gitignore, README, একটু আধটু MarkDown, এই জিনিসগুলা জুনিয়র ডেভেলপারদের জানতেই হবে।
গিটহাব বা গিট্ল্যাব যেটাই হোক না কেন, গিট্ ছাড়া সফটওয়্যার ডেভেলপ করাই পসিবল না।
৫. ডিবাগিং, টেস্টিং, , Error Handling
প্রথমত এরর মেসেজগুলা পড়তে হবে। প্রথম প্রথম এরর মেসেজ না বুঝলেও পড়তে হবে। তারপর এরর মেসেজ গুগল, github issues বা chatGPT তে দিয়ে সেখান থেকে সমাধান খুঁজে বের করে আনার এবিলিটি তৈরি করতে হবে। শুরুর দিকে কোন একটা এরর সল্ভ করতে অনেক লম্বা সময় লেগে যাবে। তারপরেও ধৈর্য্য ধরে এরর সল্ভ করার চেষ্টা করে যেতে হবে।
বাগ ফিক্সিং করা তো জানতেই হবে।
এছাড়া সব প্রোগ্রামিং ল্যাংগুয়েজ এই মিনিমাম একটা ইউনিট টেস্টিং লাইব্রেরি আছে। যেমন জাভাস্ক্রিপ্ট এ Jest, mocha, Jasmine, পাইথন এ pytest, জাভা তে jUnit এ। সো, তুমি যেই প্রোগ্রামিং ল্যাংগুয়েজ শিখতেছো সেটার ইউনিট টেস্ট কিভাবে কাজ করে সেটা সম্পর্কে ধারণা নিবে। বিশেষ করে Positive Test, Negative Test, Boundary Test, Corner Case, এইগুলা সম্পর্কে ধারণা নিবে। কোড কভারেজ বের করতে পারলে খুবই ভালো।
এছাড়া নিজের কোড এর আউটপুট নিজে নিজে টেস্ট করতে জানতে হবে। বিশেষ করে যে কোড লিখলাম সেটা ঠিক মতো কাজ করতেছে কিনা সেটা বুঝতে না পারলে তো ডেভেলপারই হওয়া যাবে না।
ডিবাগিং কিভাবে করে। বিশেষ করে ব্রেক পয়েন্ট। ফাংশনের মধ্যে স্টেপ ইন, স্টেপ আউট। কোন কিছু লগ পড়লে। স্ট্যাক ট্রেস করা, ইস্যু রিপ্রোডিউস করার সিস্টেম জানতে হবে।
এর পাশাপাশি কোন এরর হলে, কিভাবে এরর হ্যান্ডেল করবে, এরর মেসেজ দেখাবে। বা error থ্রো করে আবার দরকার হলে এরর ক্যাচ করবে। এই জিনিসগুলো দেখবে।
৬. সার্ভার, ডাটাবেজ, devops:
Server কিভাবে কাজ করে, HTTPS কি জিনিস, API কি, ডাটাবেজ আর ব্যাকএন্ড কিভাবে কাজ করে। CRUD অপারেশন কিভাবে কাজ করে। ডাটাবেজ এ কিভাবে ডাটা রাখে। সেটা SQL ডাটাবেজ বা NoSQL হোক। সেখান থেকে ডাটা কিভাবে বের করে নিয়ে আসতে হয়। এর পাশাপাশি Authentication, Authorization, JWT, Caching, ক্লাউড কিভাবে কাজ করে। ORM কি জিনিস।
যারা ব্যাকএন্ড এ ফোকাস করবে তাদের জন্য Multithreading, Concurrency, Data Modeling, Query Optimization, logging, benchmarking, এ ফোকাস দিতে হবে। এরপরে আরো বেশি জানতে চাইলে docker container, Microservices, লোড ব্যালেন্সিং, Monitoring, Logging, CI/CD সম্পর্কে ধারণা নিতে পারো।
৭. Read ডকুমেন্টেশন
জুনিয়র হিসেবে অনেক কিছুর ভিডিও টিউটোরিয়াল পেলেও ধীরে ধীরে অফিসিয়াল ডকুমেন্টেশন পড়ার দিকে ফোকাস বাড়াতে হবে। প্রথম প্রথম ইংরেজি ভালো না বুঝলেও জোর করে পড়তে হবে। দরকার হলে Getting Started দিয়ে শুরু করে স্টেপ বাই স্টেপ ফলো করে ইনস্টল করবে। API Reference এর ডকুমেন্টেশন এ দেয়া ফিচারগুলো খুঁটিয়ে খুঁটিয়ে পড়বে। সময় লাগুক কোন সমস্যা নাই। একটানা পড়তে না পারলে গ্যাপ দিয়ে দিয়ে পড়বে।
বেশিরভাগ ডকুমেন্টেশনে উদাহরণ এবং ইন্টারএকটিভ কোড দেয়া থাকে। সেগুলা রান করে দেখবে। দরকার হলে দুই একটা জিনিস একটু হালকা চেইঞ্জ করে দেখবে। কখনো গুবলেট পাকিয়ে ফেললে আবার পেইজ রিলোড করে দেখবে। আর বেশিরভাগ ডকুমেন্টেশন এ Best Practices দেয়া থাকে। আলাদাভাৱে ব্লগ সেকশন থাকে, সময় পেলে সেগুলাও দেখবে।
এইভাবে বছরখানে চালাতে পারলে, ধীরে ধীরে ডকুমেন্টেশন এর প্রতি ভয় কেটে যাবে।
ডকুমেন্টেশন পড়ার পাশাপাশি তোমার লেখা কোড এর ডকুমেন্টেশন কেমনে করবে সেটার দিকেও ফোকাস দিতে হবে।
৮. Continuous Learning:
প্রোগ্রামিং সেক্টর এ নিত্য নতুন জিনিস আসতেই থাকবে। সেখান থেকে সব তোমাকে শিখতে হবে। এমন কোন কথা নাই। আবার কোন কিছুই শিখবে না। সেটা করলেও হবে না। বরং কোন জিনিস যদি আট-দশবার শুনে ফেলো তাহলে সেটা একটু গুগলে সার্চ দিয়ে দেখবে। দরকার হলে ওদের ডকুমেন্টেশন পড়ে ফেলবে। আরো ভালো লাগলে ছোট একটা প্রজেক্ট বানিয়ে ফেলবে। ওদের অফিসিয়াল কোন ভিডিও থাকলে সেটা দেখে ফেলবে।
খুব ভালো লাগলে একটা বড় সাইজের পার্সোনাল প্রজেক্ট বানিয়ে ফেলবে।
পছন্দের কিছু Newsletters, Blogs এ সাবস্ক্রাইব করে রাখবে। কিছু অনলাইন গ্রূপ এর সাথে জড়িত থাকবে। কিছু সিনিয়র ডেভেলপার এবং কমিউনিটিতে একটিভ ডেভেলপারদের ফলো দিয়ে রাখবে। সম্ভব হলে অন্য সিরিয়াস ডেভেলপারদের সাথে আড্ডা দিবে বা মিটআপ এ চলে যাবে। টেকনিক্যাল পডকাস্ট শুনতে পারো। সময় থাকলে ওপেন সোর্স প্রজেক্ট এ কন্ট্রিবিউটও করতে পারো।
৯. সফ্ট স্কিল :
একজন ডেভেলপার কোড লিখলেও তার আরো অনেক অনুসাঙ্গিক কাজ করতে হয়। যেমন টিম মেম্বারদের সাথে কমিউনিকেট করা। ইমেইল লেখা, রিপ্লাই দেয়া। টাস্ক এর প্রায়রিটি বুঝা। টাইম ম্যানেজমেন্ট। প্রজেক্ট প্লানিং। মাঝে মধ্যে যেসব সফটওয়্যার ডেভেলপ করছে সেগুলা প্রেজেন্ট করা লাগতে পারে। রিমোট জব বা বিদেশী ক্লায়েন্টের সাথে কাজ করতে গেলে ইংরেজি কথা বলা লাগতে পারে। কোন ফিডব্যাক বা সাজেশন থাকলে টিম মেম্বারদের সাথে সেটা শেয়ার করা। স্যালারি নিগোসিয়েশন। ইন্টারভিউ দিতে পারা। কিছুটা নেটওয়ার্কিং লাগবে। এর পাশাপাশি অফিস এর কালচার এর সাথে এডাপ্ট করা। এইরকম আরো অনেক সফ্ট স্কিল এর দরকার ঠিকই পড়ে।
কোন কিছুতে আটকে গেলে আগে সেটা নিজে নিজে ট্রাই করা। তারপর হেল্প চাওয়া। বা কোন ফিচার ডেভেলপ হতে বেশি সময় লাগলে সেটা আগে থেকে জানানোর সাহস থাকতে হবে।
অনেক সময় আগে কাজ করার অভিজ্ঞতা নাই। বা এমন একটা জিনিস আসছে যেটা আগে থেকে জানতাম না। সেটা নিয়ে কাজ করার সাহস রাখতে হবে।
রিডিং স্কিল লাগে। সফটওয়্যার এর ফিচার জিরা তে লেখা থাকে সেটা পড়ে বুঝতে হয়। অনেক সময় ক্লায়েন্ট বা কাস্টমার ফিডব্যাক দেয় সেগুলা বুঝার এবং সেইগুলা ফিক্স করার বা ইম্প্রুভ করার মানুষিকতা থাকতে হয়।
10. আরো কিছু জিনিস
সফ্টওয়ার ডেভেলপ করতে গেলে আরো কিছু জিনিষ চলে আসবে। যেমন, কয়েকটা সিম্পল সিকিউরিটি এর জিনিস: যেমন, SQL injection, cross-site scripting (XSS), API Security, বিভিন্ন Encryption Algorithms, Key Management সম্পর্কে না আইডিয়া থাকলে কোন না কোন এক সময় বিপদে পড়ে যাবে।
পারফরম্যান্স অপটিমাইজেশন। থার্ড পার্টি টুলস এর সাথে সফটওয়্যার ইন্টিগ্রেশন।
একটা সফটওয়্যার অনেক ডেভেলপার মিলে বানায়। তাই অন্যের কোড দেখে বুঝার এবিলিটি। এমনকি নিজের লেখা ছয় মাস আগের কোড দেখেও বুঝার এবিলিটি লাগবে।
একজন মানুষ হিসেবে: নিজের হেলথ, পার্সোনাল ফাইনান্স, ফ্যামিলি রেস্পন্সিবিলিটি নেয়ার এবিলিটিও কিন্তু লাগবে।
এইটা একটা বিশাল লিষ্ট। সব এক দিনে হবে না। তবে শিখতে থাকতে। লেগে থাকলে। চেষ্টা করলে শুধু এইগুলা না। এইগুলার চাইতেও আরো বেশি কিছু হবে।
ডিসক্লেইমার: দিন শেষে একজন সফটওয়্যার ডেভেলপার ঠান্ডা মাথায় তার কাজ করে যায়। বেশিরভাগ সময় সে অন্যদের সাথেও নাই। পাশেও নাই। নিজের মতো করে এগুতে থাকে। কেউ কিছু বললেই সে মাথা গরম করে ফেলে না। নিজের প্ল্যান নিজে করে। নিজের মতো করে এগুতে থাকে। দিনশেষে সে তার নিজের মতো তার লাইফ এনজয় করে। নিজের মতো করে তার লাইফের প্যারা হ্যান্ডেল করে। অন্য মানুষের থিকিং স্টাইল তার কাছে দুর্বোধ্যই থেকে যায়।


Programming Hero Community

Address

Dhaka

Website

Alerts

Be the first to know and let us send you an email when Web Weave posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Share

Category