본문 바로가기
카테고리 없음

[NDC] 게임 S/W 개발자가 되려면

by 유니티세상 2025. 11. 11.
반응형

https://ndcreplay.nexon.com/NDC2016/sessions/NDC2016_0040.html?utm_source=chatgpt.com

 

NDC Replay

안녕하세요. 박종천이라고 합니다. 오늘 이 Session은 방금 제목 들으셨겠지만 Game S/W 개발자가 되려면 이라고 해서 Game 개발자가 여러 가지 종류가 있는데 그중에서 S/W 개발자, S/W Engineer가 됐을

ndcreplay.nexon.com

 

1. 게임 산업과 직무에 대한 생각

  1. 한국의 강점 = IT + 콘텐츠 제작 → 그 합이 게임
    • 한국은 IT(프로그래밍, 인프라)도 잘하고
    • K-POP, 드라마 같은 콘텐츠 제작도 잘함
    • 이 둘을 합친 게 게임 산업이라 보고, “대한민국 미래 먹거리”라고 보는 사람.
  2. 게임 개발 안에서도 직군 역할을 명확히 나눔
    • Artist = 고객을 끌어오는 사람(Customer Attracter)
    • Designer(기획자) = 재미와 성공을 만드는 사람(Success Maker)
    • Engineer(개발자) = 실패를 막는 사람(Failure Preventer, Enabler)
      • 엔지니어가 잘해서 대박 난다기보다
        엔지니어가 못하면 아예 출시도 못 하거나 버그로 망함
      • 그래서 “튀어나와서 주인공이 되기보단, 모두가 일 잘하게 만드는 사람”이라고 정의.
  3. 엔지니어 안에서도 세분화를 중요하게 봄
    • S/W Engineer vs System Engineer vs DB/Cloud Engineer 구분
    • 그중에서도 Game S/W Engineer는 전체 개발자의 1% 수준이라고 말함
    • Game S/W Engineer 안에서도
      • Client / Server / Tool / Platform 엔지니어로 역할 구분
    • “한 사람이 다 잘하려고 하기보다, 자기가 어떤 영역을 깊게 파는지 정의하라”고 보는 사람.

