- updated: 시간 관리 & 업무 처리 항목 추가.
- updated: 평가 일정 & KPI... -_-;;
여행하면서 조금씩 생각할 기회가 있었다. 결혼과 미국 정착으로 지나간 2009년도 이제 끝났으니.. 이젠 좀 더 장기적인 계획을 세울 때도 되지 않았나 싶다. 솔직히 말하자면, 지금으로서는 미국에 와서 어떻게 살아야 할지, 몇 년 후에는 어떤 일을 하고 있어야 할 지에 대한 어떠한 감도 없다. 미국 오기 전에야 아는 회사도 없겠다 그냥 얌전히 DRW 왔지만, 이제는 다른 트레이딩 회사나 데이터 마이닝 관련 회사들도 눈에 들어오고.. (옮기고 싶다는 건 아니다. --;) 몇 년 후에는 독자적으로 트레이딩할 수 있을 만한 기반과 지식을 쌓아 보고 싶다는 생각도 들고..
여튼.. 5년 후에 내가 무엇을 하고 있건 간에 지금 열심히 움직인 게 해가 될 리는 없다. 나야 원래 계획(만)은 원대하고 웅장한 인간이니 작심삼일을 두려워 하지 않고 계획을 세워보자.
시간 관리 & 업무 처리
지난 두 달 동안 느낀 나의 가장 큰 문제점. 내가 지금까지 일해온 방식은 리서치와 별로 어울리지 않는다. 나는 기본적으로 항상 좋아하는 일들을 해왔다. 그러다 보니, 일과 procrastination 을 구분하지 않고 그때그때 하고 싶은 것을 해도 적절한 생산성을 유지할 수 있었다. 이와 같은 일처리 방식은 하드코어 코딩이나 대회 문제를 푸는 데는 어울려도, 리서치에는 잘 써먹을 수 없는 것 같다. 리서치는 훨씬 호흡이 길기 때문이다. '기다리며' 생각할 줄 알아야 하는데, 나는 너무 쉽게 주의를 분산시켜 버린다. 리서치를 잘 하려면 이런 습관부터 버리고, 천천히 생각하며 신중히 움직이는 버릇을 들여야 할 것 같다. ... 아.. 아직도 어렵다.
- (상) 시간 관리 방법론을 하나 선택해서 체화시킨다. Autofocus system 은 유력한 후보. 하지만 GTD 도 아직 배워보고 싶다.
- 평가: 분기별로 확인한다. (A) 일상생활에서 거의 습관화해서 사용하고 있다 (B) 회사 일 할때는 사용한다 (C) 안쓴다.
- (중) 일상 업무를 집중해서 처리할 수 있는 습관을 들인다. 옛날에 빡세게 대회 준비할 때는 모든 것을 할 때 카운트다운 타이머를 옆에 두고 했다. 그 정도까지는 아니더라도, 30분~1시간 정도의 청크로 시간을 관리하고, 정기적으로 drift 되고 있지 않은지 리뷰하는 프로세스를 만들고 정착시키는 것이 좋겠다.
- 평가: 일주일별로 확인하고, 한달마다 확인한다. (A) 80% 이상의 날들에서, 버리는 시간을 파악했다. (B) 50% 이상의 날들에서, 버리는 시간을 파악했다 (C) 그 이하
- 요점은, 버리는 시간을 줄이는 것이 아니라 '파악하는' 것이다.
트레이딩
기본적으로, 스스로 마켓 데이터 리서치를 할 수 있는 역량을 키우는 것이 올해 최대의 과제라 할 수 있겠다. 그러려면, 이런 것들을 해야 할 것 같다:
- (상) 통계적 분석과 데이터 마이닝에 대한 경험을 쌓는다: 이건 내가 하기 싫어도 회사에서 시켜주니 안심(?) 이지만, 배운 것들을 스스로 정리할 필요가 좀 있는 듯. 최소한 bi-weekly 정도로는 했던 일들과 배운 것들을 돌아보고 문서화할 필요가 있다. 또 하나 중요한 과제는 다른 사람들과의 커뮤니케이션을 늘리는 것. 혼자 해봐야 남한테 배우지 않으면 아무 소용 없다.. -_-
- 평가: 2주마다 qualitative review. 그동안 내가 내린 선택들과 그에 대한 rationale 을 정리한다. 만약 잘못된 것이 있거나, 배운 것이 있다면 그것도 정리한다. 이걸 정리 잘 하려면 시간 관리 + 업무 처리를 잘해야 함.
- (중) 실제 트레이딩을 하면서 마켓의 움직임에 대한 직관을 키운다: 올해는 트레이딩 하려나?!?!?!?!
- 평가: 분기별로 확인한다. 1분기에는 트레이딩 책을 좀 읽는다. Natenburg 수업도 들을 예정이고, reddit 에서 많은 사람들이 추천한;; Trading And Exchanges 읽기 정도까지가 1분기 목표.
- 평가: 2, 3, 4분기 목표는 1분기 끝나고 세운다.
- (중) 관련 literature 를 읽고 이해할 수 있는 능력을 키운다: 솔직히 아직 어떤 저널을 어떻게 follow 해야 하는지도 모르겠고, 논문 읽으려고 하면 졸리기만 하고. -_- 최소한 관심가져야 할 학회들을 파악하고, 지난 3년 분량 정도는 관심 있는 논문들 읽고, 누가 이 바닥에서 임팩트 있는 논문 내나 정도는 알아야 하지 않을까.. 아 이것만 해도 너무 어려운 과젠데...
- 평가: (A) 관심 있는 컨퍼런스들의 최근 3년간의 논문들을 리스트업하고 (간략히) 정리했다. (B) 관심 있는 컨퍼런스들의 최근 3년간의 논문들을 리스트업하고 대충 훑어봤다. (C) 관심 있는 컨퍼런스들이 무엇인지 알았다.
- (중) prod 에 들어가 있는 트레이딩 시스템들의 구조를 이해한다: 소스 볼 수 있지롱 ^ㅁ^
- 평가: (A) 전체적 구조 외에, high performance 를 위한 프로그램 구조의 트레이드오프, CLR (혹은 JVM) specific 한 최적화 이슈 등을 이해했다. (B) 전체적 구조를 이해했다. (C) 소스는 한 번 봤다.
- (하) 실제 거래 외의 주제들 (에.. 행정이라 해야 하나. 거래소/클리어링과의 관계라던가, 산업의 발전 방향이라던가.) 에 대한 최소한의 지식을 쌓는다
- 평가: 1년에 한 번. 연말에 qualitative 하게.
기초 학문 공부하기
어쨌든 잘 먹고 잘 살려면 기초학문을 잘 해야 한다. 나는 언제나 기초가 부족한 것이 최대의 흠이다.
- (상) 통계: 머신 러닝 공부를 해야 한다지만 중요한 것은 교과서 읽는 것이 아니라 검증 방법이다. 검증에 관해서라면 역시 통계를 공부해야 한다. 기초 확률 이론만 하다 끝나버린 연세대학교 수학과 통계학 수업 덕분에 나는 통계에 대해 아는 것이 전혀 없다. 가설 검증, ANOVA 이런 상식적이어야 할 것 같고 무지막지하게 중요한 것 같은 주제들에 대한 지식들이 전무하다. 따라서 공부를 열심히 해야 한다. ^ㅁ^ 결국 지금은 아이폰으로 통계 101 강좌 듣고 있는 형편인데.... 그 다음엔 어디로 가야 할지..
- 평가: (A) 통계 101 강좌 하나를 모두 듣고, 통계 관련 교과서를 하나 완독한다. (B) 통계 101 강좌 하나를 모두 듣고, 통계 관련 교과서에서 중요한 항목들을 훑어본다. (C) 통계 101 강좌를 모두 듣는다.
- (상) 머신러닝: 두번 말 할 필요가 없다.
- 평가: (A) 지금 보고 있는 학부 교과서 외에 한 권 책을 더 본다. (B) 지금 보는 학부 교과서는 다 봤다. (C) 그래도 조금은 봤다.
- (중) 다른 수학: 미적분 한번 훑고, 세상에서 제일 쉬운 해석학 교과서를 찾아서 간단하게 본 뒤, 곧장 optimization theory 로 점프하고 싶다.
- 평가: (A) Practical Optimization, 혹은 Convex Optimization 을 보고 있다. (끝내는 게 아님!) (B) 세상에서 제일 쉬운 해석학 교과서를 간략하게 공부했다. (C) 그래도 다변수 미적분학은 했다.
- (중) 경제학: 상식 있는 사람으로 취급받을 정도로만 공부합시다. 다른 건 바라지도 않음. orz 기초적인 교과서를 한 권 정도 읽고, 신문 보고, 괜찮은 책을 몇 권 정도 읽는 게 목표.
- 평가: (A) 분기당 2권 이상의 경제학 서적을 읽었다. (B) 분기당 1권 이상 읽었다. (C) 분기당 0.5권 이상 읽었다... 아 안습.
- (하) GRE 보기 -_ -: 내년 겨울에 U of Chicago 스탯 마스터를 넣고 싶은데.. 아..
- 평가: (A) 오, 잘 봤다 (B) 봤다 (C) 그냥 석사 안할란다
알고리즘 문제 풀이
솔직히 지금 나의 능력중에서 가장 경쟁력 있는 부분인데.. 올해는 여기에 시간을 많이 투자할 수가 없다. 일단 원고와 AOJ 라는... 아주 오래된 프로젝트들을 끝내기 전에는 여기에 시간을 투자해서는 안 될 것 같다. 이걸 끝내야 하나의 계단 (.. 3년짜리 계단) 을 밟고 다음 단계로 넘어갈 수 있을 것 같다.
- (상) 원고: 유구무언. 내년에는 내가 스탱 영어 공부 시킨다. 두고보자.
- 평가: (A) 책냈다 (B) 초본 끝내고 proofreading 및 검증 중 (C) 내년엔 꼭 쓰겠다
- (중) AOJ
- 평가: (A) 컨테스트 기능을 포함해 정식 오픈 (B) 다양한 언어와 문제 분류를 지원해서 정식 오픈 (C) 내년엔 꼭 오픈하겠다
개발 능력
트레이딩에서는 클라우드 컴퓨팅 (단말의 속도보다는 전체 시스템의 스루풋이 중요) 과 마이크로 아키텍처 (단말의 속도 최적화) 라는 양 극단의 두 주제가 모두 중요하다. 뭐 이딴 산업이 다 있어 -_ -; 그래서 그만큼 폭넓게 공부해야 한다는 것은 장점이라고 볼 수도 있긴 한데.. 쩝;; 이 쪽에서도 나한테 튼튼한 기반이 매우 부실하다는 점은 인정하지 않을 수 없다. 향후 2~3년 안에 Java 나 C# 등의 VM-based 언어로의 transition 을 해 볼 생각이기 때문에 이 쪽으로도 꾸준한 노력이 필요하다. 그리고 마이티가 너무 치고 싶어서 인터넷 마이티 사이트도 만들고 싶어.. 아.. 이건 안되려나..
- (중) 아키텍처: 연세대학교에서 들은 가장 허무한 수업 중 하나인 아키텍처 덕분에 나는 아키텍처에 대해서도 아는 것이 별로 없다. 전에 포스팅한 How To Write Fast Code 강의자료를 보는 데 나는 아는 것이 정말 없더라. 지금까지 난 어떻게 퍼포먼스 컴퓨팅을 해온거냐. 나보다 느린 코드 작성한 인간들 다 꿇으3. ㅎㅎ... 이게 아니고.... 새 cpu 가 나오면 대체 이게 전것보다 왜 좋은지 정도는 알고 싶은데 (나지만 정말 소박하다) 뭘 해야 하나요... RWT 는 게시판 볼륨이 커서 따라갈 엄두가 안남. ㅠ 학교 강의를 본다기보다는 외적인 다른 리소스들 - 백서나 책 - 등을 중심으로 공부하는 것이 좋을 것 같다. 예를 들면 희승이형한테 받은 Drepper essentials 라던가 ㅋㅋ
- 평가: (A) CPU 구조가 내 프로그램에 미치는 영향을 구체적으로 알 수 있다. (B) CPU 구조 다이어그램을 보고 뭐가 뭔지 알 수 있다. (C) 작년에 비해 나아진 바가 없는 것 같다.
- (하) Performance-oriented 자바 개발에 필요한 지식을 쌓기: VM 구조와 메모리 관리 등등에 대한 specific 한 지식을 쌓고 싶은데, 이건 prod 코드를 실제 작성하지 않고서는 도무지 얻을 수 없다. 다행히도 나에게는 희승이형과 netty 라는 위대한 레퍼런스가 있음. 여기서부터 공부를 시작해 보고 싶다. 마이티 서버 이걸로 만들면 안되나요~ ㅠㅠ
- 평가: 연말에 qualitative 평가.. 솔직히 이건 할 자신이 없다.... 토픽의 방대함에 비해 우선순위가 너무 낮음...
- (중) Hadoop, distributed database 등을 이용한 클라우드 개발에 대한 working knowledge 쌓기: 이건 당장은 EC2 써보면서 하고 있는데.. mongo 에도 관심은 있고.. 뭐 여기에는 어떻게 시간을 투자해서 뭘 얻어야 할진 잘 모르겠다. 그냥 이건 도구의 차원.
- 평가: (A) distributed system 을 백테스팅/학습/리서치에 쓰고 있다. (B) distributed system 을 써 봤다. (C) EC2 는 AOJ 할때밖에 안써봤다.
- (하) 컴파일러: LLVM 이 먹는건가요?
- 평가: 연말에 qualitative 평가.. 솔직히 이건 할 자신이 없다....2 토픽의 방대함에 비해 우선순위가 너무 낮음...2


