박재성 자바지기 운영자

자바커뮤니티인 자바지기를 운영하고 있는 박재성 씨. 그의 전공은 ’공학’이 아닌 ’농학’이다. 다른 개발자들에 비해 늦은 대학교 때 처음으로 컴퓨터를 만졌지만, 늦게 배운 도둑이 무섭다고 했던가? 점차 프로그래밍의 재미에 빠져들었다. 군에 다녀온 후엔 본격적으로 컴퓨터 관련 일을 하자고 마음먹었다.
"남보다 늦게 시작한 일이기 때문에 알고리즘 등 밑바닥부터 하면 늦는다고 생각 했습니다" 그는 비즈니스 레이어, 최근의 프레임워크 등을 깊이 있게 배워서 전문가로 성장하는 것을 목표로 삼았다. 운이 좋았을까? 자바 커뮤니티를 운영하다 보니 회원들의 도움도 받을 수 있었고, XML이나 스프링프레임워크 관련 서적을 출간하는 등 전문가로 성장하는 데 많은 도움을 받을 수 있었다.
"경력을 만들어 가는 데는 남이 이미 선도한 것보다 스스로 선도해 나가야 합니다."
자신과 방향이 일치한다고 생각하면 적극적으로 책을 내고 커뮤니티에 글도 올리면서 꾸준한 활동을 해야 한다는 것. 그는 또 커뮤니티에 올라온 다양한 질문에 답하기 위해 스스로 더욱 공부하고 개발해 나갔다. 그러한 활동이 그의 개발 능력에 큰 도움을 줬다.
그는 프리랜서 생활도 했고, 외국에 나가서 다양한 경험도 쌓아왔다. 하지만 현재는 NHN이란 회사에 소속돼 있는 직장인이다. "자녀도 두 명이나 생기다 보니 아무래도 불안한 외부여건 보다 안정된 직장을 갖고 싶었습니다" 그는 솔루션 개발을 오랫동안 해오면서 힘들었던 기억을 갖고 있다.
경력도 많지 않았을 당시, 3개월 이상을 야근은 물론 주말까지 출근해서 개발에 전력을 다했다. 당시 막차 시간은 12시. 퇴근은 막차 시간 전에 이뤄졌다.
하지만 이게 웬 날벼락? 막차 시간이 새벽 1시까지로 연장된 것이다. 연장된 막차시간과 함께 연장된 근무시간. 당시 첫째가 3살이었는데 아빠 얼굴을 알아보지 못하는 불상사(?)도 생겼다.
"업무적인 것은 해결하면 되지만, 가족들하고 시간을 보내지 못했던 게 가장 힘들었죠."
현재 박재성씨는 회사 내에서 팀장이다. 야근으로 인한 역경(?)을 경험했던 그이기에 그의 팀원들은 특별한 사유가 없는 한 야근이 없다.
"제가 솔선수범해서 7시 10분정도 되면 먼저 나가버립니다. 제가 있으면 눈치 보고 퇴근 못하는 경우가 있거든요" 퇴근 시간인 7시가 되기 10분전. 팀 내에 있는 별도의 PC와 모니터에선 ’내일 또 만나자’는 작별노래가 나오며 퇴근을 종용한다. 10개월 이상 이렇게 한 결과, 개발하는데 더욱 효율적이라는 게 박재성씨의 설명이다.
그는 프로젝트를 시작할 때 변화를 좋아한다. 그 동안의 불합리하거나 비효율적인 부분이 있으면 개선하려 노력한다. "처음엔 낯선 환경 등으로 불평도 많이 들었지만, 결국 효율화된 개발환경을 만들고 나면 불평했던 개발자들도 고맙다고 말합니다. 이럴 때 정말 보람을 느끼죠."
그의 팀은 하나의 모니터를 보면서 작업한다. 일명 ’짝 프로그램’. 외국에선 많이 도입돼서 활용되고 있고, 논문 자료 등도 많다. 그는 "근무시간에 웹서핑, 불필요한 메신저 등 시간이 많이 낭비 된다"며 "’짝 프로그램’을 통해 일의 능률과 집중도가 향상 된다"고 말했다. 오히려 근무시간에 너무 열심히 일해서 불안할 정도.
그의 목표는 50세에 개발자로서 은퇴하는 것이다. 그 이후엔 제 2의 인생으로 농사를 짓고 싶단다. 시골에서 태어나 ’농학’을 전공했던 박재성 씨. 그의 인생에 있어 지금은 도시와 ’공학’으로 잠시 외도한 것일까? 물론 농학과 공학 둘 다 그의 천직이다.
"은퇴 후 농사를 지으면서, 커뮤니티 활동, 책 집필 등을 통해 개발의 노하우를 전수하고 싶습니다. 물론 그러려면 50세가 되기 전까지 제 자신을 더욱 발전시켜야 겠죠"
송영록 기자 syr@ittoday.co.kr
<TIP> 자바지기(www.javajigi.net)
지난 2001년, 동기 4명과 함께 공부하려고 기반 사이트 만들다 보니 자바지기가 생겼다. 동기들과 함께 운영했지만 참여도가 떨어지면서 박재성 씨 혼자 운영하게 된다. 2002년도 까진 XML위주 였고, 다음부턴 오픈소스 프레임워크 툴 위주로 진행했다. 주요 활동은 오픈소스 관련 스터디 진행 등 다양하다. 자바지기는 위키서비스가 꾸준한 사랑을 받으면서 위키 기반 스터디가 활성화됐다. 하루에 5000명 정도는 사이트를 방문한다. 위키가 콘텐츠 관리하기 상당히 좋게 돼 있다. 다른 커뮤니티는 게시판위주이지만, 자바지기는 지식콘텐츠를 지향한다. 그 콘텐츠가 위키를 통해 지속적으로 관리되니까 다른 곳 보다 퀄리티 면에선 앞선다고 자신한다.
다른 개발자이야기 보러가기최근 IT진화적인측면에서 볼 때 IT의 전략적 방향과 그에 대한 투자는 대부분 기업의 요구에 의하여 성장해 왔고 결정되었다. 다시 말하면, 대부분의 마이크로 프로세서와 하드웨어 기기(device) 그리고 대부분의 소프트웨어에 이르기까지 모두 기업이나 정부 공공기관 같은 곳에서 먼저 도입되고 사용되었으며 일반 소비자는 최후에 사용하는 것이 일반적인 IT기술의 전파 순서라고 볼 수 있었다. 그러나 오늘날의 추세는 DMB휴대폰, PDA, VoIP, 블로그(blog)와 Instant messaging등 일반 소비자를 위한 기기나 기술이 소비자 시장에 먼저 소개되고 그후 이런 기술들이 점차 검증을 통해 기업의 환경에 도입되는 경우가 많아지고 있다. 이런 현상을 가트너는 IT의 소비자화(Consumerization of IT)라고 설명하고 있다.
IT의 소비자화는 소비자에 의해 채용되거나 또는 소비자 사용을 위해 디자인된 제품이나 서비스에 대한 영향이 전체 IT시장(개발자, 기술 제공자, 그리고 기업등)에 영향을 미치는 것을 의미한다. 소비자 지향적 기술들은 가트너의 예측에 의하면 2030년까지 리치 미디어 센터(rich-media center) 기술, 소비자 위주의 웹 사이트(web sites) 소프트웨어와 개발 플랫폼, 또는 비디오휴대전화와 3-D 그래픽 등이 IT 툴로서 자리 잡을 것으로 보고 있다.
동시에 인터넷 개념이 다시한번 소비자 시장 현상(consumer market phenomena) 또는 소비자의 구매력에 의하여 그 중심에 서고 있다. IT의 소비자화와 제2의 인터넷 혁명은 서로서로 영향을 주고받는 아주 밀접한 관계를 형성하고 있는데 특히 소비자 위주의 현상은 새로운 인터넷 동향의 주요 동인으로 역할하고 있으며 인터넷과 인터넷기술을 도입한 기업들이 동인인 것이다. 그러나 소비자화 현상은 인터넷보다 넓은 범위의 IM, 데스크서치, 게임을 위한 협업기술, PDA등을 포함하며 인터넷은 소비자 중심의 관점에서 벗어난 측면도 있다. 그럼에도 불구하고 인터넷과 소비자화는 서로 밀접하게 연계되어 시너지 관계를 가지고 있다. 이런 소비자화와 제2의 혁명은 다음과 같은 변화로 정리할 수 있다.
1. 경제적 트랜드의 변화
IT제품의 소비자 시장 증가는 지난 2000년 초의 불경기 동안 IT벤더들이 일반 소비자를 위한 제품과 서비스를 제공하므로써 성장을 해왔다고 볼 수 있다. 보기로 일반 PC의 소비는 오래전에 벌써 기업 수요보다 일반 소비자를 위한 시장의 규모나 성장이 앞서고 있었다. 또한 이런 현상은 반도체 산업에서도 손쉽게 찾아 볼 수 있는데, 일반 소비재와 관계있는 반도체 분야인 자동차 전장 장치, 휴대기기, 그리고 게임 산업등이 향후 10년 동안의 반도체 산업성장을 이끌어 나갈 것으로 보고 있다. 일반적인 가전산업의 성장은 전에는 전자산업으로 생각되지 않던 자동차나 텔레메트릭스 같은 것들이 소비자 시장에 빠르게 접목되면서 시장의 주목 받고 있다. 미래의 전망도 스마트폰이나 가전기구들이 점차 지능화되면 될수록 이런 현상은 지속될 것이라고 보고 있다. 그리고 소비자 시장의 특징인 짧은 제품수명 주기에 따른 전체적인 IT제품에 대한 제품수명도 짧아 질것이라고 보고 있다. 물론 이런 짧은 제품 수명 주기는 여러 벤더에게 기회이며 또한 도전이기도 하다.
2 사회 및 데모그래픽적의 변화
사회적 정치적 현상은 성공적인 기술과 제품 또는 서비스에 많은 영향을 준다. 반대로 그 기술의 사회적 배경에 대하여 이해하지 못하는 것은 실패를 자초하는 일일 것이다. 따라서기술적 시장에 영향을 주는 △즉시성에 대한 요구 증대 △노령인구의 증대와 디지털 네이티브의 증대 △독거 인구 증대와 개인화 경향 △개인생활 보호의 강조 쇠퇴화 △글로벌화 등 사회적 경향은 지금 소비자화를 가속시키는 원인으로 작용하고 있다.
3. 작업현장의 변화
대부분의 소비자 시장을 위한 제품은 다른 시장에 2차적인 영향을 주는 경향이 있는데 특히 기업의 IT시장에 미치는 영향은 주목할 만하다. 최근의 가트너 조사에 의하면 조사대상자의 50%는 최소 60%의 그들 기업의 종업원이 소비자 대상(consumer-grade) 소프트웨어(예로, Google의 데스크톱이나 여러 freeware)를 사용하고 있다고 답변했다. 이 조사는 또 소비자 대상 소프트웨어의 사용은 대기업에서도 꾸준히 증가하고 있는 결과를 보여주고 있다. 이것은 PC사용의 친밀도와 함께 직장과 가정이라는 일의 경계선이 여러가지 무선기기와 휴대용 기기의 보급으로 점차 허물어지고 있는 상황을 보여 주며 집에서 사용하던 개인 소프트웨어를 회사의 업무에 적용시키고 지속적으로 사용하는 경향을 보여 주는 것이다.
이런 변화는 기업 IT에 두가지를 시사해 주고 있다. 첫번째로 기업은 일반 소비자들이 사용하는 소비자 대상의 소프트웨어의 기업 채용을 하여 기존 종업원의 생산성뿐 만아니라 새로 채용되는 신세대 종업원의 작업환경을 고려하는 계기가 되며, 미래의 모발 또는 유비쿼터스 사회에서 기업 IT 인프라와 정책 등에 대한 변화를 예고하는 것이기도 하다.
웹2.0은 커뮤니티와 협력을 위한 새로운 모델을 포함하는 비즈니스적, 사회적, 기술적 진보라고 볼 수 있다. 물론 여기에는 웹2.0 유형의 매시업을 만드는 가벼운 프로그램 모델이나, 블로그, 웨키, 폭소노미 또한 사회적 네트워크 등의 기술들이 필수적으로 자리잡고 있다. 한편 소비자화는 소비자 세계에서 사용되고 나타나는 소비자 위주의 기술들의 지속적인 성향에 중점을 두며 기업에 도입되기 전에 어떻게 안전하게 사용돼야 하는지에 대하여 재고하게끔 한다. 소비자시장이 지속적으로 진화하고 혁신을 만들어 갈 수 있다면, 새로운 비즈니스 선두주자격인(예로, 엔터테인먼트 산업과 가전제품의 융합화에 따른 비즈니스 성공, I포드, 구글맵을 이용한 많은 벤처기업등)회사들이 이뤄냈던 첫번째의 성공을 능가하는 성공을 이룰 수 있을 것이다.
이 두가지 상위개념의 트렌드는 기술 기반의 혁신을 만들어 가고 있으며 IT를 초월한 영향력을 발휘할 것이다. 오늘날 웹2.0은 실제 웹 자체이고 끊임없는 우리의 일상생활에서 인터넷과 소비자가 주도된 혁신에 영향을 줄 것이다. 벌써 인터넷에는 웹2.0이라는 유행어를 넘어서 웹3.0이나 시멘틱 웹 또는 가상커뮤니티의 출현등등이 이야기되고 있다. 분명한 것은 웹이 소비자화와 뭐라고 불리던간에 우리 사회와 기술과 비즈니스에 영향을 줄 것임에는 틀림없다.
연규황 가트너코리아 이사
Warwick/Hull university, Aston University IT전략 박사수료
한국생상성본부 선임연구원
고도컨설팅 선임 컨설턴트
Bauer & Partner GmBH(독일 소재)
Bauer & Partner Ltd.(영국소재)
가트너 컨설팅 디렉터 등.
출처 : 아이티투데이
웹 2.0의 정의
웹2.0은 한마디로 정의하거나 설명하기는 어려운 개념이다. 때문에 웹2.0에 대한 여러 토론에서 장황한 설명만 소개되곤 한다. 대부분의 전문가 의견에는 웹2.0의 사회적 측면이 보다 두드러지게 나타난다. 보다 많은 개방성, 프로세스 상의 투명성, 몇몇의 신기술(예를 들어, RSS 및 Ajax과 같은)의 사용과 개방적인 아키텍처 스타일, 경량의 ‘간단/단순화’ 접근법에 대한 강조 등이 포함된다. 이 속성 중 다수는 서로 연관성을 가지고 있다. 예를 들어 오픈 소스 기술은 단순성, 투명성, 경량성의 속성을 가진다는 것이다.
1. 사용자 중심
웹2.0 벤처회사들이 취하는 사용자 중심의 방법은 웹2.0의 사용자 중심이 무엇인지 알 수 있도록 해주는데 여기에는 다음과 같은 방식에 의존하는 것이 포함된다.
사용자 공여 콘텐츠 : 온라인 백과사전인 위키피디아(Wikipedia)는 12개 언어 이상의 10만여 공여자들에 의해 작성된 놀라울 정도로 높은 질적 수준과 일관성 수준을 가진 백만 건 이상의 내용들이 있다. 또 다른 사이트인 트립어드바이저(TripAdvisor)의 경우 파트너를 맺고 있는 일반 여행 사이트를 통해 사용자가 호텔을 예약할 수 있도록 하고 있다. 웹1.0의 여행 사이트와는 달리, 여기에서는 호텔에 대한 3백만여 사용자 공여 논평들을 통해 중추적 의사 결정 지침을 제공하고 있다.
사용자 생성 메타데이터 : 태그 클라우드 딜리시우스(TagCloud, Delicious) 및 펄(Furl)과 같은 사이트에서는 사용자에게 웹 페이지의 미가공 데이터 위로 메타데이터(태그 및 북마크)를 쌓아서 다른 사용자들과 공유하는 것이 가능케 하고 있다. 구글의 검색 결과가 함축적 사용자 생성 데이터와 구글의 페이지 랭크 엔진의 입력 인풋의 역할을 하는 페이지 간 하이퍼링크 된 관계의 방대한 양을 근거로 하기 때문에 구글 검색 엔진은 웹2.0의 가장 선두 회사 중 하나로 간주될 수 있다고 하겠다.
개인화 된 시장(market of one) 겨냥 : 차별화되지 않은 대중 시장(mass market)에서 고도로 차별화된 미세 시장(micro market)으로 시장 공략을 이전하는 것이며 이러한 마케팅의 움직임은 ‘시장 수요 곡선에서 ‘롱 테일(long tail)’을 개발’하는 것으로 규정되어 왔다. 많은 시장의 경우 주류이자 고수요성을 띠고 단일적인 경향을 가진 대량 생산된 소수의 제품(즉, ‘블록버스터’ 제품)과 다변화, 특화된 틈새시장을 겨냥한 다수의 제품이 그리는 지수 곡선에 의해 특징지어진다. 웹은 이러한 미세 시장의 다각성에 접근할 수 있는 강력한 매체라고 할 수 있다.
혁신적인 사용자 중심의 설계 방식 : 더 나은 사용자 경험에서 기인하여 보다 잘 수용되어져 온 구글 맵과 지메일(Gmail)은 사용성 부문의 혁신을 통해 오래되고 친숙한 애플리케이션을 다시금 활성화시킬 수 있음을 입증하고 있다. 구글이 제공하고 있는 핵심 혁신 사항 중 몇몇은 인간 공학 설계 원칙에 연계를 두고 있으며, 특정 소프트웨어 기술과는 전혀 결부되어 있지 않다.
사용자 제어 웹 경험 : 웹 디자이너들은 종종 멋있지만 활용이 불가능한 디자인(예로, 사용자가 변경할 수 없으며, 심지어 출력 화면 상 읽기 어려운 고정된 사이즈의 활자면)을 선택했던 과거의 방법을 점차 지양하고, 대안적 브라우저(Firefox 또는 Opera), CSS 스타일시트(Cascading Style Sheets), 웹 페이지 콘텐츠의 사용자 조작(예로서 Greasemonkey) 등에서 그 연유를 찾아볼 수 있는 방법으로 웹을 전환하고 있다.
2. 개방성
웹2.0 기업들은 개발 프로세스와 기술, 비즈니스 모델 면에 있어서 개방성과 투명성에 한층 역점을 두고 있다.
개방형 서비스 : API를 개방하고 웹 기반 서비스를 최소한의 감시 또는 통제를 수반하여 외부 세계에 노출(예시: Google Maps, del.icio.us, Flickr)
개방형 기술 토대 : 자원이 부족한 기업가가 자유롭게 사용할 수 있는 오픈 소스 기술(예: LAMP)에 의존하게 한다.
개방형 지적 소유권(IP) : 한 기업의 고유한 소프트웨어 생성 시 이의 소스를 오픈함.(예시: 지적 소유권을 오픈 소스화 한 LiveJournal, Zimbra, Socialtext 및 Laszlo Systems) IP는 코드에 국한한 것이 아니라 콘텐츠에도 적용된다. 위키피디아와 같이 콘텐츠에 집중한 사이트는 오픈 소스 콘텐츠 라이선스를(GFDL, OPL 또는 Creative Commons와 같이) 당 사이트의 정보 자산에 적용한다. 이와 유사하게 웹로그 출간 소
프트웨어는 ‘블로거들’이 개방형 콘텐츠 레이블을 그들이 입력한 정보에 적용하도록 할 수 있게 한다.
개방형 비즈니스 관행 : 간부급 매니저들이 ‘블로그’나 기술 백서(white paper)를(예시: 소속 기업의 서버 아키텍처에 대해 상세하게 기술한 라이브저널의 CTO, Brad Fitzpatrick) 통해 시장에 대한 개인적인 관점을 피력하고 의견 소통할 수 있도록 하는 것을 볼 수 있다.
3. 단순성 및 경량성
‘간단/단순화’ : 구현이 복잡하고 사용성 측면에서 뒤떨어지는 결점을 지니는 과도하게 야심 차거나 넓은 범위를 망라하려 구성된 일련의 내용 대신, 웹2.0은 하나의 기능적 분야를 선택하고 그것을 제대로 구사하게 한다. 예로는 일정잡기(Trumba), 이메일(Zimbra), 사진 공유(Flickr), 이미지 인식(Riya)등을 들 수 있다.
디자인의 간소화 : 인터넷 검색 엔진들이 복잡다단하고 혼돈된 레이아웃을 적용했을 당시, 구글은 올바른 길을 제시한 바 있다. 구글에서는 단일 텍스트 기입 박스를 사용하였고, 홈페이지에는 십여자의 단어만을 포함하였다. 여타의 기존 온라인 지도 검색 사이트들이 사용자에게 다수의 부분에 데이터를 입력하도록 요구하는 것과 비교했을 때, 구글 맵은 사용자들이 단일 텍스트 기입 박스에 거리나 도시, 주 및 원하는 장소를 입력하게 함으로써 이 접근법을 지속 하고 있다.(예를 들어, ‘Sacramento 내 피자 점포’ 또는 ‘123 Main Street, Peoria, IL’).
경량 프로토콜 : SOAP, WSDL 및 XML을 포함한 중량 웹 서비스 대신, 현재 많은 사이트들은 XML이나 자바스크립트 객체로(중량의 XML 분석이 요구되지 않음) 복귀할 수 있는 단순한 HTTP GETs에 의존하는 경량의 REST 패턴을 선호하고 있다. 중량 XML에 대한 또 하나의 부상하고 있는 대안은 경량의 애플리케이션 지향 HTML 태그(또는 ‘마이크로체제’)라고 할 수 있다.
경량의 사용자 인터페이스 기술 : 다수의 웹2.0 사이트는 풍부한 사용자 경험 제공을 위해 Ajax 기술을 사용한다. Ajax는 HTML에 비해 무겁긴 하지만, 플러그 인(예시: ActiveX 컨트롤, Java 애플릿, Flash, Scalable Vector Graphics 또는 PDFs)에 의존하는 접근법과 비교했을 시는 가볍다고 하겠다. Ajax를 이용해, 풍부한 사용자 경험을 제공하기를 모색하는 디자이너가 중대한 오픈 소스 지원을 등에 업은 경량의 대안을 획득할 수 있다.
경량 스크립팅 언어 : 중량의 C++, C# 또는 Java/J2EE를 사용하기 보다는, 많은 웹2.0 벤처기업들은 개발 언어를 위해 PHP, Python, Perl 또는 Ruby와 같은 경량의 스크립팅 언어를 선택하고 있다.
경량 개발 프로세스 : 거대한 규모에 비용이 많이 소모되는 개발 팀 대신, 민첩한 개발 방법론을 사용하는 소규모 팀(한 명에서 여섯 명의 개발자)에 의존한다.
4. 분권화, 분산화 및 참여성
분권화 및 분산화 된 콘텐츠 : 콘텐츠는 RSS 및 아톰(Atom)과 같은 경량 신디케이션 프로토콜을 통해 다른 사이트로 분산된다. 이와 마찬가지로, 콘텐츠는 동일한 메커니즘을 통해 타사의 사이트로 병합 될 수 있다. 콘텐츠는 분산화되어 있을 뿐 아니라, 분권화되어 있다. 예를 들어, 블로그의 ‘트랙백(trackback)’ 메커니즘의 경우 한 명의 블로거가 자신의 블로그에 정보를 입력함으로써 다른 블로거의 정보에 대해 의견을 제시할 수 있게 한다.(대상 블로그에 대해 참조의 형태로 나타남) 위키피디아는 분산화되어 있지는 않지만, 이의 콘텐츠 생성 방식(Bottom-up방식)은 고도로 분권화되어 있다.
<기고자 프로필>
연규황 가트너코리아 이사
가트너에서는 IT기술의 소비자화를 제2의 인터넷 혁명의 가장 중요한 현상으로 정의하고 있다. 또 이런 현상은 웹2.0의 진화에 주된 동인이라고 분석하고 있다. 웹2.0의 속성과 그 동인에 대하여 소개 하고자 한다.
출처 : ITTODAY
라디오프로듀서가 꿈이었던 한 청년이 있다. 현재 그는 라디오 프로그램 대신 컴퓨터 프로그램을 만드는 개발자다. 바로 닷넷계의 훈남으로 불리는 훈스닷넷의 박경훈 씨. 20살이었던 2002년에 닷넷세계에 첫 걸음을 내딛었다. 현재 그는 26살에 불과하지만 실력과 경험은 누구 못지않다. 지난 2005년엔 KBS에서 선정한 ’미래의 젊은 주역 60인’에도 뽑혔고, 마이크로소프트 최연소 MVP로 활동하기도 했다.
"제가 닷넷계에 들어오게 된 건 아는 형이 컴퓨터 프로그램을 만들며 돈을 버는 것을 목격하고 나서 부터입니다(웃음)."
수능점수에 만족하지 못하고 재수를 선택했던 당시 그는 닷넷에 빠져들었다. 아는 형이 컴퓨터 프로그램을 만들며 돈을 많이 번다는 것을 알게 됐기 때문. 수능 공부를 잠시 미루고 닷넷을 본격 적으로 공부하기 시작했다. 시작은 다소 불순(?)했지만, 하면 할수록 닷넷세계에 매료됐다. 더 잘 해보겠다는 욕심에 닷넷에 대한 개인 홈페이지도 만들었다. 스스로 공부한 것을 저장하고 자료도 모으던 개인 홈피가 2004년에 훈스닷넷이란 커뮤니티로 발전한 것. 커뮤니티 운영과 함께 그는 책을 쓰는 것을 좋아한다.
"어릴 때부터 책을 정말 쓰고 싶었습니다. 대학교를 포기한 이후엔, 그걸 뛰어넘기 위해 서 라도 내 이름을 담은 책을 꼭 쓰고 싶었죠."
벌써 4권의 책을 펴낸 그지만 초반엔 책을 쓰기가 녹록치 않았다.
책 기획서를 작성하고 출판사에 보내도 매번 함흥차사 였던 것. 나이가 어리고 경력이 일천한 그를 출판사에서 신뢰하지 않았기 때문이었다.
삼고초려라고 했던가? 거의 책 쓰는 것을 포기할 때 쯤 한 출판사에서 연락이 왔다. 이때부터 그의 즐거운 고생은 시작됐다. 출판사와 계약을 하고 나니, 책을 쓰는 것은 자기와의 싸움이 아닌 출판사와의 ’약속’ 으로 변한 것. 지키지 않으면 안 되는 필요충분조건이 발생한 것이다. 특히 영어 번역을 할 때였다. 총 600페이지를 번역해야했다. 하지만 두 달 째까지 번역한 페이지는 겨우 반이 조금 넘은 350페이지 정도. 두 달에 했던 양을 한 달 내에 마무리해야 했다. "고3 수험생도 이렇진 않았을 겁니다. 회사에서 6시까지 일하고, 도서관에 가서 12시까지 번역하고 차가 끊긴 관계로 찜질방에서 잠을 잤죠. 무려 한 달 간 이나요"
몸은 고됐지만 번역을 하면서 그 책의 내용을 자기 것으로 완전히 소화해 낼 수 있었다는 점에서 유익한 작업이었다.
현재 병역특례 중인 그는 6시까지 일과가 끝나면 또 다른 일과를 시작한다. 커뮤니티 세미나 강연, 책 집필, 무엇보다 새로운 기술에 대한 공부는 끊임이 없다. "개발자의 길에 들어서서 2~3년 지나면 게을러지는 사람들이 많은데, 개발자는 자기 계발을 꾸준히 하는 것이 가장 중요합니다. 회사에서 원하는 스킬만 공부하는 것은 게을러 지는 지름길이라는 게 박경훈 씨의 생각이다.
그는 자기발전을 위해 커뮤니티 활동과 저서활동을 추천했다. 스터디를 할 때도 단순히 참여하는 것 보다 스터디를 리드해 나가야 한다고 밝혔다. 자기와의 약속보다 남과의 약속이 더 효과 적이라는 생각에서다.
"국내 개발자들은 자기가 만든 소스를 오픈한다는 것에 대해 소극적입니다. 창피하다고 생각하기도 하고, 잘난척한다고 주위에서 웅성거릴 거라고 걱정도 하죠. 하지만 우리나라 IT가 발전하려면 외국의 오픈소스 프로젝트 처럼 적극적인 활동과 자신의 노하우를 공유하는 것이 필요합니다"
그는 개발자로써 자신의 지난 6년에 대해 적성을 발견한 기간이었다고 평가한다. 또 앞으로의 목표도 명확하게 발견할 수 있었다. 바로 지식과 경험을 공유하고 전달하고자 하는 욕망. 그 유익한 ’욕망’ 이 올바르게 발현될 수 있도록 그는 끊임없이 노력하고 있다.
송영록 기자 syr@ittoday.co.kr
<TIP> 훈스닷넷(www.hoons.kr)
2002년 HOONS와 + BARA(옛님)라는 아이디를 합쳐 모든 이들의 꿈이 담긴 그곳 www.hoonsbara.com 이라는 홈페이지를 만들어 오픈했다. 당시 HOONS는 닷넷에 입문하던 시기라 혼자 asp.net을 공부하기 위한 목적으로 홈페이지를 만들었던 것이다. 웹 디자이너도 아니었던 HOONS였지만 본능적인 디자인 감각과 센스에 힘입어 파스칼틱한 깔끔한 사이트가 탄생하게 됐다. 훈스닷넷은 HOONS 20살에 만들어 졌기 때문에 HOONS도 젊고 운영자들도 다 젊다. 젊은 사람들이 하다 보니 열정과 창의력 그리고 하고자 하는 의지가 무한한 것이 자랑이다. 연극과 라디오 방송 등 다양한 이벤트로 닷넷을 쉽게 배울 수 있는 기회를 많은 이들에게 줬다. 이런 창조적 열정으로 앞으로도 닷넷계를 이끌어 나갈 훈스닷넷이다.
김석 대한민국솔라리스사용자모임 운영자