2. 개발자에게 가장 중요한 역량 (기초 + 영어 + 빨리 배우는 힘)

  1. 영어
    • 개발자에게 제일 먼저 강조한 게 영어.
    • 이유:
      • NAVER vs Google 검색 결과는 정보량/품질이 천지 차이
      • 최신 기술/자료/문서 대부분이 영어권
    • 그래서 슬라이드를 다 영어로 만든 것도,
      영어를 못하면 게임 개발자로서 쓸 수 있는 무기가 확 줄어든다”는 메시지.
  2. “기술 스택”보다 먼저, “기초 체력”
    • 요즘 핫한 기술(JavaScript, C#, Python, AWS, Unity 등)을 다 인정하면서도
    • 정말 중요하게 보는 건 “기초를 얼마나 아느냐”.
    • 그가 말한 “기초” 예:
      • 수학·물리: 미분, 적분, sin, cos, 기본 전기(Volt, Ampere) 정도
      • 자료구조/알고리즘: Stack, Queue, Binary Search, 정렬, Tree 구조
      • OS: 프로세스/스레드 차이, 메모리, 파일 시스템
      • H/W: CPU 코어, 레지스터, 메모리 구조, 왜 2진수로 다루는지
      • 언어: C/C++, C#, Java, Python 정도는 보고 어떤 언어인지 구분할 정도
    • 기술은 3년마다 바뀌지만, 기초는 평생 써먹는다고 강조.
  3. Framework에 기대지 말고, Framework 없이도 만들 수 있는 힘
    • 버튼 몇 개 클릭해서 서버 띄우는 건
      나도 쉽게 하면 남도 쉽게 한다 = 경쟁력이 아니다
    • Tic-Tac-Toe 같은 텍스트 게임이라도
      바닥부터 직접 만들어 보는 경험이 진짜 실력이라고 봄.
    • 그래서:
      • “Framework 없어도 만들어 볼 수 있어야,
        Framework를 쓸 때도 훨씬 잘 쓴다”는 관점.
  4. Critical Thinking(비판적 사고)
    • 문제를 “그냥 푸는 것”만 하지 말고:
      • 왜 이런 문제가 생겼지?
      • 다른 방식으로 해결하면?
      • 나 말고 다른 사람이 유지보수할 땐?
    • 즉, 앞뒤·좌우로 계속 파고드는 사고습관을 굉장히 중요하게 봄.

3. 성장/커리어에 대한 철학 (재능 + 연습 + 기회)

이 사람이 제일 “비밀 노하우”처럼 강조한 부분.

  1. 성공의 3요소
    1. 재능(Talent) – 내가 뭘 좋아하고 잘하는지 찾기
    2. 연습(Practice) – 그 재능을 매일 써서 연습하기
    3. 기회(Opportunity) – 위 둘이 쌓인 상태에서 기회가 왔을 때 잡기
    • 재능만 있어도 안 되고,
    • 연습만 해도 부족하고,
    • 재능 + 연습이 된 상태에서 기회가 올 때 비로소 의미가 있다는 생각.
  2. 기회를 ‘억지로’ 잡으려 하지 말고, 먼저 능력을 쌓아라
    • AWS 모르는 사람이 AWS 포지션에 “대충 붙어보려고” 하는 사례를
      나쁜 예로 들면서:
      • 그냥 붙어봤다 들통 나서 잘리는 것 vs
      • 6개월간 제대로 공부해서 AWS 실력은 남고, 그 포지션은 없어지는 것
    • 이 사람은 무조건 후자(실력)가 남는 게 훨씬 값지다고 봄.
    • “회사라는 나뭇가지를 믿지 말고, 내 날개(실력)를 믿어라는 비유를 씀.
  3. 실력을 수식으로 정의함
    • Capacity(실력) = 지식(knowledge) + 숙련도(skill) + 경험(experience)
    • 나 스스로:
      • 지금 지식은 어느 정도인가?
      • 도구·IDE·언어에 얼마나 익숙한가?(숙련도)
      • 얼마나 다양한 프로젝트/버그/실패를 경험했는가?
    • 이런 걸 계속 점검하라고 권장.
  4. 연습하는 방법도 구체적으로 말함
    • 똑같은 프로그램을 여러 번 다시 짜보기:
      1. Make it working – 일단 돌아가게 막 만들기
      2. Make it right – 구조·알고리즘·가독성 고려해서 올바르게 다시 만들기
      3. Make it fast – 최적화하고 성능 좋게 다듬기
    • 한 문제를 C#, C++, Java 등 여러 언어로 해보는 것도 추천.

4. 팀워크/회사 생활에서 중요하게 보는 것

  1. 채용 기준 3가지
    • 이 사람은 사람 뽑을 때 딱 세 가지만 본다고 함:
      1. 똑똑한가 – 새로운 것을 빠르게 배우는 능력
      2. 부지런한가 – 꾸준히, 성실하게 일하는 태도
      3. 착한가(선의가 있는가) – 남을 이용하지 않고, 함께 잘하고 싶은 마음
    • 실력만으로 안 보고, 팀워크와 인성을 엄청 중요하게 여김.
  2. 입사는 끝이 아니라 시작
    • 이력서 → 코테 → 엔지니어 인터뷰 → 팀/컬쳐 인터뷰를 거쳐도
      입사는 “시작점”일 뿐이라고 못 박음.
    • 들어가서:
      • 개발 사이클(요구사항 → 개발 → 테스트 → 배포 → 피드백/로그 → 업데이트)
      • 역할 구조(Stakeholder, Product Owner, Project Manager, Team Lead, People Manager)
        같은 걸 몸으로 익히는 게 진짜라고 생각.
  3. 개발은 ‘Art + Engineering’의 중간
    • Art처럼 사람 개개인의 색깔과 실력이 중요하고,
    • Engineering처럼 여러 사람이 모여 하나의 큰 시스템을 만드는 일.
    • 그래서:
      • 각자 “내 파트”에선 아티스트처럼 깊게 파고들고
      • 전체로 모았을 때는 거대한 공장처럼 돌아가게 하는 걸 이상적으로 봄.
  4. Soft Skill & Business Skill도 결국 필요
    • 경력이 쌓이면 단순 코딩만이 아니라:
      • 커뮤니케이션
      • 프로젝트 관리
      • 팀 관리
      • 회사의 비즈니스/돈 버는 구조 이해
    • 이런 것까지 포함한 9가지 기술이 필요하다고 보고,
      그걸 따로 강연까지 할 정도로 중요하게 생각함.

5. “계속 배우는 사람”을 최고의 기준으로 봄

  1. 세상을 둘로 나누는 기준
    • 이 사람은 세상을
      • 힘 센 사람/약한 사람
      • 성공한 사람/실패한 사람
      • 행동하는 사람/안 하는 사람
        로 나누지 않고,
    • 딱 두 종류로 나눔:
    • “배우는 사람” vs “배우지 않는 사람”
    • 이 문장을 보고 인생이 바뀌었다고 말할 정도로 “계속 배우는 태도”를 중요하게 여김.
  2. 현재 실력보다 ‘기울기(성장 곡선)’를 봄
    • 지금 Nexon과 Blizzard를 비교해 달라 했을 때:
      • 현재 수준은 의미 없다. 누가 더 빨리 좋아지고 있느냐가 중요하다”고 말함.
    • 마찬가지로 개발자도:
      • 1주일 전의 나보다 조금 나아졌으면 OK
      • 그대로면 멈춰 있는 것
    • 그래서 “조금씩이라도 성장하는 상태인지”를 더 중요하게 여김.
  3. 혼자보단 같이 공부하는 걸 추천
    • 스터디, 모임, 커뮤니티(이상한 모임 ‘이모’ 같은 것)에서
      • 서로 도와주고
      • 경쟁·도전·격려하는 환경을 좋게 봄.

6. 이 사람이 개인적으로 중요하게 여기는 ‘개발자의 꿈’

  1. “내가 만든 걸 많은 사람이 쓰는 것”
    • 아래아한글 → 수십만
    • 미국에서 보이스 메일, 모바일 웹 브라우저 → 사용자가 점점 늘고
    • Blizzard에서 Hearthstone → 5천만 단위
    • 앞으로 Nexon에서 1억 명, 그 이상이 쓰는 S/W를 만들고 싶다고 함.
    • 즉, 이 사람의 기준에서 “개발자의 꿈”은
    • 내가 만든 소프트웨어로 얼마나 많은 사람의 삶을 건드리느냐.
반응형