오늘 학습 키워드

챌린저 반 강의

오늘 학습 한 내용을 나만의 언어로 정리하기

챌린저 반 강의 (주제 : 자소서와 포트폴리오)

자기소개서

생각하기

  • 나는 누구인가? 에 대한 답을 찾는 과정.
  • 기술 역량, 문제 해결 능력, 협업 경험을 구체적으로 떠올려야 함.
  • 핵심 목표 정의
    • 나는 왜 유니티 개발자가 되려고 하는가?
      • 게임을 만들며 배운 점에 집중.
    • 내가 가진 큰 강점은 무엇인가?
      • 유니티 최적화 경험
      • 팀 프로젝트에서 협업 리딩 경험
      • 에디터 툴 제작 능력
    • 내가 해결했던 문제 중 가장 인상 깊은 사례는?
      • FPS 하락 문제를 어드레서블로 해결
      • 넷코드로 멀티플레이 지연 문제 개선
      • 스크립터블 오브젝트 기반 데이터 관리 툴 제작
  • 사고의 방향 : 경험 > 문제 > 행동 > 결과 > 배운점
    • 회사와 연결될 수 있는 핵심 메시지 2~3개 도출 (예 : 최적화, 툴 제작, 협업)

준비하기

  • 프로젝트 인벤토리 작성

    • 내가 했던 프로젝트를 리스트업하고 각각에 대해 정리
      • 프로젝트명, 기간, 팀 규모
      • 내 역할
      • 사용 기술
      • 해결한 문제
      • 결과
  • STAR 방식 정리

    • Situation (상황)
    • Task (과제)
    • Action (행동)
    • Result (결과)
  • STAR 방식 예시

    • S : 모바일 RPG 프로젝트에서 씬 로딩 시간이 평균 12초 걸렸음.
    • T : 유저 이탈 방지를 위해 로딩 시간을 절반 이하로 줄여야 했음.
    • A : Addressable 카탈로그 분리 및 비동기 로딩을 적용. 필요 리소스를 미리 프리로드
    • R : 로딩 평균 시간이 5초로 감소. QA 테스트에서 플레이타임이 15% 증가

작성하기

  1. 성장 과정/정체성
    • 단순 “어릴 적부터 게임 좋아했다” X
  2. 역량과 경험
    • 대표 프로젝트 2~3개 중에서 가장 중요한 문제 해결 사례를 설명
    • 문제 > 행동 > 결과의 구조로 서술
    • 꼭 수치를 쓰셈
  3. 지원 동기
    • 귀사가 추구하는 “게임 철학/플랫폼/기술” 이 제 경험과 잘 맞는다.
    • “귀사는 모바일 플랫폼에서 다양한 실험적 장르를 Unity로 구현하며 글로벌 시장을 공략하고 있습니다. 저는 Unity Addressables과 Profiler를 통해 모바일 환경 최적화 경험을 쌓았고, 이 경험을 바탕으로 귀사의 모바일 신작에서 즉시 기여할 수 있다고 생각합니다.”
  4. 입사 후 포부
    • 단기 : 구체적이고 측정 가능한 목표
    • 장기 : 회사의 비전과 함께 성장할 수 있는 방향성 제시
    • “입사 초기에는 Unity UI/툴 최적화 담당으로 프로젝트 안정성과 유저 경험 개선에 기여하고 싶습니다. 중장기적으로는 ScriptableObject와 커스텀 에디터 기반의 파이프라인을 고도화해, 팀 전체의 효율성을 높이는 툴 개발자로 성장하겠습니다.”

참고하기

  • 유니티 문제 해결 중심으로 기술
  • 협업 경험과 개인 기여도를 균형 있게 작성
  • 회사 방향성과 나의 경험을 연결

포트폴리오

기본 마인드

  • 기술자에게 기술자로서 설명한다는 태도
    • 포폴은 선임 개발자가 볼 가능성이 높음
    • 내가 어떤 고민을 했는지, 어떻게 풀었는지 기록
  • ‘나’를 드러내는 것
    • 단순히 무엇을 했다 X
    • 왜 그 기술을 선택했는지, 무엇을 배웠는지, 어떤 문제를 해결했는지 꼭 포함

작성 시 주의사항

  • 시각적 친절함
    • 목차 구성
    • 프로젝트 단위로 구분
    • 중요 문장은 볼드처리
  • 과잉 정보 지양
  • 자랑할 건 확실하게 자랑

