Explaining Software Engineering with the Classic PB&J Problem | Dark Hacker News