버스와 사람

버스 팩터는 사람이 갑자기 자리에서 빠지는 경우 몇 명이 동시에 빠져야 인원의 부재가 팀에 문제가 되는가에 대한 지표이다. 보통의 1인 기업은 모든 면에서 버스 팩터가 1이고, 미국 대통령직은 승계 제도가 있으니 17 정도 될 것 같다. 이 단어의 어원1을 그리 좋아하지는 않지만, 그렇다고 복권 팩터2라고 적으면 왠지 느낌이 살지 않는다. 버스 팩터가 크다는 것은 그만큼 팀이 유연하다는 것이다. 하지만 버스 팩터를 늘리는 데는 비용3이 들고, 보통은 원하는 버스 팩터가 크면 클수록 더 많이 들어간다....

좋은 코드

기준과 현실 좋은 코드에 대한 다양한 기준이 있지만, 나는 좋은 코드를 논할 때 가장 기본이 되어야 하는 것은 문제 해결의 여부라고 생각한다. 문제를 정의한 다음 해결을 위한 방법을 논한 프로그램의 구조와 구현에 대해서 논해야 한다. 그렇지 않으면 단순한 코드의 미에 대한 평가 그 이상은 힘들다. 문제를 해결 못하는 코드가 나오는 대표적인 이유 중 하나는, 문제 정의가 부실하기 때문이다. 책이나 과제와 달리, 현실에서는 문제 정의가 없거나, 부분만 되어 있거나, 문제가 변하는 속도를 고려하지 않거나, 협업자들이 같은 정의를 공유하지 못하는 일 들이 생긴다....

사소함에 사로잡히지 않게

시간관리 이야기 돌, 자갈, 모래 그리고 항아리에 대한 이야기가 있다. 자료가 충분하니 또 적지는 않겠지만, 구글링을 해보면 한국어로도 영어1로도 분야를 가리지 않고 인용되는 이야기인데 어째선지 원전을 찾기는 어려운 그런 이야기다. 이 이야기의 결론은 간단하다. 중요하고 큰 일부터 해라. 작고 사소한 일을 하다 보면, 큰 일을 할 기회를 놓치게 된다. 스티븐 코비의 성공하는 사람들의 7가지 습관에 나오는 ‘시간관리 매트릭스’에도 비슷한 개념이 있는데, 결론은 급하고 중요한 일을 했다면, 다음은 급한 것보다 중요한 것을 먼저 하라는 것이다....

개발자 - 조금씩 사라지고 있는 직업

한 줄 요약: 직업의 소멸은 전문성이 사라지는 것을 의미하고, 코딩이라는 개발자의 전문성은 사라지고 있다. 타자기와 타이피스트 타자기가 개발된 19세기 말 이후 20세기까지 타이피스트는 오랫동안 유망하고 선망되는 직업이었다. 타이피스트에 대한 이야기를 정확하게 하려면 여성의 노동참여와 산업혁명이나 세계대전 등등해야 할 이야기가 너무 많으므로 모두 언급하지는 않을 것이다. 다만, 짚고 넘어갈 것은 타이피스트가 이젠 직업으로 의미 있게 분류되지는 않는다는 것이다. 타이피스트가 온전한 전문직으로 구분되던 시절도 있었다. 그 당시, 타자기는 비싸고 안정성이 떨어지는 물건이었다....

코딩은 쉽고 소프트웨어를 만드는 것은 어렵다

이야기를 시작하기에 앞서 이 분야 용어들은 명확한 것을 선호하지만 정작 명확하게 무언가를 만드는 법은 잘 없는 이 분야 사람들을 닮아서인지 명확하게 정의되어 있지 않다. 용어의 모호함을 해결하기 위해서 사용한 정의를 우선 적어둔다. 각 용어의 정의는 일반적인 정의보다 넓거나 좁을 수 있다. ‘알고리즘’1은 수학적으로 잘 정의된 작업, 절차의 목록이다. ‘코드(소스코드의 줄인 형태)’는 알고리즘을 프로그래밍 언어로 적어둔 것이다. ‘프로그램’은 명령어(컴퓨터가 실행할 수 있는)의 모음이다. 이러한 명령어 모음은 컴퓨터가 처음 나왔을 때는 직접 작성하기도 했지만, 현재는 대부분 코드를 변환하여 만들어 낸다....

모르는지도 모르는

지식의 분할 한 사람이 인지하는 자신의 지식은 쉽게 “아는 것"과 “모르는 것"으로 쪼개진다. 예를 들면, 1+1 같은 간단한 식의 해는 대부분 “안다” 말하고, 복잡한 미분방정식의 해는 쉽게 모른다라고 말한다. ![그림 1](/posts/unknown/1.jpeg “노란 것은 아는 것이요 검은 것은 모르는 것이다. 1+1은 노란색이고, 미분방정식의 풀이법은 검은색이다.) 누군가 본인이 안다고 인지한다고 해서 실제 아는 것은 아니다. 시험을 보면 점수는 늘 생각보다 낮다. 개인의 지식을 다시 쪼개면 “정확히 아는 것”, “안다고 생각하고 있지만 모르는 것”, “모르는 것"으로 나눌 수 있다....

내가 타인의 말에 상처를 받았을 때를 다시금 생각해보면 내가 준비되지 못한 상황이었거나, 혹은 내가 이해할 능력이 부족했거나, 오해를 했거나, 아니면 누군가 의도적으로 나를 깍아내리려 하거나, 아니면 발언자의 무지나 무례함 때문이었다. 우리는 종종 말에 대한 뒷수습으로 의도는 좋았다고 하거나 의도는 없었다고 하지만, 사실 의도는 중요하지 않다. 말하기 전에 예민하게 고민하고 노력하지 않으면, 결국 상처 주고 상처 받는다. 아무리 머리로 이해하고 있어도 여전히 내 노력과 주의와 별개로 누군가가 내가 하는 말로 상처 받을 것이라는 사실을 체화시키는 건 여전히 어렵다....

여는 글

말은 늘 의무감과 오만함 사이에 있다. 말을 하지 않는 것과 과한 말 중에 어떤 것이 더 부끄러운 지는 여전히 고민이 된다. 그래도 돌아보니 흔하지 않은 경험들을 했고, 덕분에 일부에 대해서는 조금 다른 시선을 가지고 있다. 행동과는 별개로 다양한 시선은 사회와 개인에게 늘 도움이 되는 것이라고 생각한다. 그래서 이렇게 글을 남긴다. 수년간 이런저런 글을 여기저기 남기다 보니 알게 된 것이 있다면, 나는 하고 싶은 말은 많고 주기적으로 하는 것을 어려워하는 사람이라는 것이다....