2P by neo 2달전 | favorite | 댓글 1개

나무 공예를 통해 소프트웨어의 부조리에서 벗어나기

소프트웨어 개발 요구사항이 나를 새로운 일을 배우게 만들 정도로 미치게 만든 방법

  • 에릭 디븐이 몇 년 전 도커 CLI 이슈에 남긴 전설적인 댓글
    • 소프트웨어 개발을 그만두고 나무로 가구를 만든다고 함
    • 긴 근무시간, 저임금, 테이블쏘로 손가락이 잘릴 위험이 있지만, DBMS에 RSS 피드를 추가할 수 있는지 묻는 사람은 없음
    • 9,000개가 넘는 반응 중 대부분이 긍정적이었음
  • 많은 개발자들이 이 댓글에 공감하는 이유가 있음
    • "노트북을 창밖으로 집어던지고 농장을 시작하고 싶다"고 말한 적이 있음
    • 팀장도 "술집 운영, 바텐더가 되어 다른 사람의 이야기를 듣고 싶다"고 갑자기 메시지를 보냄
  • 소프트웨어 개발의 세계가 너무 부조리해서 알파카 100마리를 사서 양모 양말을 팔고 package.json의 충돌 해결은 평생 잊고 싶은 마음이 듦
  • 애자일 회의에서 지라 작업 시간을 티셔츠 사이즈로 추정하라는 부조리한 요구를 받았을 때, 편한 고임금 직장을 그만두고 macOS 앱으로 생계를 꾸릴 불확실성을 택함
    • 최신 애플 실리콘 칩에서도 작동하지 않는 앱 하나밖에 없었고, 수익은 0이었기에 정말 도박이었음
  • 최근 앱이 무엇을 해야 하는지에 대해 비현실적이고 부조리한 기대와 요구가 많이 들어오면서, 소프트웨어 개발을 떠나 더 육체적인 일을 하는 것이 가능할지 고민하게 됨

간단한 과거 이야기

  • 대학 입학 전 대부분의 시간은 하고 싶지 않은 일을 하느라 보냈음
  • 어릴 적에는 농업 일을 도와야 했음
  • 남은 시간에는 음향 기타 연습, 보디빌딩, 시 쓰기, 연필 초상화 그리기 등을 함
  • 대학 생활을 하면서 무의미한 일을 할 수 없게 되었음
  • 10년 동안 임대 아파트에 살았는데, 정원이 없는 것에 익숙해질 수 없었음

처음 만든 나무 작품

  • 체스 판과 말 세트를 만들었는데, 자석이 들어있고 말의 모양이 일반적인 체스 말과 다름
  • 체스 말이 만족스럽게 제자리에 고정되고, 어린이나 개가 부딪혀도 게임이 그대로 유지되기를 원함
  • 소나무 판자를 둥글게 다듬고, 아내가 어두운 사각형을 칠하는 것을 도왔음
  • 판자 아래쪽에 네오디뮴 자석을 넣기 위해 구멍을 뚫었고, 실수로 윗면까지 뚫린 두 개의 사각형은 나무 퍼티로 처리함
  • 발코니에서 드레멜로 체스 말을 조각했는데, 육각형이 작은 말 모양으로 변하는 모습이 만족스러웠음
  • 현대적인 체스 세트 디자인에서 영감을 얻어 조각이 많이 필요하지 않은 기하학적 형태를 선택함

