컨센서스를 중시합시다...

어쩌다 이런 글을 사내 메일로 회람 했는데, 나중에 다시 써먹을 일이 없기를...
바라면서 인생의 기록으로 남겨둠...


컨센서스
라는 용어가 있습니다.

 

요즘 프로젝트 관련 내부 협의를 하다 보면,

다음과 같은 중대한 실책을 범하는 경우를 많이 보게 됩니다.

 

1.     개인적 의견 혹은 개인적 경험을 일반화 시켜 말하거나,

2.     팀 내부에서 주고 받은 의견을 ‘공식적인 결정’으로 확대 해석하거나,

3.     고객의 확인/승인을 거치지 않은 사안을 확정된 것으로 인식하는 경우

 

이런 오해는 단순히 오해/실수로 넘기기 어렵습니다.

자칫 크나큰 사고(프로젝트 실패, 일정 지연, 팀원 간 갈등, 책임 전가 등)

번질 수 있는 리스크(risk) 요소이기 때문에,

해당 문제가 발생할 경우 강력하게 제재하고 있습니다.

 

회사가 벤쳐로 시작한 회사 이지만, 큰 비전을 가지고 나아가고 있기에

더욱 더 견고한 조직이 될 수 있도록 팀원들의 기본 마인드 향상을 촉구합니다.

 

그리고, ‘변명’은 하지 맙시다.

프로페셔널한 조직은 오로지 ‘성과’와 ‘보상’이라는

합리적인 원인과 결과를 기반으로 하는 체제를 통해 발전해 나가는 것입니다.

 

변명, 혹은 ‘죄송하다는 표현’으로 자신의 오류를 무마하거나,

면죄부를 요청하지 마시기 바랍니다.

비유를 하자면, 프로 선수가 실책을 범하고 성적이 좋지 않으면

다음 해에 연봉을 조정하는 것으로 그 책임을 다하게 되는 것입니다.

 

사죄와 용서는 교회나 성당에서 가서 해야 하는 겁니다.

몸이 아프면 집에 가서 쉬고, 할 일을 못했다면 정확하게 보고하고

대책을 세울 수 있도록 하면 되는 겁니다.

 

부정적인 태도, 수동적인 표현, 최선을 다했다는 변명은

스스로 한계를 정하고 그 이상 나아가지 않겠다는 마음가짐을 보이는 것입니다.

 

팀 플레이를 해야 합니다. 혼자서 최고의 성과를 낼 수 없었다면,

팀원들의 협조를 구하고, 대책을 마련하고, 대안을 모색해야 합니다.

 

혼자서 영웅이 되려고 하는 사람은 조직에 남을 이유가 없습니다.

홀로 노력한 결과만으로 인정 받고자 한다면, 제가 거부하겠습니다.

문제의 원인을 남에게서 찾고, 자신은 숨으려고 한다면 비겁한 사람이라 칭하겠습니다.

 

한 해를 마감하는 달이면서 동시에 중요한 프로젝트들이 끝나가는 시점입니다.

유종의 미를 거두는 것도 중요하고, 즐거운 연말을 보내려면 각별히 프로젝트의

무난한 완성을 위해 노력합시다.

 

모두가 함께 나아가 결국 다 함께 행복해지는 회사를 만들어 가고 싶습니다.

아직은 여러분에 대한 기대를 버리지 않습니다.

 

감사합니다.

by 써니 | 2009/12/03 17:59 | Plan for 40 | 트랙백 | 덧글(2)

안되는 건 안되는 거다!?

모종의 프로젝트를 하고 있는데, 같이 프로젝트를 하고 있는 업체에서 연락이 왔다.
자신들이 만든 웹 서비스를 특정 환경에서 동작시키면 보안 상 동작이 안되는 게 맞는 거란다...
MS의 Internet Explorer는 보안 정책이 유연하지만, 파이어폭스나 사파리에서는
엄격한 정책 때문에 기능 자체가 동작할리가 없다고, 절대 안된다고 하는데...

