생각 10/10/2018

Posted on Oct 10, 2018

연구소에서 종종 휴식시간에 PS4 게임을 하면서 지낸다. 그냥 별로 게임을 위해서 너무 많은 시간을 보내는걸 원래도 좋아하진 않았지만 독일에 살며 취미로 다시 시작한 이후로 재미를 붙이고 하고 있었다.

그리고 최근에 재밌게 하고 있던 DOOM 2016을 다른 게임들보다 내가 좋아하는걸 동료들이 눈치채고 가끔은 둠 이야기를 한다.

최근에 그래서인지 John Carmack 이야기도 종종 나온다. 소프트웨어 엔지니어들이니까. 그러다가 한 동료가 Carmack의 에세이 하나의 링크를 보내줬었다.1

많은 다양한 생각들을 추려낸 블로그포스트. 그리고 가끔 지나가듯이 다른 주제를 이야기하다 이 에세이에 담긴 만트라 에 대해서 다시 말하며 생각을 나눠본다. 그리고 더 그렇게하고 싶다.

공감이 가장 가는 부분들은

…there are clearly better and worse ways of doing things but it’s frustratingly difficult to quantify.

…these are all conventions that help software engineering in the large when you’re dealing with mistakes that people make. But they’re not fundamental about what the computer’s doing.

…programmers are making mistakes all the time and constantly.

…I would like to be able to enable even more restrictive subsets of languages and restrict programmers even more because we make mistakes constantly.

사실 다음처럼 말하면서 폼을 잡거나 꼰대를 부리기도 좋고, 사실 맞는 얘기겠지만 해본 사람들은 이게 어떤 차이를 갖는지 알게된다.

“프로그래밍언어 거 그거 어차피 다 똑같은거야. if-else있고 루프되고”2

…말이야 맞는거 같지만, 차이가 있다는걸 우리는 알고있다. :-)

차이를 알아야 하는 이유

일터에서의 어떤 논의에서 종종 _말 짜맞추기_를 하고 있는 경우를 경험한다. 나도 그렇고, 주변 사람들도 그렇고.

내가 이야기하는 말 짜맞추기란,

  1. 처음의 좋은 아이디어에 대해서 문제점을 찾았을때, 1. 그 아이디어의 원래 의도나 좋은 차이를 만드는 부분을 놓친채,
  2. 그저 뭔가 그 아이디어처럼 다 되는거 같고, 비슷해보이도록 꿰메어놓은 대안들

이런게 필요한 부분이 있긴 한거 같아. 그런 이런게 필요한 경우는 차이가 아무런 의미가 없을때 혹은 차이의 가치를 이해하지 못하거나 그럴 필요가 없는 사람들에게 떠먹여줄 대강의 핑계나 변명, 혹은 적당한 말들을 쥐어줘야할때인거 같다.3

하지만 내가 싫어하는 부분은 그런 비슷한 무언가를 말들을 꿰메서 입맛에 맞게 만들었지만, 실제로는 원래 추구하려던 가치를 전혀 얻을 수 없도록 만신창이로 덕지덕지 그럴싸하게만 만든 말들을 들을때다.

대부분의 돈벌이, 그것도 아주 허접하게 포장해서 제대로 돈도 벌지 못할거 같은, 그렇지만 신비로운 의사결정 단계를 거치며 뭔가 돈이 될거 같은것들은 몽창, 그리고 소비자가 좋아한다고 착각할만한것들을 모두 쏟아부은것들이 이런 모양으로 출시되는거 같아.4



  1. https://blogs.uw.edu/ajko/2012/08/22/john-carmack-discusses-the-art-and-science-of-software-engineering/ ↩︎

  2. 언젠가 이거 말씀하신 수많은 아재중 한분은 회사에서 VB6인가로 월급벌이를 하고 계셨었다. 그리고 난 그 사람이 다른 언어는 만지지도 못할거라는걸, 그리고 만져도 끔찍한 그냥 다른 언어로 작성한 VB6 코드를 만들거라는걸 확신한다. 그리고 “대기업”-워너비라 대기업인줄 알고 그렇게 행동하던 그 아재는, “대기업"도 아닌 어정쩡한 기업에 다니다가 (법정관리를 몇번 겪다가) 지금은 뭘하고 있을지 상상도 하고 싶지 않다. ↩︎

  3. 슬프게도 우리 사회는 이런게 너무 많이 필요하다. 그리고 종종 나쁘지 않을수도 있다. ↩︎

  4. 이런 제품, 솔루션, 서비스들은 모든게 다 되는거 같고, 심지어 바라지 않는것들까지도 다 되고, 카탈로그만 보면 경쟁제품이랑 크게 다르지 않은것처럼 보이지만, …이상하리만치 아무도 쓰지않고, 한번이라도 그걸 경험해보면 왜 다들 그러는지 잘 알수있다. ↩︎