2013년 12월 22일 일요일

자유와 사회

자유.
내·외부로부터의 구속이나 지배를 받지 않고 존재하는 그대로의 상태와 스스로 하고자 하는 것을 할 수있는 것. -- 위키백과

많은 사람에게 자유는 실패나 도태를 의미하는 것 같지만,
나에게는 달콤하고, 꿈과 같으며, 그 자체로 성공을 의미한다.

사람이 사회에 속해있다 보면, 자신이 자유로운지 그렇지 않은지를 오해하고 착각한다.
그래서 나의 경우는 자신이 자유로운지 확인하는 방법이 있다.

한 3~4일 정도 휴가를 얻어서,
핸드폰과 컴퓨터, 심지어 사랑하는 책과 시계 마저도 모두 없애고,
가만히 앉아 있거나 서성이는 것이다.
자신의 가슴과 머리 속에서 피어오르는 첫 번째 것이 가장 자신을 구속하는 것임을 쉽게 알 수 있다.
그리고 그 다음, 또 그 다음.
자신을 옭아매고 있는 것들을 확인하고, 자신이 자유롭지 않음을 느낀다.

아마 일반적인 사람이라면, 처리해야 할 회사 일들과, 자신이 일을 잃을까 하는 두려움이나,
그로 인해 가족과 친구와 친척들과 문제가 생기지 않을까 하는 수많은 생각들이 자신을 순식간에 뒤덮어 버릴 것이다.
그것들은 영원히 당신 곁에서 떠나지 않을 걱정거리라고 생각할 것이다.

반면에 자유롭다면,
생각은 고요하고, 마침내 움직였을 때는 뭔가 스스로를 심심하지 않게 하는 많은 공상이 되거나,
생각이 자신을 스스로 정리하고, 저 멀리 있는 사회를 이해할 수 있도록 조명할 것이다.

나는 자유로운 상태와 그렇지 않은 상태를 이렇게 구분한다.

---------------------

사회.
같은 무리끼리 모여 이루는 집단.

"인간은 사회적인 동물이다." 라는 아리스토텔레스의 말을, 인간이 사회를 떠나서는 살 수 없다 라고 착각들을 한다.
하지만, 이 말은 고작 인간의 한 측면(성질)을 고찰했을 뿐이다.

인간은 사회를 이룬다.
하지만 "사회적"이어야 할 필요는 없다.
특히 자유를 제약 당하면서는 전혀 그렇지 않다.

나는 사회가 자신의 자유를 제약한다면, 그 사회를 빨리 벗어나야 한다고 생각한다.
자유롭지 않은 개인은 그 사회를 적대시 할 뿐이다.

많은 사람이 오해하고 있는 것이,
반 사회적인 범죄를 저지르는 사람이나, 사회 부적응자들의 문제가 자유에 있다고 생각하는 것이다.
하지만 실제로 문제는 사회의 강압에 있고, 해답은 자유에 있다.

자신이 속한 사회들을 하나씩 느껴 보라.
한국, 회사, 친족과 가족, 친구들.
자신이 느끼는 압박이 어디에서 왔는지 명백해 지지 않는가?

그렇지만, 자유는 사회에서 떨어져 나갈 것이라는 엄청난 두려움을 몰고 온다.
사회라는 것은 마약과도 같아서, 지신에게 해롭다는 것을 알지만, 없어진다는 상상 만으로도 더 할 나위 없는 공포심을 인간에게 준다.

하지만, 안심해도 좋다.
자유는 사회와 배타적인 관계가 아니다.
(많은 사람들이 그렇지 않다고 하겠지만.)

자유로운 사람은 사회에 연연하지 않고, 수 많은 사회를 마치 투명인간 처럼, 혹은 다른 차원에 있는 것 처럼 오고 갈 수 있다.
...
물론, 사회쪽 구성원은 그를 잃었다고, 없어졌다고 생각하는 경우는 많겠다.
혹은 사회에 타격이 있는 경우도 많고.
...
아무튼, 화제를 급전환 해서,
자유와 사회는 완전히 배타적이지 않으므로,
자유를 덜 침해하는 사회를 만들어 가는 노력으로, 우리의 자유를 지키고, 반 사회적인 사람들과 부적응자를 줄이는 것이 우리의 목표였으면 좋겠다고 생각한다.

수신제가치국평천하(修身齊家治國平天下)라 하였으니,
먼저 가족부터 살피자. 누가 소외 되었으며, 누가 자유를 잃고 신음하고 있는가?
그 다음은 친구와 친척들을 살피자. 한국을 살펴 보고, 세계를 살펴보자.
모든 사회에 자유를 필요로 하는 사람들이 있을 것이다.

================

사실은, 내 자유를 사회가 침해하고 있으며, 그 증거들을 열거하고, 시덥잖은 논리를 펼까 생각했는데,
조금 오버인 것 같아서 자유와 사회의 화해를 청해 보았다.

소위 "자유민주주의사회"에서, 사회의 압박으로 '자유'를 알거나 느끼는 사람이 거의 없다는 것은 아이러니 하기에 다시 말하지만,
나에게 자유란 달콤하고, 꿈과 같다.

2013년 12월 19일 목요일

