• Like
  • Save
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
Upcoming SlideShare
Loading in...5
×
 

오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011

on

  • 37,734 views

 

Statistics

Views

Total Views
37,734
Views on SlideShare
35,271
Embed Views
2,463

Actions

Likes
147
Downloads
0
Comments
16

32 Embeds 2,463

http://dm4ir.tistory.com 651
http://www.onspatial.com 586
http://www.sunoo.net 342
https://twitter.com 184
http://yuns.me 142
http://collab.lge.com 116
http://sunoo.net 68
http://ludens.kr 61
http://www.hanrss.com 60
http://mangastorytelling.tistory.com 55
http://blog.netb.kr 40
http://appcross.hanbiro.net 32
http://10.1.1.10 31
http://cafe.naver.com 22
http://wiki.infobank.net 19
http://blog.naver.com 15
http://theurgistk.tistory.com 10
http://denny0326.tistory.com 8
http://feedly.com 5
http://a0.twimg.com 2
http://us-w1.rockmelt.com 2
https://www.facebook.com 2
http://inoreader.com 1
http://www.google.co.kr 1
http://fiddle.jshell.net 1
https://translate.googleusercontent.com 1
https://m.facebook.com&_=1389959836547 HTTP 1
https://m.facebook.com&_=1389945107936 HTTP 1
http://lgekrhqms10.lge.com 1
http://150.100.54.140 1
http://www.linkedin.com 1
http://127.0.0.1 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

110 of 16 Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • 좋은 발표 자료 공유해 주셔서 감사합니다~
    Are you sure you want to
    Your message goes here
    Processing…
  • 잘보고 갑니다. 확 와닫네요~
    Are you sure you want to
    Your message goes here
    Processing…
  • 서로 같은 이야기를 하는데...
    생각하는 것은 서로 다른 경우가 너무 많아요.
    수없이 회의를 하고, 문서를 주고 받아도 막상 뚜껑을 열어보면 서로 다른 이야기와 모습을 하고 있고. ㅎㅎ
    Are you sure you want to
    Your message goes here
    Processing…
  • 진짜 재밌어요 ㅋㅋㅋㅋㅋㅋ
    Are you sure you want to
    Your message goes here
    Processing…
  • 진심이 담긴 얘기에 정말 공감하고 갑니다. 감사합니다.
    Are you sure you want to
    Your message goes here
    Processing…

110 of 16

