The creation of useful artefacts with rich experiential qualities required quality driven interaction designers and programmers with the ability to simultaneous problem setting and problem solving. Interaction design is a design practice that defines the appearance and function of digital artefacts. Bridging interaction design and engineering is problematic because design and engineering have different epistemology. Designers are trained to see a plethora of future designs for a situation and explains the phenomena of a context. Engineering focus on problem solving and depends on agreement about ends. In this paper I suggest that the poor state of designers and programmers who are not standing together can be avoided if we give up the claim that software development should be engineering or science, and instead see it as a quality-driven craftsmanship.