리퍼러를 분석해 보면 ACM-ICPC(세계대학생 프로그래밍 경진대회) 나 프로그래밍 경시대회 정보를 검색하다 이곳에 오는 분들도 꽤 되는 것 같다. 그래서 오늘은 TopCoder 에 대해서 소개하고자 한다.

프로그래밍 분야가 다른분야와 달리 어려운 점 중 하나는 프로그래머의 역량을 객관적수치로 평가하기가 어렵다는 것이다. 예를 들면 영어 능력은 토익/토플 과 같은 시험 성적을 통해 간접적으로 나마 평가가 가능하고, 운전 능력은 그 사람의 운전 경력과 무사고 몇년~ 이런 숫자를 통해 평가가 가능하다.

하지만 프로그래머의 코딩 실력을 평가해보려면 어떻게 해야 하는가?? 정보통신부 노임단가 기준대로 학력/경력/각종 자격증 소유 여부로 매겨야 하나?? 대답은 분명히 No 다. 프로그래밍 실력이 경력/학력/자격증과 정비례하지 않는 경우가 많다는 사실은 많은 현업 개발자들의 경험을 통해 입증되었다. ( IT 업계특성상 경력/학력이 높아질수록 엔지니어는 프로그래밍에서 멀어지고 아키텍트 or 관리자를 지향하게 된다. )

그래서 프로그래머의 역량을 측정하기 위한 방법중 하나로 도입된 것이 바로 알고리즘과 문제해결 능력을 묻는 코딩문제를 얼마나 잘 푸는지를 평가하는 방식이다.
IOI (국제 정보 올림피아드)ACM-ICPC 와 같은 알고리즘 문제풀이 대회를 학교와 교육기관에서 매년 많은 예산을 들여 개최하고, Google, MS 같은 IT 기업들이 개발자들의 입사시험 문제로 알고리즘 코딩 문제를 내는 것은 바로 이러한 이유 떄문일 것이다.

하지만 IOI 와 ACM-ICPC 는 소수의 학생들을 대상으로 한정되어 있고,
UVaPKU , USACO 와 같은 프로그래밍 연습 사이트도 존재하나 비영리 사이트인 관계로 정기적인 온라인 대회도 별로 없고, 학습자료나 풀이방법에 대한 친철한 가이드도 부족하여 체계적으로 프로그래밍 연습을 하기엔 불편한 점이 많다.

이 와중에 미국의 한 회사가 정기적으로 온라인상에서 전세계 모든 개발자들을 대상으로 알고리즘 문제풀이 대회를 개최하고, 결과를 Rating 시스템을 도입해 수치/등수화한 것이 있으니 바로 TopCoder 매치이다.

사용자 삽입 이미지

TopCoder Inc. 라는 회사의 모토를 보면, 개발자들의 역량을 객관적으로 평가하기 위한 온라인 프로그래밍 대회 서비스를 열고, 이 결과들을 통해 여러 회사들이 개발자들을 쉽게 채용을 할 수 있는 Employment Service 를 연결하고 있다. (TopCoder Inc. 는 이런 회사들의 스폰서쉽이 주 수입원인 것 같다)

프로그래밍 대회는 Algorithm 분야 및 Design(컴포넌트 설계), Development(컴포넌트 개발), Marathon Match(2주간의 장기 코딩대회) 로 나뉘어지며, 본인이 참여하고 있는 Algorithm 매치는 주 1회 꼴로 열리는 SRM(Single Round Match) 을 통해서 성적이 매겨진다.

현재 한국에서는 60 여명의 코더가 활동중이며,
한국의 국가 순위는 이글을 쓰는 현재 15위 이다. TopCoder 를 통해 전세계의 개발자들 중에서 자신이 어느정도 위치인지 대략적으로나마 알수 있고, 또 자신을 단련하는 좋은 연습장이 될 수 있다. 그리고 무엇보다도 정말 재미있다! ^^

자... 그럼 혹시 TopCoder 에 가입하고 싶은 분들이 계신가..

http://www.topcoder.com/reg/ 

위의 링크에 가서 Competition Registration 항목을 선택하고 가입하면 된다...
참고로 가입시 적는 항목중 "Referring Member" 란 항목이 있는데, 추천회원을 의미한다. 이 글을 보고 가입하려는 분들은 글쓴이의 수고를 생각해서 Soyoja 라고 써 주면 감사하겠다 =D  (싫다면 할 수 없다. ㅎㅎ)