Post Comment
Edit your comment

    오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011 오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011 Presentation Transcript

    • 사회적 기술이프로그래머 인생을 바꿔주는 이유 devCAT studio 오승준
    • 강사 소개2001년 개발에 입문2004년 모바일 게임2005년 온라인 게임2008년 넥슨데브캣 스튜디오 입사
    • 10년젂,직업으로 프로그래밍을 하게 되면서저는 좀 더 좋은 프로그래머가되고 싶었습니다
    • 이붂 같은
    • 프로그래밍은어느 정도 핚다고 생각하고코드도 설계도마음에 드는데
    • 그게 언제나 좋은 결과로이어지지는 않았습니다일을 의뢰한 사람의 마음에들지 않는 경우가 많았습니다
    • 한마디로 말하면 실패
    • 실패:기대한 성능과실제로 관찰한 성능의받아들일 수 없는 차이
    • 기대핚 성능 관찰핚 성능
    • 의뢰인이 기대한 성능을기술만으로는만족시킬 수 없었다
    • 사례를 통해 살펴보자
    • 첫 번째 이야기
    • 2002년 어느 날
    • 개발 2년 차 초보 팀장인 내게
    • 거부핛 수 없는제앆을 하나 하지
    • 홈네트워크 관리시스템을 만들게 기갂은 45일
    • Death March내가 생각핚 최소 개발기갂은 3개월,앆정화까지 생각하면 5개월
    • 불가능한 줄 알면서도일을 수락했다
    • 야근하면 되겠지(그땐 아직 20대)
    • 그리고 두려움
    • 개발을 시작했다
    • 월화수목금금금
    • 기본적인 기능을 구현했다
    • 사장님, 기본 기능을 구현했어요음, 나쁘짂 않지만내가 원핚 방향과는좀 다른데? 예?????????????
    • 내가 원핚 건, 투자자들에게 보여주기 위핚용도의 프로그램이야 !!!!!!!!!!!!!!!!!!!!!! 젂 기반시스템부터 만들고 있었는데…
    • UI개발
    • 그러나
    • 야근때문에..힘이 빠짂다…
    • 결과적으로
    • 나온 것은 혼란핚 코드 덩어리프로토타입도 아닌학생 프로젝트 수준의 결과물
    • 사장님이 원핚 것 나온 결과물
    • Death March• 그리고 감정적인 대화가 오감 – 검열 삭제
    • 내가 잘못했던 일
    • 1. 의도를 파악하지 못했다.
    • 2. 불가능핚줄 알면서도 Yes라고 말했다
    • 시갂을 되돌릴 수 있다면
    • 45일 주겠네이걸 만들게 이걸 어떻게 이 시갂 앆에 개발해, 내가 일만 하는 기계도 아니고 음, 힘든 일정처럼 보이 는데, 왜 45일인가요?
    • 그 날 투자 심사를받아야 해 !!!!!!!!!!!
    • 의도를 이해했다!아하, 심사를 위해(겉보기가 화려핚) 시스템이 필요하구나
    • 문제를 파악했다!문제1: 제대로 구현핚다면 얼마나 걸릴까?문제2: 여기서 데모에 필요핚 건 뭐지?
    • 현실을 파악했다!우리의 개발 역량은 얼마나 되지?- 3년차 프로그래머 1명, 1년차 프로그래머 2명이 자원으로 젂체 시스템 개발은 못핚다
    • 이렇게 말하겠다!저희 역량으로는 젂체 시스템 구현 못합니다.지금 가장 중요핚 건 UI쪽이라고 생각합니다.데모에 필요핚 시스템을 먼저 구현핛게요.그리고 매 주 금요일마다 짂행상황을 검토 받겠습니다.
    • 두 번째 이야기
    • 200X년 어느 날
    • 몬스터 AI를 개발하기 시작
    • 야호!재미있는 일이다
    • 잘 해보려는 마음에..싞기술 연구도 열심히 하고설계도 꼼꼼히 하고코드 작성, 리팩토링도 열심히 하고내가 핛 수 있는 일은 다 했다.
    • 그러나…
    • 기획자가 의도한모습은 앆 나왔다.
    • 왜?과도핚 추상화가 발목을 잡았다적당핚 하드코딩으로 해결하면 더 쉬운 문제를일반론적인 방법으로 풀려고 했다
    • 결과적으로만든 코드 다 버리고다시 구현해야 했다
    • 시갂을 되돌릴 수 있다면
    • AI는 이래야 하고,이런 움직임을 했으면좋겠어 음, 왜 그런 특별핚 움직임이 필요핚지 이해가 앆돼 모델로 해볼만핚 게임이 있어?
    • XXX 게임을 해보면도움이 될꺼야 알았어, 게임 해볼께
    • 게임을 해보고기획자의 의도를 파악핚다이런 기능이 들어가면 재미있겠구나 하고 느낀다기획자와 교감핚다
    • XX게임의 YY같은 상황 을 만들고 싶은 거구나Yes.
    • 빠르게 구현하고기획자가 원하는 의도만 구현핚다과잉 설계하지 않는다하드코딩도 OK
    • 피드백을 받는다
    • Closingthe Gap
    • Happy Ending
    • 실패한 케이스를 되돌아보니기술/일정 문제보다더 근본적인 게 있더라기술보다 우선순위가 높은 건
    • 의도를 파악하고올바른 문제를 찾아서의뢰인의 기대를 충족시키는 일
    • 그렇게 생각하니내가 수단과 목적을혼동하고 있었다는 걸깨달았습니다
    • 프로그래머의 수단Programming LanguageVisual Studio좋은 설계Clean Code & Refactoring
    • 프로그래머의 목적문제를 찾아서가치를 구현하는 일
    • 가치?뭔가 유용핚 기능의도핚 기능무결점보다 유용성이 더 중요하다
    • 유용성 > 무결점 의 예
    • 올바른 문제를 찾아가치를 구현하는 것이(직업)프로그래머의 목적이다
    • 의뢰인은자싞의 문제를 해결해주기를 바란다가끔씩 근본적인 문제는 말하지 않는다코드가 얼마나 아름다운지는 싞경도 쓰지 않는다
    • 올바른 문제를 찾으려면의뢰인의 의도를 파악해야 핚다
    • 의도를 잘 파악하려면의뢰인의 말로만 판단하면 앆 된다의뢰인을 인정하고, 이해해야 핚다
    • 의뢰인과 동기화기획자프로그래머아티스트모두 공유하는 지식이 있어야 핚다
    • ps. 데브캣의 동기화 방법• 게임 개발 핸드북• 필수 컨텐츠• 같이 게임하기
    • 마치면서
    • 아직도 저는좋은 프로그래머가 되고 싶지만10년 젂과는 조금 다릅니다
    • 사람을 이해하고올바른 문제를 찾고유용한 기능을 구현하는프로그래머가 되고 싶습니다
    • 감사합니다@caesar13th
    • Q&A
    • References• 스콧 버쿤. “명연사, 명연설, 명강의”, ISBN 978-90-6077-180-2• 마커스 버킹엄, 커트 코프만. “사람의 열정을 이끌어내는 유능핚 관리자”, ISBN 978-89-509-0917-8• 낸시 두아르떼. “slide:ology”, ISBN 978-89-7914-730-8