System Design Mastery — 180-Day Curriculum
Target: Senior backend / FAANG-level system design interview readiness Duration: 180 days · 3 hours/day · ~540 hours Mocks: 20 scored mock interviews.
Backend Software Developer & System Architect based inDhaka, Bangladesh. I build highly scalable RESTful services and backend infrastructure usingDjango, FastAPI, and Python. I design data pipelines with PostgreSQL, Redis, and Elasticsearch, and obsess over Nginx security configuration. I care about clean architecture, fast queries, and servers that stay up — and I write about what I learn along the way.

The kind of problems I enjoy solving.
Highly scalable RESTful services with Django, FastAPI, and Python — clean, well-documented, and built to handle load.
Pipelines connecting PostgreSQL, Redis, and Elasticsearch — full-text search, caching strategies, and fast queries at scale.
Hardened Nginx, Docker, Linux, and CI/CD — servers that strictly serve their domains and reject catch-all traffic.
Code is craft. Every system I ship is a promise it'll still be standing — fast, secure, and scalable — long after the last commit. Build things that last, learn relentlessly, and leave the codebase better than you found it.
6 articles on backend engineering, system design, and infrastructure.
Target: Senior backend / FAANG-level system design interview readiness Duration: 180 days · 3 hours/day · ~540 hours Mocks: 20 scored mock interviews.
Here is your complete, consolidated documentation for setting up a production-ready **Monitoring Hub** on Amazon Linux 2023. This guide includes the exact configurations we tested and fixed.
আপনার EC2 সার্ভারে একটা সার্ভিস চলছে — হতে পারে Gogs, কোনো অ্যাডমিন প্যানেল, Grafana, বা যেকোনো ওয়েব অ্যাপ। আপনি চান শুধুমাত্র নির্দিষ্ট কিছু মানুষ সেটা ব্যবহার করতে পারুক, বাকি পুরো ইন্টারনেট থেকে সেটা সম্পূর্ণ ব্লক থাকুক। সবচেয়ে বড় কথা — সার্ভারে কোনো পোর্ট ওপেন না করেই।
PostgreSQL-এর ডলার-কোটিং সিনট্যাক্সের গভীর বিশ্লেষণ, পাইথনের স্টোরড প্রসিডিউরের জন্য এটি কেন অপরিহার্য, এবং Django ও FastAPI কোডবেসে কীভাবে নিরাপদে জটিল SQL এম্বেড করা যায়।
Journalctl হলো লিনাক্স অপারেটিং সিস্টেমের একটি কেন্দ্রীয় লগ (Log) ম্যানেজমেন্ট টুল। সোজা কথায় বলতে গেলে, এটি লিনাক্স সার্ভারের "রেকর্ড খাতা"। সার্ভারে চলা বিভিন্ন অ্যাপ্লিকেশন বা সার্ভিস (যেমন: Nginx, MySQL, Docker), হার্ডওয়্যার, এবং সিস্টেমের ভেতরে কখন কী ঘটছে—তার সমস্ত তথ্য এখানে জমা হয়। সার্ভার ক্র্যাশ করলে, কোনো সার্ভিস কাজ না করলে বা কোনো ত্রুটি (Error) দেখা দিলে, সিস্টেম অ্যাডমিনিস্ট্রেটররা এই journalctl কমান্ড ব্যবহার করে খুব সহজেই লগের বিশাল পাহাড় থেকে নির্দিষ্ট সময়ের বা নির্দিষ্ট সার্ভিসের ত্রুটিটি খুঁজে বের করেন (Troubleshoot)। সংক্ষেপে, সার্ভারের যেকোনো অভ্যন্তরীণ অবস্থা জানা এবং সমস্যা দ্রুত সমাধান করার জন্য এটি লিনাক্স ব্যবহারকারীদের সবচেয়ে নির্ভরযোগ্য হাতিয়ার।
গিট (Git) হলো ডেভেলপারদের জন্য সবচেয়ে প্রয়োজনীয় টুল—এটি মূলত আপনার কোডের "টাইম মেশিন"। প্রজেক্টের কোডে কখন কী পরিবর্তন হয়েছে তা মনে রাখা এবং টিমের সাথে কাজ করার জন্য প্রফেশনালরা এটি ব্যবহার করেন। নিচে বিগিনার থেকে অ্যাডভান্সড লেভেল পর্যন্ত Git-এর প্রয়োজনীয় কমান্ড, প্রফেশনাল সিনারিও এবং ইউজ-কেস (Use Case) সহজ বাংলায় আলোচনা করা হলো: