System Design সফটওয়্যার ইঞ্জিনিয়ারিং এর এমন একটা গুরুত্ব ফিল্ড যাতে কাজ করতে হলে চারিদিকের চারটা চোখ খুলে নিয়ে ফিউচার সফটওয়্যার (বা প্লাটফর্ম) এর আপাদমস্তক গবেষনা করতে হয়।
সফটওয়্যারের (বা সফটওয়্যার প্লাটফর্মের) রিকয়ারমেন্ট এনালাইসিস করার পর আপনাকে
- প্রোগ্রামিং ল্যাংগুয়েজ সিলেকশন নিয়ে চিন্তা করতে হবে
- ফ্রেমওয়ার্ক কোনটা ইউজ করবেন সেটা নিয়ে ভাবতে হয়
- ডাটাবেজ সিস্টেম কোনটা ব্যবহার করবেন সেটা নিয়ে চিন্তা করতে হয়
- ডাটাবেজ ডিজাইন করার পিছনে বিস্তর মাথা খাঁটাতে হয়
- অথেনটিকেশন ও অথোরাইজেশন কিভাবে হবে সেটা নিয়ে ভাবনা করতে হয়
- দিন ও রাতের কোন সময়ে ইউজার বেশি থাকতে পারে সেটা এনালাইসিস করতে হয়
- পৃথিবীর কোন লোকেশন থেকে আপনার সফটওয়্যার বেশি ব্যবহার হবে তা নিয়ে গবেষনা করতে হয়
- এবার সেই লোকেশনের কোথাও একজায়গায় সার্ভার রাখতে হয় (সার্ভার কিনতে হয় বা সার্ভার ভাড়া করতে হয় যাই বলেন)
- একাধিক সার্ভার থাকলে তাদের নিজেদের মধ্যে স্মুথ কমিউনিকেশনের জন্য আবার নেটওয়ার্ক ডিজাইন করতে হয়
- সবগুলো সার্ভার এবং সার্ভারে ডেপ্লয় করা সফটওয়্যার কম্পোনেন্টকে সব সময় আপ এন্ড রানিং রাখার জন্য আবার আলাদা টুলস (ধরেন Kubernetes) কনফিগারেশনের বিষয় মাথায় রাখতে হয় ...
আরো কত কি যে মাথার মধ্যে দলা-মোচড় করতে হয় তার ইয়ত্তা নেই। এসমস্ত জ্ঞান আবার শুধু ক্লাস করে, ভিডিও দেখেই শিখে ফেলা যায়না। সময়ের সাথে হাতকে এলোপাতারি কাজ দ্বারা ঘষামাজা করতে করতে অর্জন হয়।
Top comments (0)