대회 방식은 간단하다. TopCoder 에 회원 등록을 한 후 Java 로 만들어진 Competetion Arena 라는 프로그램을 다운받고,
Event Calendar 를 보고 SRM 이 열리는 시간에 접속해서 대회를 하면 된다. (표시된 시간은 미국 동부 표준시인 것을 주의) SRM 은 코딩 75분, 5분 휴식 후 다른 사람들이 짠 코드의 버그를 잡는 Challenge 15 분으로 총 2 시간 정도가 소요된다.

회원 가입 및 TopCoder 활동은 모두 무료이며... 대회에서 성적이 좋으면 여러가지 재미난 혜택들이 많으니 많은 한국 개발자분들의 참여가 있으면 좋겠다... =)

댓글을 달아주세요!
  1. BlogIcon JM 2007.11.27 14:54 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요, 구종만입니다. :)
    부탁드릴 게 있어서 몇번 irc 에서 찾았는데 그때마다 안계시더군요.. ^^;; 그래서 와서 리플 남깁니다.
    혹시 이 블로그 엔트리를 알고스팟 오픈렉쳐 게시판에 올려주시면 안될까요? 귀찮으시다면 제가 와서 퍼가도 (^^;;) 괜찮습니다.

    탑코더나 각종 대회에 대한 소개글이 필요한데.. 잘 써놓으신 것 같아서 전재하고 싶습니다. ㅎㅎㅎㅎ
    미리 고맙습니다~ ^^

  2. BlogIcon JM 2007.11.29 16:42 신고  댓글주소  수정/삭제  댓글쓰기

    네.. 낼름 퍼갔습니다. 감사합니다!!! ^^

  3. Raina 2008.01.31 17:00 신고  댓글주소  수정/삭제  댓글쓰기

    오 이런것도 있네요.
    조만간 시간내서 저도 한번 시작해봐야겠네요.
    재미 있을 것 같아요.
    좋은 정보 감사합니다. ^^

  4. BlogIcon doodoori2 2008.10.19 03:02 신고  댓글주소  수정/삭제  댓글쓰기

    이번에 처음 참가해보았는데요 ㅎ
    방마다 다른 문제가 뜨는건가요? 아니면 모든 Room에 같은 문제가 들어가는건가요?ㅎ
    점수 채점 방식도 좀 궁금하더라구요a
    영어를 읽는데는 많은 에너지를 소모해야해서 ㅠㅋㅋ

    • BlogIcon mynotepad 2008.10.20 09:43 신고  댓글주소  수정/삭제

      같은 Division 내의 모든 방에 같은 문제가 뜹니다.
      Rating 1200 점을 기준으로 1200 이상이면 Divison 1, 1200 점 미만이면 Division 2 로 나뉘어지며, Division 별로는 문제가 다르지만, 같은 Division 내에서는 방이 달라도 문제는 같습니다. ^^
      채점방식은 SRM 이 완전히 완료된 이후에 문제 출제측에서 준비한 모든 test case 에 대해서 모두 통과했을 경우에만 System Test Pass 가 되며 점수를 받게 됩니다. ^^

  5. BlogIcon 지돌스타 2008.11.03 15:26 신고  댓글주소  수정/삭제  댓글쓰기

    와우! 이런것도 있네요

  6. 미키드 2009.07.23 01:41 신고  댓글주소  수정/삭제  댓글쓰기

    요거 퍼갈께요~

  7. BlogIcon helloneo 2011.02.06 16:32 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요.. 졸업하시고도 열심히 하시네요..
    저도 TopCoder를 시작해보려고하는데.. 앞으로 종종 찾아오겠습니다..

  8. 크로루 2012.02.25 00:26 신고  댓글주소  수정/삭제  댓글쓰기

    으앗 죄송해요... 신기해서 일단 가입하고 보니 밑에 추천인이 있었는데... 못썼네요 ㅠㅠ
    한국 등수나 떨어뜨리지 않을까 걱정되는데 한번 해보겠습니다.
    좋은 글감사합니다.

  9. Jamie.c 2014.09.18 09:54 신고  댓글주소  수정/삭제  댓글쓰기

    좋은글 잘 봤습니다!!!!!
    :) 곧 뵙죠.

  10. BlogIcon heugh 2014.11.08 00:32 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 글 감사합니다 :)
    추천인 기재하였습니다ㅎㅎ
    열심히 도전해볼게요!

이름 암호 홈페이지