우리 팀 개발자가 난색을 표하며 협의를 요청하길래, 씨익 웃으며 오히려 잘된거라고 응수했다.
우리가 만드는게 웹킷 기반의 클라이언트인데, 이참에 플러그인 기능 (ActiveX 아님)을
추가해서 동작하게끔 하면 독자적인 기술을 확보하는 거 아니냐고...

세상에는 두 종류의 개발자들이 있다.

자신이 아는 지식과 한계 속에서 더 멀리 내다 보지 않는 사람들과
한계를 만나면 즐거워 하며 그 너머로 나아가려고 하는 사람...

난 전자의 유형은 사실 개발자라고 부르지 않는다. 그들은 코더일 뿐...
단순 기술을 익혀서 코드를 조립만 하는 사람들도 필요하고
그들도 세상에 기여하지만... 제발 자신을 Creator라고 자부하지는 말자.

물론, 나도 아직 멀었지만... (개발 10년차 까지는 다들 초보인 거다...)

by 써니 | 2009/12/03 12:14 | Development | 트랙백 | 덧글(7)

소프트웨어 개발자로서 완전체가 된다는 것은...?

[잡생각] 완전체가 되어보자?!? : 제우스님의 글을 트랙백 합니다.

완전체라는 말이 잘 쓰이는 말은 아닌데, 그렇다고 철학에서 플라톤이 언급했다는 철인() 보다야 사람들의 귀에 더 잘 감길 듯 하여 트랙백한 글에서 사용한 표현을 그대로 쓰고 한다.

그냥 월급 받기 위해서 일용직으로 개발자들도 많지만, 그래도 많은 개발자들의 자신의 미래, 나아가야 할 방향에 대해서 고민하기 마련이다. 짧게 말해서, '10년 후에는 뭐 먹고 사냐?' 이거다... 그래서 '수련' 이라는 걸 하기는 해야 겠는데 뭘 해야 할지도 모르겠고, 뭐 그런 거 할 여력도 없는 경우가 태반이다. 그나마 노력하고, 학습한다는 사람들 중 부쩍 눈에 잘 띄는(?) 경우는 기술자 자격증 따거나, 아부의 기술 (꼭 나쁜 건 아니다)을 익히거나, 처세술을 연마하고 인맥을 쌓는 사람들이다. 왠지 자신감 있어 보인다고 할까? 결과의 질을 떠나서, 짧은 시간에 변화가 나타나기 때문에 더욱 잘 눈에 띄는지도 모른다. 허나, 이런 건 나름 선천적인 재능도 필요한 것들이라서, 소위 A형 혈액형 혹은 A형 혈액형의 성격을 타고난 소프트웨어 개발자들에게는 권장할만한 테크 트리가 아니다.

그렇다면... 사람 얼굴 쳐다보기 보다 모니터 바라보는 게 편하고, 애인 얼굴보다 코드를 더 자주 접하며, 마누라 보다 버그랑 더 많이 싸우는 이들에게 권장할 만할 테크 트리(tech tree)는 대체 뭘까?

언어를 열심히 수련해라? 나름 프로그래밍 언어를 십수년 연마해 봤는데, 프로그래밍 언어는 소프트웨어 개발 패러다임이 변화하는데 따라 유형처럼 뜨고 진다. 한가지 언어에 집착하다가는 특정 시대에 박제되어 화석으로 남겨질 뿐이다. 물론 예외는 있다. 코볼의 귀족들은 여전히 귀족이라고 한다. 그런데 코볼 같은 언어가 다시 나타날까? 과거는 과거일 뿐... C 언어를 잘하는 사람은 살아남을 것이다. 그런데 그건 C를 잘해서 살아남는게 아니라, 언어를 학습하면서 익히게 되는 하위 레벨 시스템에 대한 이해도가 높고, 성능 및 자원 관리에 대한 고급 스킬 능력자는 늘 귀하기 때문이다. (C언어로 OOP도 할 수 있다. 하지만, C++f로 만드는 것보다 몇 배의 노력이 필요하다.)

