Software craftsmanship and software engineering both aim to deliver high-quality, reliable software, but differ in their approaches. Software engineering focuses on macro goals and processes, while craftsmanship emphasizes mastering skills through experience. Both are used at Groupon, where engineering practices like architecture, testing and iteration are combined with craftsmanship techniques including apprenticeships and pair programming.