System Design For Beginners