카발 만들기

  • 2년 전 10월, Subcarpați라는 루마니아 밴드에서 "직접 카발 만들기" 무료 강좌를 개최했는데, 피리 장인이 1주일 동안 기본기를 가르쳐 주었음
    • 카발은 5개의 구멍이 있는 긴 피리로, 낮은 음역대에서는 우울하고 멀리서 들려오는 듯한 소리가 남
  • 처음 카발을 샀을 때부터 직접 만들고 싶었는데, 인터넷에 정보가 거의 없어서 신비로운 느낌이 들었음
  • 2인 1조로 작업하고, 전동 공구 없이 모든 것을 손으로 해야 한다는 점이 마음에 들었음
  • 장인은 어릴 때부터 목동으로 일하면서 시행착오를 통해 좋은 소리가 나는 피리를 만드는 법과 구멍을 뚫는 위치를 스스로 배웠지만, 왜 구멍이 그 특정 거리에 있어야 하는지, 왜 나무 튜브 길이가 각 음계마다 달라야 하는지는 몰랐음
  • 저자는 어떤 음계에서도 연주할 수 있는 만능 카발을 만들고 싶었음
    • 다양한 음계의 노래와 함께 연주하려면 12개의 다른 길이 플루트가 필요함
  • 플루트가 어떻게 작동하는지에 대한 정보를 찾았는데, 진동하는 공기가 구멍 위치와 일치해야 하는 노드와 반노드를 만드는 개방형 또는 폐쇄형 튜브로 생각하면 된다는 것을 알게 됨
    • 현재 이에 대해 공부하고 "만능 피리"라는 목표를 향해 작업하고 있음

이것이 소프트웨어와 무슨 상관이 있나?

  • 지난 10년 동안 임대 아파트에 살면서 정원이 없는 삶에 익숙해질 수 없었음
  • 생계를 위해 macOS 앱을 개발하는데, 이 분야에는 오랜 시간 동안 쌓인 건강에 좋지 않은 것들이 있음
  • 요구하는 투의 부정적인 메시지를 많이 받게 되는데, 아파트 밖으로 나가는 것이 견딜 수 없는 자동차 소음, 역겨운 냄새, 전혀 없는 사생활로 인해 스트레스를 받게 되고 늦은 밤까지 오랫동안 일하게 됨
  • 최근 앱에 대해 가장 부조리한 요구사항들이 들어오기 시작함
    • Lunar라는 모니터 밝기를 제어하는 앱인데 이상한 사운드 장치 볼륨을 제어하지 않는다며 불평함
    • 앱이 Windows에서 작동하지 않는 이유를 묻거나, 이미지/동영상/PDF 압축 앱인 Clop에 텍스트 압축 기능을 추가하라고 요구함
  • 하지만 이번에는 집 앞 문만 나가면 너도밤나무 가지를 집어 들고 프랑스식 밀대를 만들어 부정적인 메시지를 잠시 무시하고 손으로 무언가를 하는 해방감을 느낄 수 있었음
  • 사람들이 모르는 것을 이해하지만, 부정적인 어조와 끊임없는 메시지, 집요하게 모든 수단을 통해 메시지를 보내는 사람들 때문에 무시하기 힘듦
  • 기술 분야에 AI와 머신러닝의 냄새가 나고, 10개 중 8개의 기사가 새로운 LLM이나 이미지 생성 모델에 관한 것이어서 더 이상 관련성을 느끼지 못하고 새로운 기술에 대해 신경 쓰지 않게 됨
    • 나무 냄새가 더 좋음

소프트웨어 개발자로서의 특권에 대한 사족

  • 시간을 어떻게 쓸지 선택할 수 있다는 것 자체가 특권임을 알고 있음
    • 운 좋게 적절한 시기에 컴퓨터공학과에 진학해 지난 10년간 엄청난 반수동 소득을 얻게 되었음
    • 운이 큰 역할을 했지만 열심히 노력한 것도 사실임
  • 일을 끝내지 않고 내버려 두는 것을 싫어하는 강박증 같은 상태로 정신이 외상을 입은 것도 "운이 좋았음"
    • 피곤함에도 불구하고 밀어붙이고, 식사를 거르고, 집안일을 놓치고, 주변 사람들을 괴롭힘
    • 실제 마감일은 없고 반쯤 끝내고 내버려 둘 수 있다는 것을 알면서도 그렇게 함
  • 특권이 감정을 부정하지는 않음
    • 평균으로의 회귀는 누구나 현상유지에 익숙해지고 현재 상태보다 조금만 나빠도 불평하게 만듦
  • 우리가 알고 있는 소프트웨어 개발이 곧 사라질 것 같고, 매년 새로운 것으로 대체되는 최신 기술을 배우는 데 지쳤음
    • 오랜 시간 앉아서 타이핑하느라 생긴 만성 손가락 통증보다는 근육도 만들어주는 일로 인한 통증이 더 낫다고 생각함
  • 온라인에서의 모든 것이 비물질적이고 덧없고 고독하다는 것에 너무 지쳤음

