하드웨어의 소프트웨어 닮기

geekforum의 이미지

아래글을 읽고 잡담입니다.
저도 예전에는 하드웨어를 좀했고 제 친구들중에는 디지탈 하드웨어를 하
는 친구들이 꽤 있는데 그친구들 얘기가 요즘은 디지탈 하드웨어도 소프트
웨어 처럼 분화되고 단순화, 모듈화되면서 전문 엔지니어의 역활이 자꾸만
좁아진다는군요.
예로 컴퓨터 메인보드를 디자인할때 옛날같으면 한사람의 엔지니어가 CPU
와 램만 가지고 나머지는 종이와 캐드로 설계해야했는데 그때는 CPU의 수
십개도 더되는 각종 타이밍 챠트(일종의 클럭 챠트)를 외우다시피하며
어떤때는 TTL이나 C-MOS IC로 일일히 로직을 꾸며가며 일을했고 그래서
왠만한 어셈블리 프로그래머 빰치는 능력도 필요했다고 하더군요.
거기다 아트워킹이라는 PCB제작 작업도 만만치 않은일이고...

그런데 요즘은 인텔등 대기업에서 칩셋이라는 이름으로 관련기능을 집적한
Ic를 제공하고 기타 기능들도 대부분 AISC으로 제공되기때문에 엔지니어
는 칩셋이나 주변 IC선정하고 딸려오는 Data Sheet에 있는대로 연결만 하
면 되는형편에 게다가 요즘에는 칩셋업체에서 자기 칩과 CPU나 다른 칩들
과의 아트워킹 실례를 캐드 파일 형태로 제공하고있어서 할일이 거의
없다는 군요.
물론 중간 중간 손볼때도 아직은 많고 신경써야할곳도 많아서 조금 과장
한 얘기(엔지니어 무용론)라는건 사실이기는 하지만 소프트웨어와 마찬가
지로 유능하고 전지전능한 프로그래머(엔지니어)가 훨씬 덜 필요한것이 현
실이라는건 분명하다네요.

익명 사용자의 이미지

꼭 그런분야뿐만 아니라 거대한 배를 건조할때나
우주선을 만들때도 '모듈'로 먼저 부품을 만들어놓고
나중에 최종적으로 조립을 한다는군요.

뉴스에보니까 지구를 도는 커다란 우주정거장을 구성하는모양이던데..
지상에서 모두 완성해서 쏘아 올리는것보다는 각 모듈별로 따로따로
만들어서 공중합체 시키는것이 더 쉽고 경제적이겠죠.
물론.. 각 모듈안에 탑재되는 시스템또한 더 작은 모듈들로 구성할수
있겠죠. 그러면서 모듈설계하는 사람따로 ... 조립및 관리하는 사람
따로등으로 계층이 분화되겠죠.

하드웨어든 소프트웨어든...
'Divide & Conquer' 방법론의 전성시대라고 불러도
손색이 없을듯...

꼬릿말.. 아 그리고 모듈로 쪼개고 콤포넌트화 시키는건.. 소프트웨어
보다는 하드웨어쪽이 더 먼저가 아니었는지..?
제가 소프트웨어공학을 배울적에는 볼트, 너트, 나사못등의
비유를 들은것 같은데... --;
전자쪽은 몰라도.. 다른분야는 그 규격이 국제표준으로 인정
받은게 많죠. 예를들어 건물을 지을때 철골의 굵기라던가
벽돌의 크기라던가 하는것은.. 국제적인 표준이 다 있고
그런것들만 전문으로 만드는 회사들이 수두룩해서..
건물을 짓기 위해 철골이나 벽돌을 일일이 직접 만들이유가
전혀없지요.

익명 사용자의 이미지

이전에 18~19세기의 과학자들은 수학, 예술, 천문학, 물리학
등을 모두 잘 했던 때가 있었습니다. 요즘은 한 학문, 아니
학문의 한 분야에 대가가 되기도 힘들지요. 기술이 발전할
수록 더 많은 것을 요구하기 때문에 분야가 좁아지는 것이지
컴포넌트를 쓴다고 이전보다 능력이 달 요구되는 것은 아닙니다.
물론 이전 보다 이전 만큼 하기가 쉽기는 하지만 그런 정도로는
독보적이 되기 힘들지요. 고만 고만한 엔지니어는 거의 쓸모
없습니다. 컴포넌트의 시대가 되면 그것들을 이용해서 더 큰
곳으로 나아가는 능력이 필요하겠지요.