2008 WoC 멘토를 하고자 합니다. 일상속에서...

NCSoft 오픈마루 스튜디오에서는 3년전부터 매년 Winter of Code 라는 것을 합니다. 겨울 방학때 학생들이 개발을 하고 현업에 종사하는 개발자들이 멘토링을 해주는 행사이지요.

지금까지는 한 번도 여기에 참여한 적이 없었는데요, 제가 이번에 만들고 싶은 애플리케이션이 있어서 제가 만든다기 보다는 제가 멘토로 참여하여 학생들과 함께 만들어 보고 싶네요.

오해가 있을까봐 잠깐 부연 설명 - WoC의 멘토는 개발을 해주는 것이 아니라 학생들이 개발하는데 대해 가이드만 해주는 것입니다. 개발은 학생이 하는 것입니다.

일단 제가 만들고 싶은 것을 소개합니다.

간단히 요약하면 독서 목록을 관리하고 함께 나누는 싸이트입니다. 사실은 요즘에 블로그에 올리고 있는 책 리뷰를 좀 더 편하게 써보고자 하는 욕심에서 나온 것이지요.. ^^;

  1. 사용자는 자기가 가지고 있는 책, 보고 싶은 책, 보고 있는 책들로 목록을 만듭니다. - Aladdin, Daum, Naver, Amazon 등의 오픈 API를 사용합니다.
  2. 해당 책에 관한 리뷰를 작성하고 별점을 메깁니다.
  3. 리뷰는 MetaWebLog, Daum Blog API 등을 사용하여 블로그에 포스팅을 할 수 있습니다.
  4. 기타 기능이 더 붙습니다만, 그게 좀 핵심이 되는 것이라 여기서 상세한 아이디어는 공개하지 않겠습니다. 학생과 함께 키워나가도록 하지요. ^^
이와 비슷한 싸이트가 이미 존재합니다. 바로 OpenYourBook 이지요. 사실 이 아이디어를 생각하고 난 뒤에서야 혹시 이미 비슷한게 있는거 아냐? 하고 찾아봤었습니다. 역시나 있더군요.

하지만 몇가지가 다릅니다. 그리고 사실 이게 만들어서 오픈하는 것 보다는 만드는 과정 자체를 학생이 느껴보도록 하는 것도 목표이기 때문에 이미 존재하고 말고는 크게 의미가 없습니다. 그리고 프로그램의 규모도 학생이 하기에 그렇게 부담되지 않을 정도 인 듯 하네요.

그렇다면 학생은 어떠한 스킬을 기본적으로 가지고 있어야 할까요? 아래는 제가 알려주는 것이 아닙니다. 이미 기본 지식을 알고 있거나 스스로 공부할 의지를 충분히 갖추고 있어야 합니다(좀 스펙이 높긴 하군요.. "기본"을 알고 있다는 정도로..).
  1. HTTP 프로토콜에 대한 기본적인 이해.
  2. Java/JavaScript/CSS
  3. Servlet/JSP(혹은 FreeMarker)
  4. Spring
  5. Hibernate 혹은 iBATIS 혹은 Spring JDBC
  6. MVC 패턴과 Service, Dao 로 구성하는 개발 방식
  7. Subversion 을 통한 소스 코드 관리
  8. Eclipse
가능한 한 제가 일하고 있는 회사의 자바 개발 환경, 개발 방식을 그대로 따르도록 하고자 합니다. 아마도 저러한 기본 지식을 갖추고 있더라도 실제로 개발한 경험은 없는 학생들도 있겠지요? 그래서 제가 회사에서 일 하던 방식을 그대로 가이드 해 주게 될 것입니다. Hibernate는 사실 욕심이 과한 듯 합니다. 상황을 봐서 iBATIS 혹은 Spring JDBC로 스펙을 낮추도록 할 예정입니다.

그리고 개발을 하는 도중 학생은 어떠한 방식을 사용하게 될까요?
  1. Test Driven Development : 제가 요즘 빠져 있습니다. 요즘에는 테스트를 만들지 않으면 거의 코드를 짜지 않으려고 하는 편이지요. 이건 저도 함께 공부하게 되겠군요.
  2. Maven 을 통한 프로젝트 의존성 및 빌드 관리
  3. 기타 제가 밥도 좀 사주면서 함께 만나 짝 프로그래밍도 할 예정입니다. - 이번 WoC에는 아마도 개발자와 학생이 PC를 들고 직접 만나 모두 모여 코딩하는 세션이 들어갈 것 같습니다. 없더라도 제가 따로 시간을 내도록 할 예정입니다.