구성 항목

  • 요약 정보
    • 이름 / 연락처
    • 기술 스택
    • 사용 툴
  • 프로젝트 별 정리
    • 프로젝트 명/ 개발 기간 / 팀원 수 / 내 역할
    • 개발 환경
    • 게임/앱 소개
    • 영상, 이미지 첨부
  • 내가 구현한 기술
    • 기술 제목
      • 예 : 싱글턴 패턴 기반 매니저 구조 (내부 명칭 : 하향식 구조)
    • 설명 흐름
      • 기술 개요
      • 선택한 이유
      • 고민과 해결 과정
      • 개선 사항 / 향후 계획
    • 코드 스샷은 구조 설명에 도움이 될 때에만 첨부

영상 및 자료 관리

  • 잘 작동할 때 영상/스크린샷 필수 확보
  • 정리 방식
    • PPT, PDF 형태로 아카이브
    • 노션도 가능하나 제출용은 별도 제작
  • 개인정보 노출 주의 (이름, 학번, 계정 정보 제거)

제출 방식

  • PDF, PPT 권장
  • 노션 제출 시 접근 권한, 가독성 확보, 불필요한 콘텐츠 자제

기술 선택 시 설명 흐름

  • 면접에서 가장 많이 듣는 질문 : 왜 그 기술을 선택했는지?
    • 어떤 문제가 있었는지
    • 왜 이 기술을 선택헀는지
    • 다른 대안은 무엇이었는지
    • 실제 적용하면서 겪은 어려움과 개선점은 무엇인지

면접 준비 팁

  • 질문 키워드 중심 답변
    • “싱글턴 왜 쓰셨어요?”
    • 키워드 : 정적 변수, 접근 용이, 메모리 효율
    • 1~2문장으로 충분
  • 짧고 핵심적으로 말하기.

챌린저 반 강의 (주제 : 게임 업계 취업과 면접)

채용 프로세스

  • 과거 : 서류 제출 > 기술 면접 > 인성 면접 > 최종 합격

  • 현재 : 서류 제출 > 코딩 테스트 > 기술 면접 > 임원 면접 > 최종 합격

  • 프로그래머스 / 백준 위주로 공부

취업을 위해 준비할 것

  1. 지원할 회사에 대한 정보 수집
  2. 자기소개서
  3. 포트폴리오
  4. 코딩 테스트 준비
  5. 면접 준비

자기소개서

  • 대 주제가 주어졌으면, 한 문장 정도로 소 주제를 써라

포트폴리오

  • 내 게임이 뭔지 적어라.

기술 면접 - 자주 나오는 문항들

  • Class와 Struct의 차이

    • Class는 상속 가능, Struct는 불가
    • Class는 참조 타입, Struct는 값 타입
    • 저장 메모리 영역이 다름.
  • Stack과 Heap의 차이

    • Stack : 지역변수, 매개변수, Struct
    • Heap : new 해서 만드는 것들, GC가 관리해줌
  • MVC 모델이란

    • M : Model - 데이터 자체
    • V : View - 사용자에게 보여주는 부분, UI
    • C : Controller - Model과 View 사이에서 작동하는 비즈니스 로직
  • 가비지 컬렉션이란

    • C#에서 제공하는 메모리 관리 시스템
    • Heap 영역에 있는 데이터를 중간중간 해제해줌
    • 문제가 있다면 언제 실행될지 확실하게는 모름
    • 근데 실행되면 많은 자원을 GC가 먹기 때문에 갑자기 렉이 걸리거나 할 수 있음
    • GC 호출을 줄이는 방법으로는 heap 영역에서 새로운 메모리 사용을 줄이는 것
  • 최적화를 해본 적이 있는지

  • Git을 사용해 본 적이 있는지, 어떤 점이 어려웠고 어떤 툴을 사용했는지

    • 사용 해 봄
    • 아무래도 Merge Conflict를 해결하는 점에서 복잡했음. 특히 씬 파일의 경우 잘못 수정하면 아예 깨져서.
    • 그냥 CLI 환경에서도 써봤고, 깃허브 데스크톱도 써봤다가. 현재는 깃 포크에 정착.
  • 유니티 생명주기란?

    • 개발자가 호출하지 않아도 알아서 유니티에서 호출해주는 함수들.
    • MonoBehaviour를 상속받는 클래스에 한해서 동작함.
    • Reset > Awake > OnEnable > Start > FixedUpdate > OnTrigger 종류 > OnCollision 종류 > Update > LateUpdate > OnDisable > OnDestroy > OnApplicationQuit
    • Fixed Update는 프레임에 상관없이 고정된 주기로 작동함.
    • Update는 한 프레임마다 작동함.
    • 따라서 Fixed Update와 Update에서 사용되는 Time.deltaTime이 다름.
  • 모를땐 모른다고 답해라!!!!!!

  • 질문하기 : 일하게 되는 팀 구성원, 입사하게 되면 실제로 하게 되는 일 물어보기