공학이든 과학이든 발견법의 맥락에서 분석적 도구와 물리적 도구를 사용해 문제 해결을 지향한다. 이 점에서 그 둘은 차이를 보이지 않는다. 다만, 공학이 다루는 문제는 과학의 문제와 달리 생활세계의 변화와 직접적으로 연관을 맺는 실천적 문제다. 실천적 문제는 분석적 도구 혹은 물리적 도구에 속하는 수단도구를 이용해 특정 표적도구라는 인공물을 디자인함으로써 해결된다. 현대 공학 지식은 실천적 문제 해결을 위한 도구 디자인 과정의 조직화된 지식체계다. 조직화된 지식체계로서 공학 지식을 규명하는 데 공학 지식과 과학 지식의 구조적 차이는 단지 논의를 위한 대전제와 같다. 우리는 문제 해결의 실제 디자인 과정의 성격을 좀더 분명히 해야 한다. 첫째, 조직화된 지식체계로서의 공학 지식은 문제 해결을 위한 표적도구의 디자인 과정에서 수단도구의 배열로 나타난다. 둘째, 분석적 도구와 물리적 도구로 구성되는 수단도구의 배열은 미리 정해진 매뉴얼에 지배될 수 없다. 문제는 디자인 방향을 설정할 뿐이고, 실제 디자인 과정에서 공학자는 여러 다른 문제를 만난다. 셋째, 그러한 여러 다른 문제를 해결해 나감으로써 원래의 실천적 문제가 해결되기 때문에, 표적도구의 디자인은 조직체계에 분포된 공학자들의 능력을 합성하는 과정으로 볼 수 있다. 그러한 능력 합성에서 가장 중요한 것은 ‘여백 채우기의 원리(principle of filling a blank-space)’다. 초기 주어진 실천적 문제를 하나의 공간으로 표현한다면, 도구 사용의 한 가지 능력이 전체 공간을 덮는 경우는 거의 없다. 여백은 있기 마련이며, 여러 능력의 합성 과정에서 여백은 점차 채워진다.
공학과 과학은 발견법으로 분석적/물리적 도구로 문제를 해결하지만, 공학의 문제는 생활세계의 변화와 연관된 실천적 문제다. 실천적 문제는 수단도구를 이용해 표적도구를 디자인한다. 디자인 과정의 성격은 수단도구의 배열로 나타나고 이는 정해진 매뉴얼에 지배될 수 없다. 또한 표적도구의 디자인은 공학자의 능력을 합성하는 과정에서 볼 수 있는데, 중요한 것은 여러 능력의 합성 과정에서 여백이 채워지는 '여백 채우기의 원리'이다.