저렴한 도구와 무료 목재로 하는 목공

  • 2020년 전염병 기간 동안 아파트에 갇혀 있을 때, 새로운 것을 배우고 취미를 시작하는 데 도움이 될 것이라고 생각한 물건을 많이 샀음
    • 평생 스마트 LED 조명을 만들고 아내는 프로 울 뜨개질 공예가가 될 줄 알았음
  • 최근 이사한 집 계단 공간에 사용하지 않은 물건 상자들을 쌓아두었는데, 그 크기만한 책장이 있으면 어질러진 것들을 치울 수 있을 것 같았음
  • 하지만 그렇게 큰 책장을 싸게 구할 수 없어서, Freeform에 선을 그리고 치수를 잰 다음 소나무 판자를 많이 주문하고 긴 나사를 잔뜩 주문함
    • 톱질할 때 톱밥이 집 안에 덜 생기도록 바이스가 달린 가장 저렴한 이동식 작업대($30)도 주문함
  • 며칠 후, 몇 년 전 Lidl에서 산 저렴한 일본식 풀쏘로 선반을 톱질하기 시작함
    • 긴 목재 판자를 기술 없이 손으로 톱질하면 가장자리가 비뚤어짐
    • 5개의 판자를 겹쳐도 비뚤어짐
    • 트랙쏘를 사거나 비뚤어진 가장자리가 보이지 않게 하는 것이 힌트임
  • 아내가 구멍 뚫을 위치를 재고 나사를 박는 데 많은 도움을 주었고, 반려견은 결함이 제대로 숨겨졌는지 정기적으로 검사함
  • 나사 박는 데 이틀이 걸렸는데, 긴 나사를 돌리는 게 생각보다 힘들었음

작업대가 된 책상

  • 책장을 위해 산 $30짜리 바이스 작업대 위에 이전 "코딩 책상"의 상판을 앞쪽에 부착한 것이 현재 사용하는 "작업대"임
  • 작업대에는 다음과 같은 것들이 있음
    • 가장 저렴한 블록 플레인($8)
Hacker News 의견

요약해보자면:

  • 대기업에서 일하면서 창의적인 취미 생활을 하는 소프트웨어 엔지니어들은 대부분 일에서 만족감을 느끼지 못함. 대기업에서는 문제를 해결하고 무언가를 만들기 어려움.
  • 소프트웨어 개발은 현대 사회의 "대리 활동"으로, 생존에 필요한 신체적 욕구를 충족시키는 것과는 거리가 먼 추상적인 활동임. 이는 공허함과 불만족을 야기할 수 있음.
  • 취미를 직업으로 삼으면 그 취미에 대한 사랑이 파괴될 수 있음. "아마추어"는 부정적인 의미가 아니라 "생계 수단이 아님"을 뜻함.
  • 컴퓨터 작업의 불합리함에서 벗어나기 위해 오래된 시스템을 위한 게임 등 현대와 동떨어진 코딩을 하는 것이 도움됨.
  • 체중 운동, 목공, 요트 등 몸을 움직이는 취미는 컴퓨터 작업과 균형을 이루는 데 좋음. 할아버지의 고대 목공 도구로 아들과 함께 목재 요트를 만드는 중.
  • 목공 교육은 손과 눈으로 물건을 만들고 평가하는 방법과 타인의 노동에 대한 감사를 가르쳐 줌.
  • Fusion 360 등 최첨단 소프트웨어를 사용해 CNC로 예술 작품을 만드는 것도 즐거움. 아날로그 수공구 사용의 생생한 경험도 좋음.
  • 디지털 작업만 해왔던 전문 예술가에게 물감을 직접 만지며 그림을 그리는 것은 실수투성이지만 재미있는 경험임. 자신이 만든 물리적인 것을 보는 것 자체가 즐거움.