lectom 10/16 '12 posted
DevOn 2012 행사에 다녀왔습니다. 
(먼저 채널IT에서 만든 간단한 소개영상)



어느 세션을 들을지 고민하다.
대담세션 2개 : < 개발자의 미래 근무환경 >, < 린 스타트업 가능한가? >
Big-Data 세션 2개 : <알고쓰자! NoSQL - Hbase 및 MongoDB 중심>, <삽질로 일궈낸 카산드라 사용기> 를 들었습니다.

세션별로 간략히 소감을 요약해 보겠습니다. 먼저, <개발자 창업과 아이디어>
장병규 대표: 정말 힘들다. 이렇게 생각해보면 될 것 같다. 성공이 쉬울까? 성공은 어렵다. 어렵기 때문에 어떻해든 답을 찾아야 한다. 정말 벨류를 만들어 낼 수 있는 파트너인지 질문해보고 YES라면 무조건 같이 해야 한다. 성공은 원래 어렵다.
전체적으로 동감도 가고, 이택경 대표 이야기는 많이 들었던 경험이 있었는데, 김길연 대표 이야기는 조금 새로운 느낌이 들기도 했어요. 다만, 전 여전히 창업과 취업 사이에 프리랜서 활동을 위한 중간 지대도 있어야 한다고 믿고 있습니다. 린의 형태에 따라서, 행정적인 절차의 아웃소싱에 따라서 어느정도 가능하지 않을까... 라고 생각도 하구요.

<개발자의 미래 근무환경>
한국과 미국의 가장 큰 차이는 개발에 얼마나 집중할 수 있느냐인 것 같다. 해커스나 부트캠프같은 것을 통해서 개발에만 집중할 수 있게 해주는 것 같다. 페이스북 개발자들은 자신이 개발하고 싶은 것이 있으면 언제든지 만들어 볼 수 있다.
물론 인터넷 서비스업이라는 특성이 단단히 한몫 하겠지만, 모든 개발자들이 좀 더 개발에 집중할 수 있는 환경을 구축하는 것이 중요하겠다라는 생각을 했어요. 특히, 페이스북의 사례들은 데뷰에서 보았던 페이스북의 개발환경을 다시금 확인하는 시간이여서 좋았죠. KTH는 특히 권정혁(Xguru)님께서 합류하신 이후 개발 문화의 뼈대가 서 간다는 느낌인데, 삼성전자에 대한 개발자 평가가 생각보다 후해서 놀랐어요. 개발자 블로그 잘 구독하고 있답니다. :)
tobyyun
by xguru
개발자들이 사내에서 어떤 일을 할 수 있지 알게하려면 모든 소스코드가 공개되어야 한다고 생각해서 '오픈앤쉐어'라는 이름으로 모든 소스를 내부공개하고 있다. 좋은 해커문화를 만드려는 노력의 일환이다 - DevOn KTH 권정혁
2012/10/12 3:36 오후
라이코스의 개발문화도 궁금했는데, 그냥 '밥먹으면서 가벼운 이야기를 나누는 문화'를 구축하다 말았다. 정도에서 끝나서 아쉬웠어요.

 미국의 개발환경 변화와 국내에 미치는 영향에 대해서는
[ 미국내 개발인력 부족 => 지역에 상관없이 개발 할 수 있는 문화 확장 => 전 세계 개발자를 대상으로 구직 => 국내 개발환경도 변화. ] 라는 도식으로 말씀하셨는데, 충분히 가능성이 있다라고 생각해요. 특히나, 플랙서블과 재택근무와 같은 유연한 근무에 대한 이야기는 상당히 공감합니다.


