포스트

전략: 테크: 커리어

테크를 배우자 - 근데 이제 커리어 포커스

전략: 테크: 커리어

머리말


테크를 배우자. 근데 이제 커리어 포커스.

  • 목표:
    • 넥슨 간다
      • IO 본부 간다
  • 삼신기:
    • CT: Coding Test
    • CS: Computer Science.
    • PJ: Project.
  • 1:
    • Q. 빌드업 너무 긺
    • A. 바로 본론으로. 대충 정리하고 시작
  • 2:
    • Q. 우선순위
    • A. 자원 최적화. (팀 프로젝트, 여가 시간)
  • Q. 남은 시간
  • A. 약 500일
    • 2025-XX-XX: 25년 100일도 안남음
    • 2027-02-28: 산업기능요원 복무 소집 해제 (26살)
      • 26살? 내가 26년이나 살았다고?
    • 2027-09-XX: 넥토리얼 지원 (있을지 모르지만, 일단)
    • ‘데드라인 설정하고 스스로 크런치모드로 해봐 어떻게든 될거임’

티켓


  • 단기 티켓
    • XX: 블로그 레퍼런스
      • 글 잘 정리해야 함.
      • 리스트 말고, 부드럽게 말로 읽을 수 있는 아티클.
        • 마치 면접 질의응답 말로 하듯.
    • CT: 코테 환경 세팅
    • CS: 면접 질문 정리 (어떤 도메인 필요한지)
    • PJ: 목표 수준 설정 (엔진 - 상용/자체, 장르, 서버)
    • PJ: 목표 자료 정리 (새로 배울 도메인, 강의 등)
  • 정기 티켓
    • CS: 주제 정하고 포스팅: 최소 1주 1포스팅
  • 장기 티켓
    • PJ: 단기 빠르게 작업하고 출시하는 것을 목표로
    • PJ: 데드라인 정해서 내가 올해 이정도 포폴은 만들거야 <- 좋음
  • 예매
    • PJ: 챌린지: N일 안에 게임 출시하기

Out Computer


서치

문서

  • 자기소개서, 이력서, 포폴 깎기
  • 블로그 깎기

활동

  • 게임잼/게임동아리/스터디
  • 다양하게 어필할 수 있는 공간을 활용
    • 신입 자리는 적고 사람은 많으니까
    • 링크드인, 노션, 깃헙, 트렐로 등

외관

  • 면접 능력
    • 모의 면접
  • 사회성
    • 너무 목석 같아도 안됨
    • 면접이라는 걸 보는 이상, 사람 자체가 갖는 아우라나 매력이 생각보다 합불에 영향을 크게 줌
      • 지원자가 너무 많음
      • 외향형이고 운동하는 규칙적인 사람
    • 스피치, 눈치, 친화력
  • 인성
  • 인터넷
    • 블로그 같은 공부이나 활동

분야-우선순위


  • 채용의나라 피셜
    • 1위 CS
    • 2위 자료구조/알고리즘
    • 3위 언어, 디자인 패턴, 엔진, DB 등
      • 자기가 쓰는 언어의 심화 과정 공부
  • _
    • CS 탄탄하고 코테 통과
    • 인적성 문제 없고
    • 팀워크 잘하고
    • 포폴 나쁘지 않으면

Computer Science / 컴퓨터 공학


전공. 가장 중요함. (4)

  • 기본기
  • 컴퓨터의 기초, 로우 레벨은 필수
  • 기본기가 탄탄하면 뭐든지 빠르게 배울 수 있다
    • 상용 엔진 경험 같은 건 언제나 바뀔 수 있고, 또 회사에서 배우면 돼
    • 그래서 CS 지식이 더 우선순위가 높다

