운도 좋다. 이번 한국방문 일정 중에 켄트 벡이 방한해서 세미나와 워크숍을 진행한다고 한다. 워크숍까지는 힘들겠지만 가족행사랑 시간이 겹치지만 않는다면 세미나에는 참석할 생각이다.

켄트 벡을 처음 가까이에서 본 것은 재작년 샌프란시스코 QCon에서이다. 그 때는 키노트 발표자로 나와서 Agile의 최신경향에 대해서 이야기했다. 그 전에 보았던 사진이나 동영상의 모습과는 달리  머리를 확 밀었던 때라 매우 강한 포스가 느껴졌던 것 같다. 열정과 감정이 넘쳐 항상 흥분해 있는 것 같은 마틴 파울러나 밥 마틴과는 완전히 반대로  중얼중얼 교수 스타일의 그의 발표는 사실 재미도 없고 지루해 보인다. 하지만 그 내용을 제대로 이해하고 듣는다면 그만큼 짜릿하고 흥분되는 이야기를 해주는 사람도 없을 것이다. 

이번 세미나는 그의 블로그의 글을 통해서 가끔 공개했던 설계에 관한 그의 생각과 그 동안 연구해왔던 주제들에 관해서 깊이 있게 다루는 시간이 되지 않을까 기대된다. 그 동안 보았던 그의 강의나 글을 생각해보면 내용은 결코 쉽지 않을 것이다. 전문 동시통역이 제공된다고는 하나, 과연 통역을 통해서 깊이 있는 발표 내용을 따라 잡을 수 있을지 의문이다. 켄트 벡은 상세한 발표 슬라이드를 준비하는 것을 본 적이 없다. 주제어나 간단한 그림 정도만 가지고 한참씩 이야기 할 터이니 슬라이드를 보면서 발표 내용을 따라잡기도 불가능할 것이다. 따라서 세미나에 가려는 사람은 사전에 그의 공개된 동영상 또는 음성 강의를 많이 들어보고, 최근의 그의 블로그 글들을 읽어보면서 충분히 사전지식을 갖추고 가는 것이 좋을 것이다. 그냥 유명한 사람 얼굴 한번 보고 싸인이나 받고 왔다고 만족할게 아니라면 말이다.

 

신청을 할까 하고 STEN의 세미나 등록안내를 찾았갔다. 내용을 읽던 중에 "대상"이 눈에 들어왔다. 참석대상은 "아키텍트, 설계자, 코더, 테스트 외 열정있는 사람"이라고 한다. 나는 그 중 어떤 사람인가 잠시 생각을 해봤다. 나는 "경영진을 상대한다"고 하며 "공중에 떠 다닌다"는 아키텍트가 되기를 거부하는 사람이니 아키텍트는 아니다. 그럼 설계자? 설계만을 전문적으로 해본 적도 없으니 설계자라고 하기도 뭐하다. 그렇다고 테스터이냐 하면 테스터를 자처해본 적도 없고, 테스트만 전문적으로 하는 책임을 맡아본 적도 없으니 테스터도 아니다. 그럼 남은 것은 코더뿐. 그럼 코더인가보다.

그러고 보면 내가 가장 좋아하고 즐거워하는 일은 코드를 만지는 것이다. 코드를 작성하고 다듬으면서 그 것이 동작하는 것을 보는 것이 가장 즐겁다. 코드를 가지고 함께 이야기를 나누며, 코드를 나눌 수 있는 상대가 가장 정이 간다. 반대로 개발,설계에 대해서 각종 버즈워드를 늘어놓으면서 붕 떠 있는 얘기들을 있어보이고 화려하게 하지만 코드는 한 줄도 보여주지 않는 사람들을 보면 거부감이 들고 짜증이 난다.

한편으로는 코더란 공장의 조립 라인에서 기계적인 일을 하듯이 아키텍처와 설계자들이 이미 다 만들어서 화려한 문서를 제공해주면 그것을 가지고 기계적으로 프로그래밍 언어로 변환하는 단순 노동자처럼 이야기하는 사람들이 있다. 좀 뒤져보니 코더->프로그래머->개발자(developer) 순으로 실력이 향상되는 것이며, 코더는 단순 노가다이고 프로그래머는 조금 생각을 가지고 코드를 만드는 사람이고, 개발자는 뭔가 멀리 내다보고 큰 뜻을 품고 프로그래머와 코더를 지휘하는 급쯤 된다고 설명하는 글들이 제법 눈에 띈다. 그 다음에는 아키텍트가 있으니 나는 아키텍트가 되는 것이 꿈이다라고 하면서 뭔가 열심히 하겠다는 글도 보인다. 외국 사이트도 크게 다를바 없는 것 같다. 코더란 고등학교 졸업 정도의 학력을 가진 사람들이나 하는 단순 작업이고 프로그래머란 학위를 가진 수준의 사람이 하는 것이라는 글도 보인다.

