직무 설명
시니어 게임 개발자로서 Unity를 사용하여 고품질 온라인 게임 개발을 주도하며, 게임 디자이너, 인프라 팀 및 크로스펑셔널 이해관계자와 긴밀히 협력하여 혁신적이고 확장 가능한 게임 경험을 제공하게 됩니다. 이 역할은 컨셉 디자인, 프로토타이핑, 테스트 및 배포를 포함한 게임 개발 라이프사이클 관리에 대한 깊은 기술적 전문성을 요구합니다. 핵심 기술 스택과 비즈니스 목표에 부합하도록 게임 시스템을 설계 및 최적화하기 위해 시니어 엔지니어들과 협력하게 됩니다.
주요 책임
- 멀티플레이어 환경을 위한 성능 최적화와 확장성에 중점을 두고 게임 기술 아키텍처와 원활하게 통합되는 복잡한 게임 메커니즘 및 시스템을 설계 및 구현합니다.
- 클라우드 기반 배포, 레이턴시 관리 및 서버 측 확장성을 위해 게임의 기술적 기반이 최적화되도록 인프라 엔지니어와 협력합니다.
- 코드 리뷰를 주도하고 주니어 개발자를 멘토링하여 높은 코딩 표준을 유지하고 코드 품질을 개선하며 기술 부채가 효과적으로 관리되도록 합니다.
- 팀 협업과 향후 개발을 지원하기 위해 게임 시스템, 인프라 구성 요소 및 API 통합에 대한 기술 문서를 작성 및 유지합니다.
- 애자일 개발 프로세스(스프린트 계획, 백로그 우선순위 지정, 데일리 스탠드업 등)에 참여하여 게임 기능과 인프라 개선 사항이 적시에 제공되도록 합니다.
- 게임 시스템의 성능 분석 및 디버깅을 수행하여 사용자 경험과 시스템 안정성을 향상시키기 위한 병목 현상을 식별 및 해결합니다.
- 게임 개발 분야의 산업 동향과 신기술을 지속적으로 파악하여 프로젝트에 혁신적인 솔루션을 제안 및 구현합니다.
자격 요건
- Unity를 사용하여 성공적인 온라인 게임(특히 멀티플레이어 또는 실시간 기능 포함)을 개발한 경험이 풍부한 시니어 게임 개발자로서의 검증된 실적.
- 네트워킹 프로토콜, 데이터 동기화 및 클라우드 인프라 통합을 포함한 게임 기술 아키텍처에 대한 고급 지식.
- 기능적 및 기술적 요구 사항을 모두 충족하는 확장 가능한 시스템을 설계 및 구현할 수 있는 탁월한 문제 해결 능력.
- 빠르게 변화하는 환경에서 게임 디자이너, 인프라 팀 및 제품 관리자와 효과적으로 협업할 수 있는 강력한 협업 및 커뮤니케이션 스킬.
- C# 및 Unity 엔진에 능숙하며 다양한 플랫폼과 디바이스 성능에 맞춰 게임 성능을 최적화한 경험.
- 버전 관리 시스템(예: Git) 및 애자일 개발 방법론을 사용하여 코드베이스를 관리하고 분산 팀과 조율한 경험.
- 반복적 개발을 통해 안정성, 성능 및 사용자 경험을 개선하는 데 중점을 둔 복잡한 게임 시스템 분석 및 디버깅 능력.
- 코드 품질을 유지하면서 다중 작업을 관리하고 개발 우선순위를 정하며 프로젝트 마감을 준수할 수 있는 우수한 조직 능력.
- 객체 지향 설계, API 개발 및 시스템 통합을 포함한 소프트웨어 엔지니어링 원칙에 대한 강력한 이해.
- 우대 사항: 게임 분석 도구, 클라우드 서비스(예: AWS, Azure) 및 크로스 플랫폼 개발 경험을 통해 게임 확장성과 성능을 향상시킨 경험.