동료에게 의존성을 선점해야 한다고 조언한다. '제어의 역전' (IoC, Inversion of Control) 이라는 개념은 위성 도메인에서 중요한 개념이다. 많은 것이 표준화되지 않은 이 산업에서 전체를 오케스트레이션 하는 내가 부분적인 것에 의존하지 않는 것은 프로젝트의 성패를 좌우할 정도로 중요하다.
예를들면 위성 탑재체를 개발하는 우리는 위성 본체에 의존한다. 본체 회사에서 인터페이스를 정의할 때까지 기다려야 하고 그들이 정의한 인터페이스를 새롭게 개발해야 한다. 또 프로젝트가 바뀌어 본체 회사가 바뀌면 새로운 본체에 맞게 우리를 바꾸어야 한다. 우리가 본체에 의존하는 것이다.
이 의존성의 방향을 바꾸어야 한다. 우리가 표준화된 인터페이스를 먼저 정의해 두고 그들이 우리에게 의존하게 하는 것이다. 우리는 프로젝트가 바뀌어도 일관된 인터페이스를 사용할 수 있다. 우리 같은 소규모 팀에서 이 원칙을 가져가는 것은 중요하다. 본체를 부품처럼 갈아끼우게 설계해야 한다.
이걸 모르고 본체에 의존성을 그대로 방치하고 무한 확장하도록 사업을 디렉팅하면 큰 곤란을 겪게 될 것이다. 기계, 전자 하드웨어가 반드시 따라 붙는 이 산업에서 잘못된 디렉팅은 되돌리는 것도, 방향을 바꾸것도 무척 어렵게 한다. 단순히 코드를 버리고 새로 짜는 수준이 아니기 때문이다.
위성 개발에서 디렉터가 엔지니어링 원칙을 이해하고 있어야 하는 이유라고 생각한다.