컴퓨터랑 너무 친하면 안되는 이유

broccolism·2022년 4월 26일
4

커넥션 풀, 스레드 풀

이라는 단어를 들으면 어렸을 때 생각이 난다. 유치원에 다닐 나이쯤에, 어린이 실내 놀이터에서 속이 텅 비어있는 얇은 플라스틱 공이 가득한 곳에 누워서 놀던 기억이 난다. 그러니까 이렇게 생긴 곳이다.

크게 심오한 뜻은 없다. 그냥 스터디를 하다가 스레드 풀이라는 단어를 들었는데, 작은 공이 한 자리에 모여서 동동 떠다니는 이미지가 떠올라서 적는 글이다. 스레드 하나하나가 저기 있는 공이다. 개발자는 새로운 스레드가 필요하면 공을 꺼내고 임무를 맡긴다. 임무를 마친 공은 다시 풀로 돌아가 누군가 자기를 집어주기를 기다린다.

하지만 공은 공이다. 🥎

컴퓨터 세계의 개념을 현실 세계의 개념과 연결지어 생각할 수 있다. 그도 그럴것이 컴퓨터 과학은 자연 과학이랑은 다르게, 인간이 만들어낸 기계를 어떻게 잘 써먹을지에 대한 학문이기 때문이다. 연구 대상의 시작점이 있는 학문이다. 그 시작점은 인간이다. 우주 과학의 연구 대상인 우주의 시작점은 아직 아무도 모른다.

컴퓨터 세계도 결국 현실 세계를 닮아있다. 하지만 닮은 것이지, 완전히 같다고 볼수는 없다. 컴퓨터 세계는 아주 강력한 효율성을 기반으로 움직이기 때문이다. 모두가 컴퓨터는 효율적이어야 한다고 합의했다. 비효율적인 컴퓨터는 주목받지 못하고 그걸 일부러 만드려는 사람도 없다. 비효율이 주목받는 경우는 이걸 개선해야할 필요성이 생겼거나, 혹은 개선 방안이 등장했을 때밖에 없다.

컴퓨터 세계에서 스레드 풀에서 잠자고 있는 공은 곧 비효율을 의미한다. 잠자고 있는 공을 빨리 꺼내서 일을 시켜야 한다. 일을 잘 하고 있는 공을 갑자기 풀로 집어넣는 일은 없다. 실수가 아닌 이상 공을 단 몇 초라도 재우는 사람은 없다.

현실 세계에서는 좀 다르다. 공을 사람이라고 생각해보자. "잠자고 있는 사람은 곧 비효율을 의미한다." 라는 문장을 보고 이질감을 느끼지 못했다면 컴퓨터 세계에서 조금 빠져나올 필요가 있다. 사람은 공과 다르다. 사람은 코드로 짜여진 프로그램이 아니라서, 자신만의 자아를 갖고있다. 모두가 사람은 효율적이어야 한다고 합의하지 않았다.

그래서 다른 학문도 가까이 해야 한다.

특히 인문학을 가까이 해야한다. 1차, 2차 산업을 제외한 다른 대부분의 서비스직과는 다르게 우리는 컴퓨터를 상대한다. 하지만 컴퓨터만 상대할 수도 없다. 우리와 비슷한 또다른 개발자와 같이 일하는 경우가 대부분이다. 기획자, 디자이너와의 협업도 빼놓을 수 없다. 개발자는 사람과 컴퓨터 모두를 상대하는 직업이다.

그래서 더더욱 인문학을 가까이 해야한다. 컴퓨터 공학을 모르면 업무가 멈추지만 인문학을 모른다고 업무가 멈추지는 않는다. 자칫 잘못하면 컴퓨터 세계에 너무 깊게 발을 들여서 0과 1로만 이루어진 컴퓨터의 사고방식을 따라가게 될 위험이 있다. 모든걸 input, output으로만 생각하기엔 이 세상은 너무 복잡하다.

한때 주변에 개발자 친구가 없어서 아쉬워했던 적이 있다. 10명이 넘는 중학교, 고등학교 친구 중 컴퓨터 공학을 전공한 사람은 나밖에 없었다. 이제는 이런 환경도 나름 좋은 환경이었다는 생각이 든다.

profile
코드도 적고 그림도 그리고 글도 씁니다. 넓고 얕은 경험을 쌓고 있습니다.

0개의 댓글