CS-분야

  • 언어
    • C/C++
  • 운영체제
    • 메모리 구조
    • 컴퓨터 구조
    • 스레드
  • 객체지향/OOP (11)
  • 알고리즘 (10) & 자료구조 (10)
  • 디자인패턴 (4)
    • # 자주 쓰이는거 위주 공부하고, 실전 적용 (프로젝트에)
    • 싱글턴, 팩토리, 스트레티지 정도는
  • 선형대수
    • 외적/내적 정도는 기본
    • 행렬 변화 정도가 숙지되어야 함
    • # 이산 수학?
  • 그래픽스
    • 기초 그래픽스
      • 파이프 라인 정도, 머테리얼 사용법 숙지
      • 파이프 라인 정도 익히고 회사 가서 부딪혀가며 익혀도 됨
      • # 나는 셰이더를 좀 더 공부해서 강점을 만들까?

코테-자료구조-알고리듬

  • 코딩테스트
    • 문제 이해하기
    • 데이터와 문제에 맞는 알고리듬 찾기
    • 알고리듬 적용하고 디버깅하기
      • DFS 쓸 때는 스택쓰기
      • DFX 쓸 때 시작지점 stack에 미리 넣기
  • 코테 알고리듬 질문, 게임 특화 알고리듬 종종 (A*, QuadTree, BSP)

