댓글로 달려다가 글이 길어져서 새글로 써봅니다...^^;
안철수씨의 어떤 말씀이 그렇게 거슬리셨는지는 잘 모르겠습니다만...
개인적인 경험으로는 하드웨어 개발자들도 소프트웨어 개발자들을 경시하는 경향이 없잖아 있지않나 생각합니다. 바로 진통제님이 말씀하신 그런 이유로 말이죠.
특히나 하드웨어의 특성상 제한된 프로세서 성능, 제한된 메모리 용량 등의 문제로 항상 최적화되고 경량화된, 버그없는 프로그램을 만들어야 하는 상황에서 하드웨어 쪽 하시는 분들은 참 소프트웨어 개발자들을 폄하하시는 경우가 많았습니다. '내가 시간이 없어서 너한테 일을 주지만 마음만 먹으면 네가 만드는 코드보다 훨씬 작고 빠르고 버그없는 코드를 짤 수 있다'라는 식으로요.
그런데, 소프트웨어 개발자 입장에서 보면 하드웨어 쪽은 대개 레퍼런스 기판이 있고 그걸 기반으로 인터페이스 라인을 중심으로 기판을 간소화하거나 보완하는 정도만 하는 것이니 몽땅 처음부터 만들어야 하는 소프트웨어보다 하드웨어가 더 쉬워보일 수도 있습니다. 어차피 인터페이스 신호는 규격 다 정해져 있겠다, 레퍼런스 기판 있겠다, 이미 절반은 먹고 들어가는 것 아닌가... 하는 거죠.
결국 전체적인 관점에서 본다면 서로 추구하는 바가 다른 것일 뿐 어느 쪽이 더 낫고 어느 쪽이 못하다는 비교는 의미가 없다고 생각합니다.
양쪽의 일을 다 경험해보지 않으면 사고의 폭이 좁아질 수 밖에 없고, 그로 인해 서로간의 오해가 많아질 수 밖에 없는 것이 현실이지요.
저도 몇년 안되는 짧은 기간이나마 펌웨어다 드라이버다 인터페이스다 해서 하드웨어 개발 쪽과 일을 해보니 나중에는 왜 그런 이야기들이 나왔었는지를 이해할 수 있겠더군요.
애초에 무한루프를 만들어 시작하는 하드웨어 개발자와 무한루프는 버그라고 생각하는 소프트웨어 개발자의 출발점부터 다른 일인것을요.
하지만, 상대방의 기술이 없이는 자신의 기술도 빛을 발휘할 수 없다는 것을 인정한다면 서로를 이해하고 존중하는 것도 당연한 일이 아닐까 생각해 봅니다.
아참...;; 소프트웨어도 한번 수정하게 되면 그만큼 많은 시간과 비용과 노력이 소모됩니다. 하드웨어가 잘못되면 하나하나 잘못된 부분 찾아야 하고 수정하고 최악의 경우 갈아엎어야 하는 것 처럼 소프트웨어도 똑같이 잘못된 부분 찾아야 하고 수정하고 최악의 경우 갈아엎어야 하니까요. 수정할때마다 드는 비용도 적지 않습니다. 하드웨어처럼 PCB 다시 뜨고 땜질 다시하지는 않습니다만 실물이 눈에 보이는 것인가 모니터 안에만 존재하는 것인가의 차이일 뿐 아닐까요...^^;;
누구나 자기가 제대한 부대가 제일 빡센 군대였고 자기 군번이 제일 꼬인 군번이었던 것 처럼 자신이 하는 일이 항상 남들보다 어렵게 보이는 법 아닐까요....^^; 소프트웨어 개발자인 저는 눈으로 보이는 기판 오실로스코프로 찍어보면 아는거 아니냐... 라고 생각했던 적이 있었던 것 처럼 말입니다....^^;