대한민국 솔라리스 사용자 모임(KSUN)의 회장직을 맞고 있는 김석 씨. 본명은 김석이지만 김재벌이란 이름으로도 활동하고 있다. 돈이 많다는 의미의 ’재벌’이 아닌, 좋은 사람들이 많다는 의미에서의 ’재벌’이다.
"사람들을 많이 만나는 게 중요합니다. 당장 아쉬워서 만나는 게 아니라 보험을 드는 것 처럼 언제 닥칠지 모를 어려움에 대비해 사람들을 만나는 겁니다"
김석 씨는 "온라인을 통해 필요한 자료만 얻어 가는 사람은 자신이 원하는 ’재벌’이 아니다"라며 "온라인, 컨퍼런스 등의 오프라인 그리고 뒷풀이에서 까지 함께 하다보면 진정으로 ’재벌’이 될 수 있다"고 말했다. 기술은 기술일 뿐이 아니라 사람을 위한 거고 사람이 뭉칠 수 있게 도와주는 것이 바로 기술이란 얘기다.
김석 씨는 대학에서 상경학부를 나왔다. 하지만 그의 성적표만 보고 공대인지 상대인지 구별하는 것은 불가능하다. 대학에 입학하고 본격적으로 컴퓨터에 관심을 갖게 된 후, 전공은 최소한으로 듣고 소프트웨어 테스팅, 각종 프로그램언어 등의 컴퓨터 쪽과 경영정보, MIS 관련 수업을 들었기 때문이다.
그는 "경영적 마인드를 키우기 위한 공부도 해왔기 때문에 컨설팅하기에도 좋다"며 "자기 세계에 갖혀 다른 사람들과 의사소통을 잘 하지 못하는 사람들이 많은데, 그런 점에서 경영쪽 마인드를 갖추는 것도 개발자로서 도움이 된다"고 설명했다. 하지만 이런 그의 이력이 오히려 좋지 않은 쪽으로 작용하기도 했다. 상경대 나와서 컴퓨터를 한다고 무시당하는 일이 많았던 것. 그는 "상대출신이 무슨 코딩을 만드냐고 비아냥 대는 사람들을 실력으로 눌러주기 위해 더욱 더 공부에 매진했다"고 말했다.
재벌인 그에게도 힘들었던 시절은 있었다. 바로 그가 결혼했던 2003년. 1년도 넘게 한 프로젝트에 대한 돈을 받지 못했던 것이다. 때문에 갓 결혼한 그의 생활이 힘들었음은 말할 필요가 없었다. 당시 국방부에서 계약직으로 보안담당관을 맡아줄 것을 제의해 오기도 했다. 하지만 ’열심히 하는 사람은 즐기는 사람을 이기지 못한다’는 말이 있듯이 사람은 자기가 하고 싶은 일을 해야 하는 것이 김석 씨의 신념. 동네에서 워드프로세서 강의를 해도 컴퓨터 쪽 일을 해야겠다며 그는 국방부의 제안을 거절했다. 결국 당시 상황은 전화위복이 됐고, 개발자로써 더욱 발전할 수 있는 계기가 됐다.
그는 요즘 아쉬움이 많다. IT를 하는 사람들이 예전만 못한 현실 때문이다. 취업이 급한 요즘 세상이다 보니 뛰어난 기술을 갖춘 사람들이 시장에 나오지 않고 영어공부나 공무원 준비에 매달리기 때문이다. 또한 요즘은 3개월 내지 6개월의 짧은 취업 교육 코스를 밟고도 개발자가 될 수 있다. 그는 "취업을 위한 탈출구로써의 IT가 아니라 진정으로 좋아하고 원해서 하는 IT라야 성공할 수 있다"고 강조했다. 단순히 취업을 위해서 선택한 IT라면 초급에서 중급으로 넘어가는 기로에서 포기하는 경우가 대부분이라는 지적이다.
김석 씨는 IT업계에 대한 불만도 표시했다. 어느 업계나 마찬가지겠지만 바로 학력위주의 인력 선발이다. 개발자 세계에서 잘 알려진 그에게 좋은 개발자를 추천해 달라는 부탁이 자주 들어온다. 하지만 그가 추천 했다 해도 일단 고졸이라는 딱지가 붙으면 탈락하기 일수다. 그는 "정말로 실력이 뛰어난 친구인데도 불구하고 고졸이라는 이유로 이력서를 넣는 족족 다 떨어진다. 또 고용을 한다 해도 터무니없는 금액을 제시하는 경우가 다반사"라며 아쉬워 했다. 제대로 된 기회라도 줬으면 좋겠다는 게 그의 심정이다. 앞으로 솔라리스 동호회를 활성화 시키고, 관련 책도 집필할 예정인 김석 씨. 그의 또 다른 목표는 뛰어난 후학들을 많이 양성하는 것이다. 그의 또 다른 이름인 ’사람’ 재벌 처럼 IT업계의 수많은 재벌이 탄생하기를 기대한다. 물론 ’사람’ 재벌 뿐 아니라 ’돈’ 재벌도 나와 줘야 IT가 더 크지 않을까.
송영록 기자 syr@ittoday.co.kr
<TIP> 대한민국 솔라리스 사용자 모임(www.ksun.co.kr)
지난 2004년 JCO를 밴치마킹해 설립된 KSUN은 국내에서 온라인상으로 활동하고 있는 솔라리스 관련 비영리 커뮤니티를 통합한 사용자 그룹이다. 솔라리스 관련 기술정보의 공유를 목적으로 하며 휴먼 네트워크 형성을 핵심 기조로 삼고 있습니다. 또한 분산되어있는 솔라리스 관련 자료와 사용자를 하나로 통합해 한국 솔라리스 유저들의 목소리를 대표하는 사이트로 거듭나는 것이 목표다.
현재 KSUN은 ▲솔라리스 스쿨 ▲하우투 솔라리스 ▲다음 osschool ▲네이버 솔라리스 테크넷 ▲네이버 솔라리스 전문가들 ▲ 프리첼 썬솔브 이렇게 6개의 회원 사이트로 이뤄졌다.
KSUN의 운영진은 회장을 비롯해 부회장, 총무, 대외전략팀 등으로 구성돼 솔라리스 사용자 뿐 아니라 다수의 IT 관련 커뮤니티와 연계를 통해 보다 나은 휴먼 네트워크 구축을 위해 노력하고 있다. 또 각 커뮤니티는 상호간의 정보공유와 협력을 통해 솔라리스의 저변 확대를 위해 노력하고 있다.
다른 개발자 이야기 보러가기
.gif)
안철수 의장이 밝히는 개발자로 성공하기 위한 5가지 비결
개발자 전문 포털 ‘데브멘토(www.devmento.co.kr)’가 9월 27일 주최한 ‘2008 대한민국 SW 개발자 컨퍼런스’의 기조연설을 안철수 안철수연구소 의장이 맡았다. 안철수 의장은 개발자로 성공하기 위한 5가지 비결을 설명했다. 기조연설 중 핵심 내용을 전문 게재한다. <편집자주>
개발자들이 지금 살아가기 힘든 것은 크게 3가지 이유를 들 수 있습니다. 아직도 소프트웨어(SW) 가치가 존중을 받지 않고 있다는 것이 첫째요. SW 산업 자체가 발전하지 않아서 일할 수 있는 터전이 많지 않다는 것도 문제입니다. 그리고 마지막으로 기술자가 대접을 못 받는 환경이기 때문입니다.
먼저 SW 가치에 대해 얘기를 하면 예전에 CEO로 있을때 산업 전망 토론회에 참석했었습니다. 산업 전망이라는 주제를 가지고 발표를 했는데, 하드웨어와 SW, 인터넷 서비스 등을 나눠서 비전에 대한 설명을 하는 것이었습니다. 그런데 쉬는 시간에 어떤 전자회사 부사장님이 오셔서 하시는 말이 "다음 부터는 HW, SW를 구분을 하지 말게. 사람들이 SW를 HW와 같은 레벨로 설명을 하면 오해한다"고 말씀하시던군요. 그 말을 듣고 얼마나 기가 막히든지 말이 나오지 않았습니다.
그 전자회사에서 그 당시 발표했던 것이 애플의 아이팟이 벤치 모델이라고 했었습니다. 하지만 아이파드는 하드웨어 때문에 성공한 것이 아니라 아이툰즈라는 SW가 있었기 때문에 가능한 것이죠. SW와 HW가 서로 엮여서 경쟁력을 키운 것입니다. 아이파드는 나중에 시장 점유율 80%까지 차지하는 대 성공을 거뒀습니다.
그 전자회사는 SW를 하드웨어의 부품으로 생각하는 회사였던 것입니다. 이 일은 5년 전의 일이었는데 하드웨어 위주의 사고 방식이 그렇게 많이 변하지 않았다는 것을 증명해주는 일이었습니다. 이처럼 우리나라에서는 아직도 의사 결정자들이 SW에 대한 여러 문제들을 보이고 있습니다.
의사 결정권자 뿐 아니라 일반 대중들도 SW의 가치에 대해서 생각하는 수준이 낮습니다. SW를 제값주고 사면 바보 취급을 당하는 분위기가 여전하죠. 한달에 휴대폰 사용료만 따져도 1년에 100만원을 지급하면서 매일 쓰는 SW에 대해서는 만원 쓰는 것도 아까워합니다. 이는 젊은 사람들 스스로가 자신의 일자리를 없애는 것이나 다름없습니다. 자기 살을 깍아먹는 것입니다.
.jpg)
두 번째로 SW 산업이 발전하지 못한 것이 문제입니다. SW 개발자들이 성장하는 데 장애가 있습니다. 정통부 시절에 아키텍트 양성 프로그램이라는 것을 추진하려고 했습니다. 교육적인 측면에 굉장히 투자한다는 것이었습니다. 하지만 아키텍트가 공부만 해서 되는 것이 아닙니다. 아키텍트 정도로 성장하기 위해선 일을 해야 하고 프로젝트 경험이 있어야 하고, 배울 만한 선배들이 있어야 합니다. 교육 예산만 투자해서 길러지지 않는 것이죠.
단순한 교육 프로그램이 아니라 정부에서 대형 프로젝트를 제안하면서 절반 인력은 한국에서 뽑는다고 하던지, 협력 업체 50% 정도를 한국의 중소 업체들로 결정하는 등의 현실적인 방안이 더욱 효과적이었을 것입니다. 하지만 결론적으로 먹히지는 않았습니다. 정부측에서 일한 티가 나지 않는다고 해서 진행을 하지 못했습니다. 실무자 입장에서는 내세울 것이 없어서 안타깝게도 할 수 없었다고 하더군요. 이처럼 국내 개발자들은 실력을 발휘할 만한 터전이 부족합니다.
전망은 항상 바뀌는 것, 전망만을 믿고 선택하지 말라
20년 전만 하더라도 공부 제일 잘하는 사람이 내과를 갔고 못하면 피부과로 갔습니다. 하지만 20년이 흐른 지금, 의대에서 제일 공부 잘하는 사람이 피부과를 갑니다. 지금 예전의 동기들을 만나면 전망만 보고 갔던 사람들은 후회하고 있습니다. 하지만 그 당시 피부과 갔던 사람들은 지금은 떵떵거리며 살고 있습니다.
우리나라 산업 환경 속에서는 일단 한 분야의 전문가가 되면 먹고 사는데 크게 지장이 없습니다. 좋아서 하는 분야를 택해서 가라. 전망하고는 상관이 없다고 말하고 싶습니다.
의대의 예를 더 들어보면 의사들 설문 조사를 해본 결과 50%가 직업에 만족도가 없다고 합니다. 20%는 개업해서 실패한다고 합니다. 현재 굉장히 많은 의사들이 동남아로 갔습니다.
사실 의사는 똑똑한 사람이 필요한 직업이 아니라고 합니다. 성실하고 마음이 따뜻한 사람이 좋은 의사가 됩니다. 의사들은 매일 100명이상의 환자들을 봐야 하죠. 매일 같이 새로운 사람을 만난다고 했을 때 성격상 맞지 않으면 견디기 힘들게 됩니다. 마음이 따뜻한 사람은 한 사람 한 사람 친정하게 대해주고 병을 치료해 주면서 보람을 느낄 수 있는 것입니다.
하지만 50%의 의사가 의사를 안했으면 좋겠다고 생각을 한다면, 이것은 환자들도 불행한 것입니다. 제대로 대접을 받고 있지 않다는 것과 같습니다.
자기가 실력이 있어야 합니다. 처음 컴퓨터를 접하는 사람이 있다고 가정했을 때, 워드 프로세스를 하려고 사서 워드 매뉴얼만 공부한 사람이 있습니다. 워드를 먼저 공부하면 당장 일을 시작할 수 있습니다.
반면에 운영체제를 먼저 공부한 사람이 있습니다. 이 사람은 당장은 문서 작업하는 데 시간이 많이 걸립니다. 하지만 나중에 두 사람 다 문서 작업을 할 실력이 됐을 때, 파일 작업하다가 에러가 나면 첫 번째 사람은 해결할 능력이 없습니다. 다음에 다른 문제가 생겨도 해결할 능력이 없습니다. 반면 운영체제를 사용해본 사람은 혼자서 해결을 할 수 있고 다른 분야 공부도 보다 수월히 할 수 있게 됩니다.
자바 공부하시는 분들 중에 C 기반이 돼 있는 사람이 자바를 더 잘 할 수 있습니다. 세계적으로 C 프로그래머들을 살펴보면 백그라운드가 어셈블리를 했다는 것입니다. 어셈블리를 알면 C 할 때 어떻게 컴파일해서 바이너리되는 지를 생각합니다. 가장 효율적으로 빠르고 프로그래밍을 하게 되는 것이죠.
전문성을 기를 때도 더 기초적인 것에 소홀히 하지 말고 기본 원칙에 대해 잘 알아야 합니다. 그러한 사람이 나중에 더욱 빛이 납니다. 전문성을 기르실 때 한번 생각해 볼 값어치가 있습니다.
새로운 일을 할 때만 하는 것이 아니라 새로운 일을 할 때를 돌이켜 보면 창조적인 일이 생깁니다. 현재는 인터넷을 통해서 라이브러리도 소스를 쉽게 받을 수 있습니다. 어떤 사람들은 소스 코드를 받기 쉽다 보니깐 막 갔다 씁니다. 이런 부분은 사실상 우려됩니다.
잘된 것은 안심하고 써도 되지만 소소 코드도 잘못된 것을 사용하면 치명적입니다. 때문에 시간을 투자해서 내부 구조를 다 이해한 다음에 자기가 쓴 프로그래밍에 갔다 써야하는 것이죠. 시간에 쫒기다 보니 그렇게 많이 안되고 있는 것을 알고 있습니다.
3. 장인 정신
혼이 있는 개발자가 많이 나왔으면 좋겠습니다. 누가 시켜서 한 것이 아니라 능동적이고 자기 스스로 만족하는 레벨 수준이 돼야 합니다. 요즘 버그 잡는 것은 QA(품질관리)가 알아서 해준다라고 생각하는 개발자들이 있습니다. 그래서 코딩한 다음에 그냥 바로 QA팀으로 보내줍니다. 이는 굉장히 문제가 많아요. 퀄리티는 시간의 문제가 아닙니다. 의지와 실력의 문제입니다. 버그는 QA가 잡는 것이 아닙니다. QA팀에서 버그가 나올 때 마다 개발자는 부끄러워해야 합니다. 이런 마인드가 필요합니다.
사실은 한사람이 모든 것을 할 수 없습니다. 요즘은 팀으로 이뤄지다 보니깐 제대로 전달을 해야 합니다. 여러 분야의 전문가가 함께 만들어 가야 합니다. 예전에는 전문가의 실력이 전문지식이었지만 이제는 전문 지식 + 커뮤니케이션 능력이 실력입니다.
시험을 칠 때 100점 받을 실력인데, 하나씩 잘못 내려 써서 0점을 받았을 경우 이에 대해 자신의 의사를 표현해야 합니다. 하지만 대학 입시에서 실력은 최고라 할지라도 0점으로 처리됩니다. 세상은 점수로 평가 받고 있습니다. 그 사람을 보는 주위의 시선은 0점입니다. 주위 사람에서 표현하지 못하면 그 사람은 그 팀에서 그 전문성을 쓰지 못합니다. 오히려 실력이 낮은 사람이 팀에 공헌을 하게 되는 것입니다, 스스로 인정받을 수 있도록 커뮤니케이션 능력을 길러야 합니다.
개발자들은 조금이라도 손해 보려고 하지 않는 경향이 있습니다. 하지만 그것이 반복이 되면 결국 손해를 자신이 입습니다. 일반적으로 친구들 사이에도 항상 얻어먹는 친구가 있습니다. 하지만 10년 되면 그 친구와는 멀어지게 마련입니다. 손해 보는 것 같아도 자기가 먼저 내고 그러한 자세가 필요합니다.
자기가 손해 보지 않으려고 하는 것 보다는 친구가 빈틈이 있으면 메워주려는 노력이 필요합니다. 자기가 미리 할 일을 다 했으면 다른 사람도 좀 도와주라고 말하고 싶습니다. 이런 마음이 나중에 쌓이면 많은 사람들이 같이 일하고 싶어 하는 전문가가 됩니다.
.jpg)
영어 실력 향상도 중요
아이티 투데이 제공
(아키텍트로 가는 길 - http:/www.arload.net)
요즘 소프트웨어가 갈수록 거대해지면서 소프트웨어 통제에 대해 많은 애기를 들을수 있습니다. 그리고 소프트웨어 통제를 들어보신 분이라면, xDepend 라는 툴은 한번쯤 들어보셨을 겁니다. 이번 컬럼은 아키텍쳐 설계시 dependency는 무엇이고 어떠한 종류가 있는지 설명하고, dependency를 관리할때 유용한 Layering과 xdepend 툴에 대해서 소개해 보는 시간을 가지겠습니다. 의존성 (dependency) 관리를 통해서 여러분이 가진 시스템이 쉽게 확장가능한지 (변화에 쉽게 대처 가능한지)를 파악할 수 있으며, 이러한 추세를 반영하여 요즘 쉽게 패키징 할수 있는 단위로 시스템을 구축하는 것에 대해 많은 연구가 진행되어지고 있습니다. Dependency Managment 관점에서의 Component. 전통적인 CBD 입장에서 보는 재사용 단위로써의 Compoenent가 아닌, 의존성 관리 측면에서 Component라는 단어를 정의할 필요가 있습니다. 위 논문에서나 Dependency를 관리하는 입장에서는 Component를 배포의 단위로 이해하는 것이 좋습니다. 하나의 Unit으로써 배포되어질수 있고, 계속해서 요구사항들을 수용하며 발전할수 있는 타입들의 하나의 집합을 Component라고 보시면 됩니다. 그리고 이러한 타입들을 여러개의 Component들로 구성하는 절차들을 Componentiation (컴포넌트 화) 라고 이해하시면 될듯 합니다. Dependency의 종류들 Component A가 Component B 에 의존성을 가지는 경우를 말합니다. 좀더 쉽계 예를 든다면, 컴포넌트 B에 있는 어떤 타입들을 컴포넌트 A의 파라메터나 리턴 값과 같이 표면(surface)에 누구나 접근할 수 있게 노출시킨 경우 API Dependency가 생겼다고 합니다. 다른 것과 구분해 Surface Dependency라고 이해하는 것이 좀더 쉬울듯 합니다. Interface, Parameter, Return Type, Attribute, Nested Type 이 API Dependency의 좋은 예 입니다. 이것은 위 API Dependency와 구분해, Implementation에 의존성을 가진 경우입니다. 표면에 다른 컴포넌트의 Type들이 노출된 것은 아니지만, 내부적으로 Type을 사용하거나, 메소드를 이용하 경우를 말합니다. 내부적으로 Hard Dependency와 Soft Dependecy로 나뉘는데 Hard Dependency는 시스템이 동작하기 위해서는 필수적인 요소가 Dependency를 가질때를 , Soft Dependency는 Optional할때를 의미합니다. Component A가 B를 의존하고 B가 다시 A를 의존하는 경우를 말합니다. 몇 단계를 거쳐 간접적으로 발생하는 것도 당연히 포함됩니다. 꼭 피해야 되는 Dependency입니다. Dependency를 관리하는 좋은 방법 - Layering Dependency를 가장 쉽게 관리하는 일반적인 방법은 Layering 입니다. 하나의 Layer로 연관있는 Component를 묶음으로써 응집도를 높일수 있고, Encapsulation 시킴으로써 다른 Layer간에 변화에 대한 충격을 완화함으로써, 효율적으로 Dependency를 관리할 수 있습니다. 그럼 Layering을 하기 위해 가지는 룰들에 대해서 알아보도록 하죠. 가장 중요한 룰은 Circular Dependency 를 피해야 된다는 것입니다. 하나의 컴포넌트안에 있는 타입들끼리는 자유롭게 서로 Dependency을 가져도 됩니다. 종속성이 컴포넌트 안에서만 발생하기 때문에, 어떠한 변화도 Component 내부적으로 처리가 가능하기 때문입니다. 하지만 컴포넌트 간에 Dependency들을 유의깊게 다루어야 합니다. 상위 레이어로 Dependency가 생긴다는 것은 잠정적으로 Circular Dependency가 생길 가망성이 높다는 것을 의미합니다. 당연히 피해야 겠죠
같은 레이어간의 컴포넌트 역시 Circular Dependency 마찬 가지입니다. 이것을 통해 확장성, 유연성을 잃어버릴수 있을뿐만 아니라, 하나의 변화로 인해 모든것에 영향을 미치는 change propagation 을 최소화 시키는 것이 중요합니다. Circular Dependency에 대해서 자세히 언급한 포스트( Cyclic Dependency )를 찾았습니다. 한번 읽어 보시길 권해드립니다. Dependency를 검사하기 위한 좋은 툴들 가장 좋은 것은 많은 중복이 발생하지만 않는다면, 의존성 (Dependencies)를 최소화하는 것입니다. 이러한 의존성관계를 잘 파악하기 위해 xDepend(JDepend,NDepend)라는 툴이 나왔습니다. 이러한 툴의 도움으로 의존성을 파악하는 일들이 좀더 수월하게 되었고, Architect는 시스템이 제대로 설계되어 가는지 점검을 할수 있는 유용한 툴입니다. 툴에 대한 자세한 정보는 아래 Post를 통해서 살펴 보시길 바라며, JDepend는 무료 이며 http://www.clarkware.com/software/JDepend.html#download 를 통해 다운 받으실수 있으며, NDepend (http://www.ndepend.com)는 상용버젼으로 opensource/academic/trial edtion을 통해서 무료로 사용하실수 있습니다. 물론 약간의 기능적인 제약은 있습니다. 더구나 NDepend는 JDepend의 기능을 기반으로 더 여러가지 확장적인 기능을 제공합니다. 가장 핵심이 CQL이라고 할수 있는데요. SQL과 같은 쿼리로 Dependency를 파악할 수 있는 장점을 가지고 있습니다. Scott Hanselman 씨가 직접 작성하시고 공개하신 ndepend metrics 도표를 여러분에게 공유하면서 글을 맺겠습니다. [출처] 데브피아 아키텍쳐 마을 http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=70&MAEULNo=28&no=194