언어-엔진

  • 언리얼 C++
    • Effective C++
    • 유데미 언리얼 강의
    • 언리얼 장점이 입맛에 맛게 엔진 코드 고치는건데
      • 근데 마개조 할수록 엔진 업데이트 하기가 어려움
      • 유지보수 어려워서 PBR 쓸거면 그냥 냅두는 게 맞는 거 같아
      • 엔진 새 기능이 가지 치듯 업데이트 되면 좋은데, 맨날 구조를 바꿔버리니가 렌더링 파이프라인 살짝만 비틀어도 커스텀 한 거 다 박살남
      • 요새 커스텀 안하는 분위기?
    • https://gall.dcinside.com/mgallery/board/view/?id=gamejob&no=52081&page=13
    • [https://m.ruliweb.com/news/read/214344](턴제에 실시간 요소 더하기, ‘클레르 옵스퀴르’의 전투 디자인은 이렇게 이루어졌다)
  • 유니티 C#

프로그래밍 일반


디자인 패턴

  • 공통적으로 발생할 수 있는 문제에 대한 재사용가능한 솔루션/해결책
  • 옵저버 패턴
  • 싱글턴 패턴
  • 오브젝트 풀
  • FSM
  • BT

DB

그래픽스

  • 셰이더()
    • 노드 기반 셰이더 분석 및 작성 (2)
    • 프로그래밍
    • HLSL
    • 카툰 렌더링
    • 잘하면 스펙트럼 넓지
      • 셰이더 잘 다루고
      • 로우레벨 엔진 커스터마이징까지 가능
      • 최적화도 코드 단위가 아니라 렌더러 레벨에서 할 수 있고
      • 멀티스레드 경험치도 일반 클라 개발자보다 많고
      • SW 엔지니어링, 그래픽스의 일부

수학

(2)

  • 공학수학
    • 선형대수 (2)
    • 이산수학
  • 벡터 연산
    • 내적, 외적
  • 행렬 연산
  • 기본 뉴턴 역학
    • 선형대수 개념 없이 벡터와 스칼라를 크기와 방향, 크기만 있는 물리량으로만 이해 X

멀티스레드

  • 멀티스레드 (3)

네트워크

  • (5)1
  • 소켓
  • 서버
    • 서버 통신 및 데이터 추가/삭제/추출
    • SQL
      • MySQL
      • PostgreSQL
  • 멀티
    • 멀티플레이 구현
    • P2P, Server to Clients
      • 동기화
    • 간헐적 통신을 이용한 위변조 체크, 로그 쌓기
    • Photon, Nakama

서버 네트워크 공부하면서

프로그래밍 경험


경험

  • 출시 (5)
  • 라이브 (2)
  • 신규
  • 초기/개발단계부터 상용화/라이브 서비스까지 (11)
  • 유니티/메모리/성능 최적화 (5)

  • Tool
    • PlayFab

오픈소스

  • 에셋
  • SDK/서드파티 (4)
    • 구글, 애플 연동 (3)

그 외

  • 기존 프로그램의 구조 개선/리팩토링
  • 액션/전투 (3)
  • 방치형
  • 턴제
  • SLG
  • Git (2)1
  • Lua Script (2)
  • 코드 분석
  • 디버깅 (2)
  • UI/UGUI (7)
  • URP (2)
  • 렌더링/그래픽스 (2)
  • 물리 (2)
  • 플랫폼: iOS/AOS/PC (2)
  • 데이터 기반 의사결정
  • 최신 개발 트렌드
  • Spine (2)
  • After Effects
  • 1인 개발
  • 시스템 구조 설계 (2)
  • 전용/효율 툴 개발 (2)

포트폴리오


  • 유의미한 성과
  • PDF
    • 폰트 같은 것도 깨져서 PDF로 패킹해서 주는게 편함
    • +보안 문제 (링크나 구동 파일)

자기소개서-이력서

  • \? 이력서 탈락 여부가 결정되고, 포폴은 면접 시 세부 질문

  • 이력서
    • 사진, 나이, 이름, 연락처
      • 주소, 원하는 부서, 학력, 경력, 희망연봉, 입사가능일시
    • 아래 두 가지를 너무 번잡하지 않게 2~3장 내외로 정리
      • 본인이 해왔던 일 (할 수 있는 일)
      • 프로젝트 경험 기간
  • 경험
    • 신입
      • 학부 & 교육 기간에 무엇을 했는지, 개발에 밀접한 전공인지
      • 이력서나 포폴이 성의가 있는지
    • 경력
      • 이전 회사에서 어떤 직위를 맡았는지
      • 이직 주기 최근 2년 동안 2회 이하인지 (근속년수)
      • 원하는 포지션과 도메인에 맞는 일을 하였는지
      • 개발한 프로젝트가 실제로 서비스 됐는지
      • 우리 회사에서 진행하고 있는 프로젝트와 유사 경력이 있었는지
    • 시니어
      • 이전 회사에서 어떤 산출물이 있었는지
      • 프로젝트, 대인 리드 경험이 있었는지
  • 비중 적은 것 (상대)
    • 블로그 정리글, 포폴 영상 3분 넘어가는 것 -> 볼 시간 부족
    • 깃헙 페이지 코드 -> 보통 README 정도만
  • 포트폴리오
    • 영상 -> 궁금하면 보는거고, 포폴 자체가 좋으면 여부 관계 없음
    • 가독성 (그림, 영상 배치, 간격 등)

프로젝트

  • 프로젝트 & 스킬
    • 뭘 했냐도 중요하지만, 얼마나 구현했는지가 중요
    • 구현 기술, 과정과 결과 둘 다 중요함
      • 산출물 위주의 짧은 글 + 그 과정에서 겪었던 일들.
      • 보통 전자는 서류, 후자는 면접
    • 개발자가 포폴에 꼭 포함해야 할 12가지
  • 포폴에 대한 생각
    • 게임을 만들고 싶은건지, 취업을 하고싶은건지 (포폴은 만들고 싶은건지) 확실히 결정
      • 게임: 긴 시간 들여서 넣고 싶은거 다 하기. 젊은 나이는 그 무엇과도 바꿀 수 없다.
      • 취업: 일정을 정하고, 강점이 될만한 기능들만 구현해보고, 다음으로.
  • 포폴-면접
    • 포폴 공들인거 같아서 면접 잡아도 대답 못하면 그저 학원에서 준 레퍼런스인가 하기도 하고
    • 반대되는 예가 학원 포폴, 파쿠리 같이 뭔가 외부의 도움 비중이 높은 것들
  • 내용
    • 포폴 다 못보니까, 자신있는거 추려서 다듬기
      • 퀄만 좋으면 1개도 가능, 수가 중요하지 않음
      • 신입 -> 키움
        • 기본적인 실력 베이스
        • 양 보다, 뭔가를 스스로 몰두하고 끝까지 했는지가 중요
    • 게임에 쓰이는 코어 피쳐가 매끄럽게 들어가있는 포폴 한 두개면 됨
      • i.e. 네크워크 플레이 지원, 피격 판정있는 액션, DB에 저장되는 인벤토리, 무기 스왑, 레벨 업 등 성장시스템
    • 그 다음은 +@
      • 남들보다 좀 더 깊이 있는 테크닉을 챙겨주면 좋음
        • 렌더링을 파거나
        • 엔진을 파보거나
        • 관심있는 논문을 파거나
    • 단순 열거 -> 경험과 함꼐 설명
      • 이 기능은 어떻게 구현하셨나요? -> ~를 몰랐는데 공부하게 됐습니다
      • 어떤 최적화 기법을 적용
      • 하나의 기승전결 완성작 < 효율적 로직, 기능 구현
      • 게임 엔진 경험 < 전반적인 게임 제작 프로세스, 타 파트가 하는 업무 이해, 다양한 문제 슬기롭게 대처한 경험
        • 문제 해결자로서 팀에 기여한 내용을 잘 기록
          • 콘텐츠 제작/엔진 활용보다, 프로그래머로서 프로젝트에 기여할 수 있는 꼼꼼한 관리, 효율성 추구에 대한 마인드가 중요
          • i.e. 커뮤니케이션을 위해 노트 정리를 꼼꼼하게 하고 공유한 경험, 실수에 의한 발생한 문제를 감지하는 이중 시스템 개발
          • 확장성, 기획자가 있다는 가정하에 만든, 프로그래밍을 거의 모르는 사람이 모든 값을 조정 가능한, 에디터/엑셀 파싱
        • 게임 엔진 활용 능력
          • 어차피 다시 배운다. 회사 프로젝트에 따라서 재조립된다. -> 우선 기본에 충실
          • 기술적으로 어필할 수 있는. 프로젝트를 진행하면서 포폴 정리, 계속 자그만한 시스템들을 만들어나가야 한다.
          • 게임 엔진 활용 기술을 어필하고 싶다면, 에디터 툴 확장. 툴을 활용해 생산성 개선 고민해보는 경험.
  • 포폴
    • ‘뻔하고 지루한 무슨 게임 모작 이것저것 시스템 구현’
    • ‘인사팀 선에서 퀄리티는 다 걸러졌을 것이고 신입이 만든다고 얼마나 잘만들었겠냐’
    • ‘면접가면 포폴이 진짜인지 가짜인지 어떻게 작업했는지 정도만 알고싶어하고 지원자가 무슨 천재적인 방법을 써서 만들었나 그런 기대는 딱히 안한다’
    • ‘결국 물어보는건 CS 지식에 대한 깊이, 얘를 회사 작업 스타일로 얼마나 개조할 수 있는가, 이해할 머리가 되는가 이런 것들 같음’
    • ‘그치 내 말은 이제 인사팀이 보고 괜찮다고 평가할 포폴은 만들되 포폴로 명작을 만들겠어 이럴건 없는 것 같다는거지’
    • ‘그래서 포폴에 목숨 걸 필요가 없다는거임’
      • ‘현실적으로 너가 서류를 합격하고 면접을 끝내는 과정까지 너가 낸 포폴에서 코드 단위로 확인하는 사람은 없다고 보면됨’
      • ‘인사팀은 채용 기준에 따라 자소서와 포폴이 주는 연관성, 신뢰성 등을 판단해서 실무팀으로 넘겨주고, 실무팀은 이걸 다 확인할 시간이 없으니 면접때 찔러보는 식으로 포폴의 진위성과 너의 기술적 이해를 판단함’
      • ‘그렇기 때문에 포폴은 기본만 하고, 그 외에 너를 뽑아야하는 특별한 이유를 만드는게 중요하다고 봄’
  • 다인/팀플/인디
    • 기본적인 협업 개념은 있겠다 싶은
      • 협업하는 것도 배워보고, 잘하는 사람 코드 보면서 공부
      • 물론 없는 것보다 좋음. 인맥이 만들어지니까
      • 1인 개발 대비 - 다른 부서 이해도. 사회성.
    • 목적
      • 인디: 자아 - 아이디어 생기면 런하지 않을까
      • 포폴: 공부했구나
    • 협업
      • X: 보통 엉망진창, 책임감 부족, 결과물 완성도 하락
      • O: 책임감 있는 팀원들과 수준있는 협업
    • 기술
      • X: 보통 새로운 걸 배우기보단 기존 습관대로 작업 -> 성장 X
      • O: 새로운 걸 배우면서, 기술적인 요소 함유
    • 결과물
      • 출시 경험 + 다운로드 수 + 서비스 유지보수 중이면 좋음
  • 활동 보다는 결과물
    • 게임 개발 동아리 -> 좋지만 결과물, 라이브 서비스 경험

면접

개성

  • 게임 많이 하기
  • ‘뭐든 특출난 부분이 있으면 됨. 코딩 챌린지, 공모전, 게임잼, 게임쪽 인턴십, 게임회사 산학 연계 동아리(은근 있음), 인디 게임 출시 경험 등 남들에게 없는 특별한 경험이 있으면 좋게 보시는듯.’
  • ‘그냥 작업물 두 세개로 여기저기 찔러보는 애들(핏하지 않은)은 가차없이 컷했다고 함. 지원자중 그런 케이스가 워낙 많다고.. 나는 운이 좋아서 어쩌다보니 여기 플젝이랑 딱 맞는 포폴이 되어버렸다’
  • ‘수많은 지원자 중 포폴 겹치는 스멜도 컷이라고 했다. 그니까 다른 사람 포폴 보고 어? 이 기능 내지는 레이아웃 괜찮아보이네? 나도 이 부분은 써봐야지~ 라며 작은 부분 겹치는 것도 좋게는 안봤다 한다. 본인은 참고 차 인용만 해야지 라는 부분도 결국 다른 지원자도 좋게보고 쓴다라고 해서 겹칠 수 밖에 없다더라. 사람 눈 다 똑같다’
  • ‘마지막에 추가 점수를 딸 수 있는 부분은 사회 생활에 도움이 될만 한, 게임 외적으로 무얼 해봤냐다. 게임 했단 건 분별력이 없다. 여러 경험 얘기로 정신력, 체력 등 어필’

프로그래밍 심화


디렉

  • 시간 남으면
    • 쌩 밑바닥에서 만드는 포폴
    • 기본기

리마인드


  • 왜 와이:
    • 결국 평생 일 한다
      • 평생 할거면, 이왕이면 재밌고 만족스러워야
    • 일의 세 가지 만족 요소
      • 돈, 명예, 흥미
    • 나에게 있어서
        • 아직 돈의 가치를 잘 알지 못한다
        • 나중에 어련히 알게 되겠지, 우선 모으기
      • 흥미
        • 그래도 하고 싶은 일이여야
      • 명예
        • 나 스스로가 만족할 수 있는 환경과 경험
    • 어떤 일을 하는 것이 좋을까
      • 게임 프로그래머
        • 어떤 게임
        • 어떤 프로그래머
    • 목표와 가장 가까운 업무 환경
      • 장기적: 넥슨
        • 미소녀: 블루 아카이브, MMO RPG: 메이플스토리
      • 단기적: 1인 개발
        • WM
    • 어떻게 이룰 수 있는가
      • 장기적:
        • 공부
        • 활동
          • 틈틈히 확인
          • 넥슨 행사 같은거
      • 단기적:
        • 프로젝트:
          • 틈틈히 만들어봐야
      • WM
        • 나만의 세계관
          • 이건 공부, 프로젝트, 게임 - 덕질 전부 해당
  • 지금:
    • 나이가 무기다. ㄹㅇ.. 나이 하나라도 젊을 때 다 해버리자.
    • 센빠이는 이 나이에 뭘 하고 있었을까.
  • 최선:
    • 부담가지지 말고, 할 수 있는데 까지
    • 어차피 하려고 했던 거. 모티베이션돼서 오히려 좋아.
  • 최고:
    • 다 잘하는 사람 줄 세워도 to보다 많다.
    • 작은 회사도 N백명이 지원하는데, 그 N백명, N천명과 붙어서 뽑힐 수 있는 실력
    • 나 혼자 하는게 아니라, 나보다 더 많은 시간을 쏟는 수많은 지원자들이 있다.
  • 이미지:
    • Like 고딩 범생이 친구들. 밤늦게까지 야자 열심히. 가끔 놀고
    • 유혹 빠르게 처리하기
  • 기본기:
    • 신입: 키워서 씀 -> 기본이 탄탄해야
    • 경력: 기본기 없음? -> 신입만 못하다 (경력은 비싸니까!)
    • 기본기 있으면 뭐든 금방 배움 (기본기 > 사용 엔진)
  • 선택과 집중:
    • 중요한거부터 (공고 키워드나, 면접 단골 질문 같은 것들)
    • 효율적으로. 하지만 멀티 태스킹은 X
    • 빌드업은 짧게, 실행은 빠르게
  • 공부/프로젝트 방법:
    • 주제 정하고, 데드라인 정하고, 공부하고, 정리하기
    • 최소 기초: 최소 책 한 권은 뗀다는 마인드 -> 책 존나 읽자
      • 어려우면, 자료 적극적으로. 강의 봐도 좋고. (인프런, 유데미, …)
    • CS: 스테이지 깨 듯. 별 3개.
      • 1: 한 번 공부 할 떄 확실히.
      • 2: 이쁘게 정리. 남이 본다는 생각으로. (며칠 후의 나에게)
      • 3: 배운 개념 응용. 내 것으로 만들기.
        • 키워드를 경험, 능력으로
  • 그냥 보고 넘기지 말기
    • 한 번 접한 것은, 완전히 알지는 못하더라도, 큰 틀에서 설명할 수 있도록
    • 간단히라도 정리해서 글로 남기기
  • 멋대로 생각하지 말기
    • 이래도 되겠지 X
    • 두 번 세 번 의심하고, 확인 받고
    • 문제가 생기면 빠르게 보고하고, 해결 방법을 찾기

메모


  • 코테 -> 과제로 바뀌는 추세? 암튼 둘 다 잘 해야.
  • 공백기
    • 정말 아무것도 안한 기간.
    • 뭐라도 했고 설명되는 기간이면 됨 (프로젝트 설명, 개월 수)
  • 프로그래머 2차 전직
    • 종류
      • 서버 전문가
      • 엔진 전문가/TA
    • 일단 클라이언트 개발자로 취업한 후
    • 처음부터 준비할 수는 없음
      • 바로 전문가로 취업하기는 어려움
    • 경험과 지식이 기반이 되어야 함
  • 이직
    • 일 하고 있는 상태에서 이직을 하는 게 좀 더 유리 (특히 구직난에는)
    • 중고 신입
      • 약 3년차 이상 부터는 중고 신입 잘 안된다? (연차 - 그 연차에 기대하는 업무 역량과 퍼포먼스)
      • 보통 3년차로 중고 신입가려고 하면 물경력인 것 맞아서, 안 급하면 2년 이상 경력직 찔러보고 급하면 신입
      • 실무 경험 있는데 인턴은 진짜 아님
      • VR, 카포류 -> N년차가 와도 중고신입이랑 차이 X
  • 면접
    • 지원자는 넓은 범위 공부해서 가야되는 입장이고
    • 면접관은 자신들이 고른 것들 깊게 준비해서 오니까 대체로 자주 털리게 되더라

_

링크

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.