매니저와 백업 프로그래머

매니저는 프로그래머가 아니다.

일반적으로 매니저는 사람과의 관계를 통해서, 혹은 lead를 통해서 일을 해 나가야 한다.
작업을 통해서가 아니라.

프로그래머에게 어떤 프로젝트의 관리를 하라고 하면,
프로그래머는 그 프로젝트를 분석하고 해부하고, 프로그램과 아키텍트에 대해서 많은 것을 알려고 노력한다.
프로그래머는 자신을 전문가라고 생각하기 때문에 어떤 질문이 왔을 때,
그것에 대한 답변을 잘 하지 못하면, 자존심에 스크래치를 입는다.
따라서 자신이 관계된 혹은 매니저가 된 프로젝트에 대해서 모든 것을 알 때 까지 멈추지 못한다.
자신이 "상관"이 되었으면, 자신보다 "아래"에 있는 사람을 압도할 정도의 지식이 없으면 어떻게 그들에게 당당히 지시를 내릴 수 있단 말인가?
...
라고 생각하는 것이 매니저가 된 프로그래머의 생각 방식인 것 같다.

그 결과로 이 매니저는 프로젝트의 몇 사람이 갑자기 빠져도, 프로젝트를 유지 시킬 수 있는 "백업 프로그래머"가 되고, 프로젝트 인계자가 된다.

물론, 상황에 따라서는 프로젝트를 맡긴 사람이 원한 것이 이것일 수도 있다.
정신나간 관리자가 프로그래머에게 "니가 저 프로젝트 관리해야 돼. 그러니까 백업 프로그래머가 되도록 해" 라고 시킨 것일 수 있으니 말이다.
내가 보기에는 이런 무능한 사람이 시니어 관리자인 경우도 흔히 볼 수 있다고 생각한다.

하지만, 일반적으로 프로그래머에서 관리자를 맡게 된 사람이 가장 먼저 알아야 하는 것은,
자신이 앞으로는 "관리"업무를 하게 된다는 것이다.
관리 업무는 직접적으로 무언가를 생산해 내는 것이 아니라, 생산 업무가 원활하게 이루어 지도록 관리하는 것이 업무이다.

컴퓨터와 사람으로 구성 된 소프트웨어 개발 환경에서 관리자가 할 일은,
컴퓨터와 사람을 관리하는 것이다.

대부분 컴퓨터는 잘 고장나거나 하지 않으므로, 90%는 사람을 관리하는 것일테다.
나머지는 코드 백업이 잘 되고 있는지, 서버가 불안정 하지는 않은지 같은 잡무와, 현황을 파악해서 궁금해 하는 사람들에게 털어 주는 정도일까?
아니면, 스케쥴 관리를 하면서 프로그래머 들이 안정적으로 개발하도록 이끌어 주는 것.

매니저 역할이 자신과 맞지 않는 많은 관리자가 된 프로그래머 들은,
"내가 이 프로그램을 완벽하게 모르는데, 어떻게 스케쥴을 관리하고, 어떻게 현황을 파악할 수 있겠어?"
라고 되묻곤 한다. 물론, 자신이 그 대답을 알면서도 말이다.

매니저는 프로그래머를 통해서 스케쥴과 현황을 알게되는 것이다.
당연히 프로그래머들은 그것을 매우 귀찮아 하고, 자신을 방해 한다고 생각하며, 당신을 싫어할 것이다.
마치 당신이 프로그래머 일 때 그랬듯이,
"왜 알지도 못하는 놈이 와서 남의 프로젝트에 끼어들어서 방해질을 하지?"
하는 생각을 하면서 말이다.

당연히 매니저가 된 프로그래머는 자신이 더 많이 안다고 외치기 위해 프로젝트를 프로그래머 보다 더 자세히, 촘촘히, 완벽하게 알고 싶어진다. 바로, 백업 프로그래머가 되고 싶어진다.

그렇지만, 매니저는 프로그래머가 아니다.
자신이 얼마나 훌륭한 프로그래머 였던지 간에, 당신이 이미 매니저라면,
당신이 해야 할 일은, 프로그래머의 생각을 들으며 관계를 다지고,
그들 필요하다는 일을 하거나 조율 해 나가며 신뢰를 쌓아서,
사람을 통해 전체 적인 방향을 더 나은 방향으로 이끌어 가야 하는 것이다.


물론, 이 글을 쓰면서도, 한 부분의 전문가인 프로그래머에게
사람을 관리하는 전문분야 외의 일을 "강제로" 시키는 것이 가장 큰 오착이라고 생각한다.

하지만, 자신이 선택했든, 그것이 짐 지워진 일이 되었든,
매니저가 되라고 했을 때, 백업 프로그래머가 되는 것은 크나 큰 패착이다.

매니저가 프로그래머를 이해하기 위해서 코드를 보는 것은 의미가 있는 일이겠지만,
프로그래머와 경쟁하거나, 자신이 백업 프로그래머가 되기 위해서 코드를 보지는 말아야 한다.

매니저가 되는 순간,
자신의 주 업무가 프로그래밍이 아니라는 것을 이해해야 한다.

매니저는 프로그래머가 아니다.