아파치 사용자 그룹은 ’모든 걸 공유하자’ 가 모토다. 지난 1997년 처음 생겨난 이래 회원가입 없이 누구나 글을 남길 수 있도록 한 것도 이런 모토에 따른 것. 하지만 기하급수적으로 증가한 스팸메일과 광고 글의 증가는 아파치 그룹도 형식적으로나마 회원가입 제도를 두게 만들었다.
"알고 있는 건 공유하고 모르는 건 배워야 합니다. 아는 만큼 공유한다면 그만큼 자신에게 다시 돌아오게 마련이거든요."
아파치 사용자 그룹 운영자인 정관진 씨는 ’공유’의 중요성에 대해 거듭 강조했다.
"이 세상의 모든 정보는 인터넷에서 찾을 수 있습니다. 물론 본인이 하고자 하는 노력만 있다면 말이죠" 그는 인터넷을 조금 더 찾아보면 상상도 못할 정도의 많은 정보를 얻을 수 있다는 점을 강조했다. "자기만 안다고 생각하는 사람들도 있지만 그건 착각입니다" 어떠한 정보를 찾기 위해선 시간만 걸릴 뿐이지 언제든 누구나 그 정보를 찾을 수 있다는 설명이다.
정관진 씨는 전산을 전공한 후 시스템 운영에 많은 시간을 보냈다. 이후 시스템 운영과 보안이 항상 어울리는 걸 발견하고 보안 취약점 분석 분야로 자리를 옮겼다.
그에게는 악몽 같은 기억이 있다. 바로 지난 2003년 1월 25일에 벌어졌던 슬래머 웜 대란이다. 당시 인라인 동호회 회장도 맡고 있던 정관진 씨. 겨울이기에 인라인스케이트 대신 잠실 스케이트장에서 동호회 회원들과 평화로운 일상을 즐기고 있었다. 하지만 다급한 핸드폰이 울리면서 일상은 깨지고 악몽 같은 3일 밤낮이 이어졌다.
당시 그가 근무하던 안철수연구소로 언론사들이 들이 닥치는 바람에 평생 해볼 언론사 인터뷰를 3일 동안 해내기도.
보안 취약점 분석가이기 이전에 아파치 커뮤니티 운영자인 그는 아파치 웹서버를 사용하던 친한 형을 따라 아파치에 관심을 갖게 됐다. 점점 실력을 쌓아가던 그는 300~400명 규모의 리눅스 엑스포란 컨퍼런스에 강연요청도 받았다.
"어린 나이에 그런 규모에서 강연하려니 많이 긴장되더라고요. 덜덜 떨면서 강연을 마쳤습니다."
그는 커뮤니티 운영의 어려움에 대해 얘기했다. 개발을 하다보면 시간과 잠이 부족한데, 그 부족한 시간을 또 쪼개서 운영하려니 무리가 따른다는 것. 또한 아무리 뛰어난 개발능력을 지녔다 해도 커뮤니티 운영을 위해선 또 다른 지식과 감각이 필요하다. 좀 더 예쁘고 편리하게 만들어 내기 위해선 스스로 디자이너의 역할까지 겸해야한다는 얘기다.
그는 커뮤니티 운영에 뭔가 획기적인 변화를 줄 계획이다. 2000년대 초기에 비해 최근 저조해진 커뮤니티 상황 때문이다.
"1~2년 해온 커뮤니티도 아니고 저의 20대와 함께 해온 커뮤니티입니다. 힘든 만큼 더욱 발전시켜 나갈 겁니다."
오픈소스가 활성화되는 요즘, 일일이 개발해서 사용하는 건 한계에 부딪혔다. 때문에 공개돼 있는 정보를 최대한 이용해서 최고의 효과를 내보자는 컨셉으로 아파치 그룹을 바꿀 예정이다.
아파치 커뮤니티 운영자이자 보안 취약점 분석가인 그가 앞으로 하고 싶은 건 뭘까?
"제가 하고 싶은 거요? CEO를 한번 해보고 싶어요. 아마존, 구글, 페이스북 등과 같이 IT를 기반으로 하는 사업을 펼치는 게 저의 목표입니다."
송영록 기자 syr@ittoday.co.kr
<TIP> 아파치 사용자 그룹(www.apache-kr.org)
아파치 사용자 그룹은 1997년 개인 홈페이지에서 시작해 지금의 커뮤니티 공간으로 까지 발전했다. 그 당시의 주요 웹 서버로는 아파치 웹 서버의 근간인 NCSA 서버가 주로 사용되고 있었다. 아파치 웹 서버의 뛰어난 기능에도 불구하고 국내에 많이 소개되지 않은 것이 안타까워 개인 홈페이지로부터 시작하게 됐다. 차츰 많은 분들이 방문하게 됐고 별도로 apache.kr.net 이라는 도메인으로 시작해 apache-kr.org 로 대표 도메인을 변경, 현재까지 운영해 오게 됐다. 10여 년 동안 운영해 오면서 국내에 아파치 웹 서버를 소개하고 대중적으로 사용될 수 있도록 한 몫을 해냈다는 것에 뿌듯하다. 지금까지 꾸준히 이어온 것과 같이 앞으로도 아파치 사용자 그룹은 사용자들의 자발적 참여를 통해 만들어 가는 대표적인 커뮤니티 공간이 될 수 있도록 노력할 것이다.
웹의 급격한 변화를 가리키는 대명사인 웹2.0
닷컴버블 붕괴 이후 인터넷 기업은 살아남은 기업과 소멸된 기업으로 구분되었다. 사람들은 닷컴버블에서 살아남은 기업과 죽은 기업의 차이를 알아내고자 했고, 살아남은 기업을 가리키는 대명사를 만들기 시작했다. 이때 오라일리(O’Reilly)의 부사장인 데일 도허티(Dale Dougherty)는 웹2.0을 제안했고, 오라일리 미디어는 2004년 10월 5일부터 ‘웹2.0 컨퍼런스(www.web2con.com)’를 열었다. 이후 ‘웹2.0’은 닷컴거품 붕괴 후 살아남은 기업과 그들 기업이 가진 기술, 그들이 끼친 문화적 변화를 통칭하는 말로 정의되기 시작했다. ‘웹2.0’은 ‘웹의 급격한 변화’를 가리키는 대명사가 된 것이다.
웹2.0 컨퍼런스 이후 사람들은 초창기 웹과 최근 웹의 차이에 대해서 비교하기 시작했다. 초창기의 더블클릭 광고와 최근의 구글 애드센스 광고 사이에 어떤 변화가 일어났는지 살펴보면서 최근 웹에 공통적으로 들어가는 기술적, 문화적 특징을 파악하고자 했다. 팀 오라일리가 제시한 웹1.0과 웹2.0 비교표만 보더라도 초창기 웹과 최근 웹의 서비스 사이에 많은 변화가 일어났음을 알 수 있다. 광고 하나만 보더라도 더블클릭 형태의 중앙집중식 배너광고가 구글 애드센스라는 분산형 문맥광고로 바뀌고 있음을 알 수 있다.
웹 1.0
더블클릭(Double Click)->구글 에센스(Google AdSense)
오포토(Ofoto)->플리커(Flickr)
마카마이(Akamai)->비트토렌트(BitTorrent)
MP3.컴(Mp3.com)->냅스터(Napster)
브리태니커 온라인(Britannica Online)->위키피디아(Wikipedia)
퍼스널 웹사이트(Personal Website)->블로깅(Blogging)
이바이트(Evite)-> 업커밍.org와 EVDB(Upcoming.org and EVDB)
도메인 이름 선점(domain name speculation)->검색엔진 최적화(search engine optimazation)
페이지뷰(page view)->클락당 단가(cost per click)
스크린 스크랩(screen scraping)->웹 서비스(web Service)
퍼블리싱(publishing)->공유(participation)
컨텐츠 관리시스템(contents management system)->위키스(wikis)
디렉토리(directories, taxonomy)->태깅(tagging, folksonomy)
고착성(stickiness)->신디캐이션(syndication)
1년 뒤인 2005년 9월 30일에 팀 오라일리는 웹2.0을 받드는 구조와 특징을 ‘플랫폼으로서의 웹, 집단 지성, 데이터, 소프트웨어 개발 주기의 종말, 가벼운 프로그래밍 모델, 단일 디바이스를 넘어선 소프트웨어, 풍부한 사용자 경험’ 등의 일곱 가지로 정리해 발표했다.
기술적인 부분에서도 초창기 웹과는 차이를 보였다. 블로그로 대표되는 쉬운 저작도구, RSS로 대표되는 개인 정보 배포도구의 보급, 꼬리표(tag)를 이용한 분류와 검색의 보완, Ajax를 이용한 손쉬운 사용법, 웹표준과 웹접근성 기술의 향상, 모바일 기기와 연동, 공개API와 혼합(mash-up)서비스를 이용한 새로운 서비스의 창출, UTF8, 예쁜 주소, 가벼운 플랫폼, 확장 기능, 풍부한 웹 애플리케이션 등의 신기술이 웹2.0을 구성하는 기술 요소로 떠올랐다.
웹2.0 시대는 새로운 기술, 새로운 문화의 시작웹2.0의 특징과 기술은 새로운 문화를 만들어내기 시작했다. 가장 큰 변화는 개인에게 손쉬운 정보생산도구와 배포도구가 주어지면서 일어난 개인 힘의 강화다. 정보소비자였던 개인이 정보생산자로 나서는 프로슈머(prosumer) 시대를 열면서 1인 매체시대와 긴꼬리 문화, 익명 커뮤니티를 만들어내기 시작했다. 정보제공자가 사이트에 올린 정보를 바라보기만 하던 개인들이 각자의 지식과 경험을 글로 옮기게 되면서 하루에도 수 천 만 개의 글이 쏟아지기 시작했다. 웹에 쌓이는 정보는 순식간에 큰 폭으로 증가하기 시작했고, 새로운 사이트와 새로운 검색도구의 출현을 부추겼다. 메타 전문 검색 사이트가 등장하고 RSS를 수집해 보여주는 메타사이트가 새로운 매체로 등장하기 시작한 것이다.
학습이 필요 없을 정도로 쉬운웹(EasyWeb)은 평범한 개인을 웹의 주인공으로 점차 부각시켰다. 과거에는 ‘캠코더, 동영상편집 프로그램, 코덱, 파일 포맷, FTP, HTML’ 등의 사용법을 모두 알아야 겨우 동영상 하나를 웹에 올리고 보여줄 수 있었다. 그러나 지금은 디카나 폰카로 찍은 동영상 파일을 마우스로 끌어다놓는 동작만으로도 자기의 미니홈피나 블로그에 동영상을 올릴 수 있다. 이처럼 쉬운웹 덕분에 2006년에 동영상 UCC가 유행하고 타潭測?‘YOU’를 2006년의 인물로 선정했다.
블로그나 미니홈피와 같은 1인 매체는 소셜네트워크, 집단지성, 긴꼬리, UCC, 분산형 광고인 애드센스 등으로 영역을 확장시켰다. 광고 소비자였던 개인이 광고주가 되거나 자기 블로그에 광고를 게시하는 광고 게시자로 부각된 것도 1인 매체의 확산과 분산형 광고라는 변화가 있었기에 가능한 것이다.
가장 최근에 일어난 혁명적인 변화로는 어둠의 웹에서 밝은 웹으로의 변화를 들 수 있다. 지금까지 웹은 캄캄한 바다를 홀로 항해하는 어둠의 웹이었다. 어느 사이트를 가나 혼자였으며, 온라인에 오가는 사람이 보이지 않았다. 그러나 야그(YaG, www.yagne.com)가 발표되면서 온라인에 오가는 사람이 보이는 혁명이 일어나기 시작했다.
야그는 사용자 PC에는 아무 것도 설치하지 않고 동작하는 서비스로 방문자와 방문자가 보고 있는 페이지를 보여준다. 쇼핑몰 방문객이 어떤 상품을 보고 있는지 보이고, 자기와 같은 뉴스를 보는 사람이 보이게 된다. 물론 사람이 보이니 이들끼리 쪽지를 주고받거나 대화방을 열어 대화를 여는 일, 즉석에서 고스톱과 같은 게임을 하는 일도 가능하다.
또한 방문자가 보는 페이지를 누르면 해당 페이지로 순간이동 시키는 웹이동(WebTeleport) 기능을 제공한다. 웹페이지의 주소(URL)를 입력하지 않고도 웹페이지 사이 이동이 가능해지는 것이다.
* 그림 온라인에 오가는 사람과 그들의 행동이 보이는 밝은웹의 혁명을 연 YaG의 사용자 화면
온라인에 오가는 사람과 그들의 행동이 보이는 밝은웹의 세계는 혁명적이다. 야그는 협업과 집단지성의 참여, 긴꼬리문화, 익명 커뮤니티, 분산 시스템을 더욱 확산시킬 것이다. 게임도 분산형 온라인 게임으로 변화할 것이며 쇼핑도 분산형 오픈마켓 등으로 변화할 것이다. 웹에서 이동의 개념이 바뀌고, 자동화의 개념도 바뀔 것이다.
웹2.0 시대는 적자생존과 변화, 새로운 기회와 도전하는 기업의 시대다.
웹2.0의 열풍이 거세지면서 웹2.0에 대한 거품론도 나오기도 하는데, 웹2.0은 살아남은 기업을 뜻하므로 거품이 될 수 없다. 유명세는 있으나 수입은 없던 넷스케이프와 다른 것이다. 웹2.0 기업의 대표로 부르는 구글의 경우 한 해에 3조원이라는 순이익을 내고 있으며, 신생 웹2.0 기업도 빠른 속도로 성장하고 있다. 세계 사이트의 순위를 보면 웹2.0 기업의 성장세를 더욱 확연하게 느낄 수 있다. 순위 사이트인 알렉사닷컴(www.alexa.com)의 순위를 보면 4위의 YouTube(www.youtube.com), 5위의 Myspace(www.myspace.com), 8위인 Orkut(www.orkut.com), 11위의 위키피디아(www.wikipedia.org), 15위의 블로거(www.blogger.com) 등과 같이 웹2.0 사이트가 상위권에 대거 포함된 상태다. 기존 강자가 뒤로 밀려나는 순위변동은 닷컴 거품이 빠진 웹2.0 세계가 오히려 더욱 치열한 적자생존의 무대로 바뀌고 있음을 보여준다.
단적인 사례로 몇 년 전에 세계 10위권 사이트를 휩쓸었던 한국의 사이트는 네이버만 75위에 존재하고 나머지는 알렉사닷컴 순위 100위권 바깥으로 밀려난 상태다. 웹2.0에 대비하지 않은 결과 어느새 한국은 인터넷 영토 싸움에서 변방의 조그마한 소국으로 자꾸 위축되고 있는 것이다.
이처럼 웹2.0이 가져온 변화는 새로운 기회인 동시에 기존 강자에게는 몰락의 시작이 될 수 있다. 웹2.0에 대해 개인이나 기업이 관심을 가져야 하는 이유는 웹2.0이 변화와 도전, 기회와 위기를 포함하는 말이기 때문이다.
김중태 IT컬럼니스트
서강대 국어국문학과 졸업. IT문화와 IT비즈니스 강사, 컨설턴트 등으로 활동. 마이엔진 이사, 김중태문화원 원장, 국립중앙도서관 디지털 도서관 친구 자문위원, 한국정보문화진흥원 웹접근성 품질마크 실무위원회 위원, 한국인터넷진흥원 인터넷이슈리포트 편집위원
출처 : ITTODAY

이올린에 북마크하기