특정 도메인에 대한 지식을 쌓아라? 검색 엔진 개발자 라거나 자연언어 처리 전문가, 보안 전문가 라거나... 한 때 이런 식으로 개발자를 분류하는 이야기를 많이 접한 듯 하다. 이건 순수 개발자 테크 트리는 전혀 아니라고 본다. 물론 소프트웨어 개발자는 오로지 성능과 효율 면에서 우수한 코드만 짤 수 있는 사람이어야 한다는 말도 아니다. 다만, 특정 업무에 대한 지식을 많이 가지고 있다고 해서 유능한 개발자가 되는 것이라고 오해하지 말자는 것이다. 여기서 말하는 개발자는 구현(implement)하는 사람이지, 계획하고 설계 하는 사람들을 말하는 것이 아니다.

요즘 업무에 필요해서 몇가지 오픈 소스 (C++ 로 작성된 있고, Java로 구현된 것들도 있고...)들을 분석하고 있는데, 이런 말을 자주 접하게 된다.

Using *** is quite simple...

좋은 라이브러리나 오픈 소스를 사용해 보면 복잡한 기능 조차들도 정말 단순하면서도 우아한 코드를 작성할 수 있다는 것을 알게 된다. 허나, 그 내면에는 아주 복잡한 장치들이 정교하게 구현되어 있다. 진정한 구루(guru)들의 코드는 복잡한 내면은 감추어 둔 체, 오로지 손쉬운 사용법 만을 드러낸다.

유능한 프로그래머는 추상화(abstraction)를 잘 할 줄 안다. 추상화란 무엇인가? 한 마디로 백조의 호수라고 표현할 수 있다. 물 위를 흘러가듯 나아가는 백조는 편안하고 우아해 보이지만, 그 아래에서는 거친 물갈퀴 짓을 쉼없이 해대고 있는 것이다. 유능한 개발자는 우아한 인터페이스를 이용해서 다른 개발자들을 편안하게 해준다. 하지만, 그 자신은 남들에게 보이지 않는 치열한 고민과 노력을 이어가는 사람이다.

유능한 개발자는 혼자서 전체 시스템을 만들지 않는다. 그들은 혼자서 수십억, 수백억의 프로젝트를 해내는 수퍼맨이 아니다. 혹은 천재적인 재능으로 그 누구도 상상하지 못했던 소프트웨어를 만들어 내는 사람도 아니다. 그런 광기어린(?) 존재들은 그저 구름 위를 떠다니는 사람들이라고 이야기하자. 지금 이야기 하고 있는 주제는 태어날 때부터 창조자의 축복을 받은 사람들에 관한 것이 아니라, 평범한 재능을 바탕으로 더 나은 존재가 되고자 하는 사람들이 나아갈 길이다. 유능한 개발자는 시스템의 내부 관점에서 세상을 바라볼 줄 한다. 하지만, 시스템의 복잡한 내부를 그대로 드러내는 것이 아니라, 아름다운 외관만을 보여줄 뿐이다.

조금 다른 질문을 하나 던져 본다. 소프트웨어 기술은 끊임없이 변화한다. 그렇다면 평생을 공부해야 하는 혹은 평생 변화를 추종해야 하는 소프트웨어 개발자들이 완전한 레벨(혹은 만렙)에 도달하는 것은 어려운 일일까? 그렇지 않다고 본다. 왜냐하면, 소프트웨어 기술 혹은 하드웨어의 아키텍쳐가 어느 날 갑자기 바뀌는 것은 아니기 때문이다. 양자 컴퓨터가 개발되는 날이 언제인지 모르겠지만, 적어도 20년 혹은 앞으로 30년 정도는 폰 노이만 박사가 구축(혹은 발명)해 놓은 하드웨어 패러다임은 변하지 않을 것이다. 병렬 프로그래밍 기법이 중대한 화두가 되는 시점도 있겠지만, 글쎄 아직은 소수만을 위한 기술이 아닐런지... 한마디로 절차적 프로그래밍 기법 자체를 잘 이해하는 것만으로도 수십년은 잘 먹고 잘 살거라 생각한다.