혹시 함께 하고자 하는 학생(1명 혹은 그 이상의 팀도 가능합니다)이 있다면 오픈마루 스튜디오에서 얼마후에 하는 W Day 때 저에게 면담을 요청해주세요. W Day는 학생과 멘토들이 먼저 만남을 가지고 멘토들이 학생들을 만나보고 강연도 듣는 그런 날입니다.

이 프로젝트에 관심이 있으시면 으로 이메일을 줘서 미리 약속을 잡아도 좋을 것 같고, W Day 당일날 어찌 어찌 만나게 되어도 괜찮습니다. 그러면 저는 여러분들중에 누군가를 좀 더 자세히 알고 프로젝트를 수행할 학생을 선택할 수 있게 됩니다.

야, 긴 글 읽어주셨군요. 고마워요~


덧글

  • 흉악곰푸욱 2008/12/09 00:18 # 삭제

    지원자가 많았으면 좋겠어요. 얼마나 좋은 멘토인지 모를테니 한마디 하자면 권남님 좀 짱~~!!
  • kkoon79 2008/12/09 08:58 # 삭제

    유사 서비스가 있어서 혹 도움이 될까 하고 남겨봅니다.
    http://platanustree.com 레일스로 된 서비스로 김석준님이 틈틈이 만들고 계신 사이트 입니다. ^^
  • Outsider 2008/12/09 09:42 # 삭제

    항상 권남님의 열정에 깜짝 놀라게 되는군요.. ㅎ
    저도 비슷한 컨셉의 서비스를 구상했었는데 다른 일에 치여서 무기한 밀려만 가는군요
    이번에 좋은 결과물이 있었으면 좋겠네요.
  • trypsr 2008/12/09 10:11 # 삭제

    간만에 권남씨 블로그 들어왔는데..
    잼있는거 많이 하고 지내는거 같아요~
    제가 학생 하면 안될까요? ㅎㅎ
  • 제우스 2008/12/09 10:58 #

    spring, spring ...
    2~3개월안에 완성해야 하는 WoC특성상 쉽지 않는 부분이 될듯하네요..
    좀더 가벼운 프레임웍이 있으면 좋을텐데.. 마땅한 대안도 생각이 안나네요..
  • 권남 2008/12/09 12:12 #

    kkoon79님// 오 또 있었군요. 소개 감사합니다. 사실 이런 정도의 서비스는 Rails로 하는게 맞아보이는데, 제가 Rails를 가이드해줄만 한 수준으로 다루지를 못해서요.
    Outsider님// 감사합니다. 학생을 열심히 시킬께요.. ^^
    trypsr님// 우리 연말인데 함 봐야죠??
    제우스님// 그래서 이미 Spring을 알고 있는 친구들을 선발해서 하고자 합니다. 사실 가볍게 하려면 CakePHP나 Django, Rails를 했어야하는게 맞는것 같은데요, 뭐 제가 그쪽을 개념 정도만 아는 수준이라서 코칭은 힘들것 같네요.
  • zelon 2008/12/10 04:47 # 삭제

    재미있겠네요. 저도 학생일 때 이런거 참여했으면 좋았을 텐데... 즐거운 멘토링 되세요~ ^^/
  • Tip 2008/12/11 19:41 # 삭제

    이번에 Woc에 참가해보려는 컴공 3학년 재학중인 학생입니다. 우연히 이 페이지를 보게 되었네요 ^^;
    읽어보니 프로젝트가 흥미롭기는 한데... 스펙이 높네요 ㅡ.ㅜ 즐거운 맨토링이 되셨으면 좋겠습니다. 저는 좀더 저의 현실에 맞는 프로젝트를 찾아봐야 할 듯 하네요 ㅠㅠ
  • 권남 2008/12/12 09:19 #

    Tip님// 즐거운 경험 되길 바래요~ 좋은 친구들도 많이 만나구요~
※ 로그인 사용자만 덧글을 남길 수 있습니다.