다음 코너는 <린 스타트업 가능한가?>
Lean Start-up, Emergent Management 뭐 이런 식으로들 표현하기도 하는데 본질적으로는 본질적으로는 그냥 ‘진화론’ 이랑 똑같은 이야기에요.  “불확실한 미래와 싸워서 생존/번성하는것” 이 기본 목표에요.
린스타트업 [moreover.co.kr]
린 사고방식의 핵심은 낭비를 줄이는 것이다. 린 스타트업 프로세스는 고객 개발(Customer Development)을 사용하여, 실제 고객과 접촉하는 빈도를 높여서 낭비를 줄인다. 이를 통해 시장에 대한 잘못된 가정을 최대한 빨리 검증하고 회피한다. 이 방식은 역사적인 기업가들의 전략을 발전시킨 것이다. 시장에 대한 가정들을 검증하기 위한 작업들을 줄이고, 시장 선도력(market traction)을 가지는 비즈니스를 찾는데 걸리는 시간을 줄인다. 이것을 최소 존속 제품 (Minimum Viable Product)이라고도 한다.
 "린"이 환영받는 이유는 여러가지가 있겠지만, 변화하는 환경에서 가장 적응하기 유리하기 때문이 아닐까 싶어요. 다만, 변화로서 사라지는 대상이 기업 자체라기 보다, 제품이라는 점을 명심해야 단기적인 관점에 있어서 살아남는게 목적의 전부가 아닌 제품이 탄생하지 않을까요. 즉, 핵심은 "내가 죽일 지언정, 시장에서 죽임을 당하는 제품은 만들지 않겠다!"

 다음 두 코너는 오픈소스 기반, NoSQL 툴들에 관한 이야기를 들었지요. 얼마 전부터 느끼는건데, NoSQL과 RDBMS는 사진과 동영상의 관계와 비슷한거 같아요. 서로 닮고 싶어하고 다가가려 하죠. (하지만, 출생의 한계가 있다... 이런 슬픈 전설..)

먼저, Hbase와 Mongo DB에 관한 이야기가 이어졌습니다. 몽고DB는 슬라이드가 공개되었군요!
<알고쓰자! NoSQL - Hbase 및 MongoDB 중심 >

샤딩키로 Low-cardinality + sequential 한 키값을 사용하는게 좋다는 결론이네요. 가만 생각해 보면, RDBMS에서 분명 누군가 고민했을 내용들 이죠.. 고생하셨어요.
 
다음에 이어지는 이야기는 <삽질로 일궈낸 카산드라 사용기> 먼저, 왜 카산드라를 선택하게 되었는가 이야기를 들었는데요. 검색 광고는 검색에 연동되어 나오는데 검색 구조와는 전혀 상관이 없는 MySQL 기반 DB를 사용하고 있어서, 규모가 커짐에 따라 엄청난 부하가 걸리더라. NoSQL 이라고 비용이 들지 않는건 아니지만, RDBMS를 그대로 쓰기에는 어마어마한 사양(=비용)이 요구되기에 이동을 결심했다. 이런 이야기였어요. 그 중에 나온 CAP 이론이 흥미롭더군요 @@

NoSQL에 대해서 이해하려면 먼저 CAP 이론에 대해서 알 필요가 있습니다. CAP이론은 Brewer's CAP Theorem 으로 알려져 있는데 분산 컴퓨팅 시스템에서 보장해야 하는 특징으로 아래 3가지를 정의하고 있습니다. Consistency (일관성) : 모든 노드들은 동시에 같은 데이터를 보아야 합니다. Availability (유효성) : 모든 노드는 항상 읽기와 쓰기를 할 수 있어야 합니다. Partition Tolerance (파티션 허용차) : 시스템은 물리적인 네트워크 파티션을 넘어서도 잘 동작하여야 합니다
Outsider's Dev Story [blog.outsider.ne.kr]
3 가지를 모두 만족시킬 방법은 없다. 2가지를 만족시키는 솔루션중에 골라야 했다. (검색은 C를 포기하고, AP로 충분)


 결론은, 특성에 맞는 도구를 사용하고, 수많은 시행착오(삽질)와, 깨알같은 튜닝을 거쳐 (카산드라는 JVM 기반이라, 꺠알같은 JVM 튜닝값까지 공개하심..) 원하는 목적을 어느정도 달성할 수 있을거라는 훈훈한 결론.

 마지막 시간은 '인터넷의 아버지'와 '온라인 게임의 아버지'가 함께하는 대담이었습니다.
“인터넷 뿐 아니라 TV, 자동차 등 현대문명은 모두 좋은 점과 나쁜 점이 공존해요. 인터넷에 있어선 우리가 앞서간 나라이기 때문에 문제가 생기기도 더 쉬운 거죠. 2020년쯤엔 인터넷 사용자가 50억명을 넘어설 겁니다. 역기능을 해결하는 것도 차차 한국이 선도해 나가야죠.”
 눈 앞에서 '전설'을 보았다는 묘한 기분과 아직도 젊으시구나 라는 생각을 동시에 가지게 되었어요. "정신적으로 극한의 일을 하는 사람은 몸도 극한으로 단련해야 균형이 맞는다."라는 말씀도 인상 깊었어요. 대학에 출강하러 가시기 전에 '바다에서' 서핑을 즐기신다는군요. 대단하십니다...
 '남들이 안한 처음 하는 일을 하는것은 무조건 지원한다!' 는 원칙도 심상치는 않은 원칙이시죠.

내년 DevOn도 기대 됩니다! 즐거웠어요!!!