우리는 습관적으로 "빌드"라는 행위를 한다.
하지만 이것은 매우 불경한 행위이다.
10여년 전 개발 업계에 입문하면서 느낀 것은 꽤나 모순적이지만 실존하는 문제였다.
소프트웨어 업계에 있는 사람들이 정작 빌드 시스템에 대해서 거의 혐오에 가까운 불신을 하고 있었다는 점이다.
당연히 어처구니가 없었다.
소프트웨어 개발자들이 빌드 시스템을 불신한다고? 자기들이 매일 하는 행위를? 이거 완전 제 발등 찍기 아니야?
오늘날 우리는 C/C++ 뿐만 아니라 JavaScript, Typescript도 빌드해서 쓰는데 이게 대체 무슨 소리일까?
하지만 빌드 시스템을 불신하는 현상은 외국 프로그래머에게도 설명하기 힘들 정도로 심한 나라가 바로 우리나라라는 피할 수 없는 현실이 있었다...
회사가 바뀌어도, 프로젝트가 바뀌어도, 기술이 바뀌어도 이 문제는 몇년을 거쳐 계속되었다.
매일 코드를 짜고 "빌드" 메뉴를 누르거나 명령 창에 "build" 명령을 치면서도, 이런 행위는 마지 원죄에다 7죄종을 더한 듯한 짓을 저지르는 듯한 압박에 시달릴 수 밖에 없었다.
컴파일러를 포함하여 모든 빌드 과정과 관련된 도구가 개입되지 않도록 하는 방법이 필요했다.
소프트웨어 개발자가 "빌드"를 죄악시해야 하다니... 괴로웠다.
이건 그야말로 정체성의 부정이 아니던가?
이런 오랜 갈등은 결국 여러 회사의 C레벨에 있는 사람들의 분노를 폭발시켰다.
그리고 이 사건 때문에 나는 결과적으로 좋은 결론을 얻었지만, 이 사람들의 태도에 있어선 지금까지도 옹호하지는 않는다.
소프트웨어 개발자에게 "빌드" 행위는 필연적이다.
이런 행위를 불경하다고 가스라이팅을 하면 도대체 어쩌자는 것인가?
결국 C레벨만 제외한 채 연관되어 있는 회사들의 모든 기술자가 모여 회의를 하게 되었다.
이런 (어디가 좀 모자른 듯한) C레벨들의 극대노 상황은 모든 기술자들을 당황시켰다.
우리는 지금까지 일반적으로 시도하지 않는 새로운 개념에 대해 탐구해야 했다.
이 어처구니 없는 사건을 마치 땅콩을 안까서 줬다고 승무원을 혼내고 징계했던 항공기업 사장의 "땅콩회항" 사건에 빗대어 프로젝트의 이름을 "코드네임 마카다미아"라 지었다.
절차의 무지에서 오는 경영진의 경솔한 분노는 오히려 신기한 해결책을 만들곤 한다. 누군가의 분노로 인해 비행기가 돌려세워진 것처럼, 우리의 프로젝트도 그렇게 탄생했다.
이 사건은 JavaScript로 Windows 시스템 프로그래밍이 가능하다는 가능성을 발굴하게 된다.
현재 WelsonJS 프로젝트로 깃허브에서 오픈소스로 배포 및 개발되고 있다.
https://github.com/gnh1201/welsonjs
별도로 자바스크립트 런타임을 설치하지 않습니다. 운영체제에 내장된 엔진을 활용합니다!
좋은 글 잘봤습니다. 근데 굳이 자바스크립트를 윈도우에 깔아야 되는 이유가? ㅋㅋㅋ