소프트웨어 개발자로서 완전체가 된다는 것. 혼자 모든 걸 다 해내는 사람은 되는 게 아니라고 생각한다. 그럼 무언가? 앞서 이야기한대로 추상화를 잘해내는 사람이 아닐까? 그래서, 타인들과 함께 잘 협력할 수 있고, 팀과 회사 나아가 세상에 기여하는 사람이 된다는 것이 아닐까? 누구라도 그와 함께 일하고 싶어하는 그런 사람이 되는 것이다.

호수를 떠 다니는 백조처럼 우아한 모듈을 만들어 내야 한다. 그러기 위해서는 물 위와 아래를 동시에 볼 수 있어야 한다. 그리고 자연스레 어우러지게 해야 한다. 그가 만들어내는 코드는 사용하기가 쉬어야 하면, 또한 거의 모든 상황에서 잘 동작해야 한다. 또한 가장 기본적인 것이지만, 고객 혹은 사용자의 요구 사항을 충족할 수 있어야 한다. 그 내면은 매우 정교해야 할 것이다. 이런 능력은 단지 지식을 많이 쌓아감으로써 얻어지는 것이 아니다. 자기를 만들어내는 도공의 섬세한 손길은 결코 짧은 세월에 완성될 수 없는 것과 마찬가지다.

P.S. 그냥 대충 떠오르는 대로 두서없이 써내린 글인데... 나중에 다시 쓸지는 모르겠음...

by 써니 | 2009/11/30 18:01 | Plan for 40 | 트랙백 | 덧글(5)

KSUG 모임 발표 자료 공개

할 일이 산 너미 아니... 바다 처럼 쌓여 있음에도 불구하고..
백만년(?) 만에 자바 개발자 모임에 참석하러 갔습니다.
그저 참관이 아니라, 별로 아는 것도 없고 해 본 것도 없는 주제에 발표를 해 봤습니다.

주제는 '프로그래밍 패러다임의 진화와 스프링 프레임워크의 효용성' 인데,
제목에 비해서 내용은 상당히 부실합니다.

그래도 심심풀이로 읽어 보시라고 공개해 봅니다.

evolution_of_programming_paradigm_and_spring_framework.pptx

by 써니 | 2009/11/25 22:13 | Development | 트랙백 | 덧글(7)

명함, 혹은 박제된 인격

회사에서 늦도록 일 하다가 후임이 불현듯이 자신의 앞에 놓인 명함 뭉치를 꺼내들고 뒤적인다...
진도가 나가지 않는 답답함을 잠시나마 잊기 위해 무의식적으로 긴장을 풀어 보려는 행동일 것이다.

아는 선배와 후배들의 이름과 근무하는 회사를 거론하며, 혹시 아시는 회사가 있냐고 묻는다.
그리고, 하나씩 그들이 하고 있는 일들을 이야기 하며 약간의 경외 그리고 유능한 사람들과의
인맥에 대한 작은 뿌듯함을 드러내기도 한다.

건조한 어조로 대꾸한다. 별 관심 없다고...
그들이 지금 어떤 회사에서 어떤 직위에 있건 간에...
대학 교수이건, 혹은 대표 이사로 재직 중이건 간에...

까마득한 후임의 지인들 혹은 어차피 나랑 별 상관 없거나, 너무 먼 인간관계라고 생각하는 건 아니다.
명함에 박힌 직위와 소속은 그저 한 순간의 기록일 뿐이니까...
그리고 과거의 어느 시점, 혹은 현재의 한 순간,
그들이 누리고 있는 것들 혹은 앉아 있는 자리 만으로 평가해서는 안되는 것이라 믿기 때문이다.

과거 그리고 현재 까지 살아온 모습... 변해가는 모습들까지 볼 수 없다면
그저 알 수 있는 것은 박제된 인격 일 뿐이다.

내게는 나와 상관없는 사회적으로 성공한 사람들의 명함 뭉치 따위 보다는
지금 이 순간 함께 미래를 만들어 가고 있는 동료와 후임들이 더욱 소중하다.

진정 내 인생에 도움이 될 사람들은 늘 내 곁에 있는 이들이다.

by 써니 | 2009/11/24 01:24 | Plan for 40 | 트랙백 | 덧글(4)

◀ 이전 페이지          다음 페이지 ▶