같은 코드를 만지는 사람을 그런식으로 분류하고 차이를 두는 이유는 무엇인지 나는 도무지 알 수가 없다. 그렇게 무자르듯이 코더와 프로그래머, 디벨로퍼를 나눌 수 있는 것일까? 또 코드를 만지는 사람은 가장 열등하고 낮은 수준의 사람이라고 보는 시각도 그렇다. 갈 수록 현장에서 개발자에 대한 시선과 대우는 형편없어지고 있다고 한다. 그 위에 UML과 CBD 등으로 무장한 설계자, 각종 아키텍처 이론과 지식으로 무장했다는 아키텍트 또는 화려한 말빨로 고객을 사로잡을 수 있는 컨설턴트들이 자리 잡고 있고, 코드를 만지는 사람은 가장 비천한 직종으로 빨리 탈출해야 하는 위치인 듯하게 말하는 사람을 자주 보게 된다.

그래도 나는 코드를 만지는게 제일 좋다. 코드를 통해서 가치를 만들어 내는 일을 할 때가 가장 즐겁고, 코드를 만들어 팀원들과 또는 다른 사람들과 나눌 때가 가장 행복하다. 또 다른 사람의 코드를 보며 그 안에서 배우는 것이 가장 많다. 로드 존슨은 J2EE Design & Development라는 자바엔터프라이즈 기술에 관한 전반적인 통찰을 주는 책을 쓰면서 모든 것을 코드를 통해서 말했다. 자신이 주장하는 바를 그대로 담은 3만라인에 달하는 코드로 된 예제를 책과 함께 제공해주었고, 그때의 코드가 거의 그대로 유지된 채로  발전해서 지금의 스프링이 되었다. 스프링을 공부하면서 AOP가 무엇인지 제대로 이해하고 싶다면 스프링의 트랜잭션 AOP를 지원하는 코드를 공부하는 것이 가장 빠르다고 믿는다.

내가 마틴파울러의 리팩토링 책에서 기억나는 것은 폼나게 써먹기 좋은 리팩토링 이름들이 아니고(이건 맨날 헷걸린다) 리팩토링으로 깔끔하게 다듬어져 가는 비디오대여 예제 코드이며, 밥 마틴의 책에서 기억나는 것은 OO설계로 재탄생하는 커피메이커 예제와 그의 카타로 등장하기도 하는 볼링게임 코드이다. 켄트 벡 하면 먼저 떠오르는 것은 그의 xUnit코드이다. JUnit 1.0의 코드가 TDD로 만들어져가는 과정을 머리 속으로 그려보는 것은 항상 즐거운 일이다. 내가 이 사람들을 좋아하는 이유는 자신의 주장과 의견을 항상 코드로 만들어서 설명하기를 즐겨하고 있고, 또 스스로 코드를 만드는 것을 즐거워한다는 점이다. 얼마전 스프링소스 시드니 사무실을 방문하고선 CEO로서의 업무를 보러 사무실 안으로 들어가지도 않고 구석에 앉아서 ROO의 테스트 지원모듈을 코딩하느라 시간가는 줄도 몰랐다고 하던 로드 존슨이나 긴 컨설팅 일정을 마치고 돌아와서 FitNesse 코딩을 하고 있다면서 지금이 제일 행복하다고 말하는 밥 마틴의 이야기를 들으면 기분이 좋다.

 

아무튼 다른 대상이 없으니 나는 "코더"로서 켄트 벡 세미나에 참석하게 될 것 같다. 

 

참, 호주에서 만난 사람들에게 "developer”라고 자신을 소개하면 대부분 부동산 개발업자(property developer)라고 생각한다.

Related posts:

  1. 유쾌한 이슈처리 재촉 메일

Facebook comments:

to “나는 코더다”

  1. Click HERE For Info
    [url=http://fakebootsonsale.com]fake ugg boots for sale[/url]
    fake ugg boots for sale

  2. You Could Look Here
    [url=http://bootsforwomenoutlet.com]uggs for women[/url]
    uggs for women

  3. mt shoes 나는 코더다 » Toby’s Epril

  4. cheap mbt sport shoes 나는 코더다 » Toby’s Epril

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha