프론트엔드 개발자의 게임 플랫폼 서버 개발 체험기
나는 게임 회사의 웹 프론트엔드 엔지니어로 일하며, 어드민 툴과 UI 라이브러리 개발에 참여했다. 그러나 게임에 미치는 영향력을 느끼지 못해, 플랫폼 서버 개발팀에 체험 프로그램을 통해 새로움에 도전하고자 했다.
나는 서버 개발팀의 코드 스타일과 작업 방식을 익히기 위해 주요 코드 베이스를 분석하며 동료들에게 질문하고 새로운 기술과 개념을 학습했다. 서버 개발팀에 참여한 이유는 클라이언트와의 반대 측면에서 데이터 설계를 이해하고자 했기 때문이다.
게임 플랫폼 개발자는 어떤 일을 할까?
대부분 사람들은 ‘게임 개발’ 시 게임 클라이언트 또는 서버 개발을 떠올리지만, 플랫폼 개발은 웹 개발과 유사하다. 인게임 개발은 캐릭터와 배경을 다루며, 성능이 중요하지만, 플랫폼 개발은 브라우저 기반으로 렌더링과 비동기 API 처리를 강조한다.
게임 플랫폼은 게임 외부에서 유저가 게임을 관리할 수 있도록 지원하며, 소셜 기능, 상점, 결제 기능 등을 제공하여 유저 경험을 극대화한다.

게임 플랫폼 개발을 처음 접했을 때, 유저 아이템 구매 과정이 이커머스 서비스와 비슷하다는 인상을 받았다.
서버팀에서 경험한 것들
게임에 대한 깊은 이해를 위해 서버 개발을 경험했다. 반년 동안 서버팀에서 일하며 다양한 경험을 했다.
아이템 처리 로직 설계
유저 아이템 거래 로직을 분석하며 데이터 일관성을 유지하는 방안을 고민했다. 인벤토리 데이터베이스 구조를 재설계하며 각 역할에 클래스들을 분리하여 설계하는 과정에서 흥미를 느꼈다.


트랜잭션 설계
데이터 일관성을 유지하는 트랜잭션 설계를 배우며, 게임과 은행 시스템에서의 데이터 처리의 차이를 이해했다.

큐 서비스 활용
AWS SQS를 사용해 메시지 처리를 경험하며 서버 장애 시의 긴장감을 느꼈고, 데드레터를 해결하여 보람을 느꼈다.

게임 로그 분석
게임 로그 데이터를 활용해 문제를 해결하고, 로그 데이터를 최적화해야 할 필요성을 깨달았다.

데이터 보안
DB 데이터를 암호화하는 방법을 배우며 성능과 보안의 균형을 유지하는 설계의 중요성을 느꼈다.

어려웠던 점들
낯선 환경에 적응하기
다른 직군의 체험은 용기가 필요했고, C#과 .NET 환경에 적응하는 것이 힘들었다. 위키에 새로운 내용을 정리하며 팀에 도움을 주려 노력했다.

주요 업무에서의 어려움
AWS SQS를 통한 데드레터 처리와 DB 암호화 작업에서 외부 API 통신의 문제로 어려움을 겪었다. 또한, 암호화 설계를 하며 기존 서비스에 대한 이해를 높일 수 있었다.
마치며: 풀스택 개발자가 되려는 건 아니지만
이번 체험을 통해 시스템의 뒷단을 이해하고 데이터 설계의 중요성을 배우며 개발자로서 성장할 수 있었다. 서버 개발은 프론트 개발과는 다른 접근 방식을 요구하며, 이러한 경험은 나에게 큰 자산이 될 것이다. 앞으로도 이러한 경험을 바탕으로 나만의 개발 철학을 정립하고 나아가 발전할 것이다.
해당 기사는 GPT를 이용하여 요약한 내용입니다.