하드웨어가 먼저일까? 소프트웨어가 먼저일까?
누군가 내게 물었다.
"하드웨어가 우선일까? 소프트웨어가 우선일까?" 마치 닭이 먼저냐, 달걀이 먼저냐 하는 것처럼.
나는 잠시 생각에 잠겼다. 이 정답이 없는 질문에 내가 생각하는 것은 무엇일까.
나는 대답했다. 하드웨어가 모든 것의 시작이라고.
집을 짓기 위해서는 먼저 단단한 땅이 있어야 한다. 아무리 대단한 설계도가 있어도, 그것을 받쳐줄 기초가 없다면 모든 것이 허상에 불과하다. 소프트웨어도 마찬가지다. 0과 1의 디지털 세계가 아무리 무한해 보여도, 결국 그 모든 것은 물리적 기반 위에서 구현된다.
물론 소프트웨어의 요구가 새로운 하드웨어 혁신을 이끄는 순간들도 있다. 하지만 그것도 기존 하드웨어라는 기반에서 싹튼 아이디어가 아닐까?
결국 모든 코드, 모든 알고리즘, 모든 디지털은 물리 법칙이라는 절대적 경계 안에서 실현된다. 하드웨어는 이 세상의 가능성을 정의하는 존재다.
그러자 다시 물었다.
"그럼 왜 하드웨어 개발자가 아니라 소프트웨어 개발자를 택했나?"
예상치 못한 질문에 잠시 생각에 잠겼다. 하드웨어가 만든 가능성의 경계 속에서 사용자가 실제로 체험할 수 있는 형태로 만들어내는 일에 매력을 느꼈던 것 같다.
뭐랄까, 훌륭한 악기가 있어도 그 위에서 음악을 만드는 사람이 있어야 한다. 둘 다 창작자고, 둘 다 없으면 안 되는 일이지만.
하드웨어라는 견고한 기반과 소프트웨어라는 사용자 경험이 서로를 발전시키는 관계. 나는 그 협력의 후반부에 참여하고 싶었던 것이다.
"서로 다른 영역에서, 비슷한 목표를 향해."
개인적 관점에 대한 참고사항
이 글은 소프트웨어 개발자인 제 관점에서 쓴 주관적 생각입니다.
하드웨어 개발자분들 역시 엄청난 창의성과 혁신으로 디지털 세상의 기반을 만들어주시고 있으며, 깊이 존경하고 있습니다.
정답이 없는 철학적 질문에 대한 개인적 해석일 뿐이니, 다른 관점도 충분히 타당하다고 생각합니다.