💻

소프트웨어 엔지니어

플라네타리움은 플레이어와 게임 모더들의 창발적 기여가 온라인 게임에 새로운 생명을 불어넣는 탈중앙 게임 생태계를 개척하고 있습니다.
Libplanet은 게임 클라이언트들이 분산 시스템의 노드처럼 동작하여 중앙 서버를 대체할 수 있게끔 하는 오픈소스 라이브러리입니다. 플라네타리움의 소프트웨어 엔지니어들은 이를 구현, 개선함과 동시에, 게임 개발자가 각 게임의 특성에 맞는 네트워크를 쉽게 구축할 수 있도록 시스템을 추상화합니다.

업무 내용

중앙 서버 없이 플레이어간 네트워크에서 온라인 게임이 동작하도록 Libplanet 블록체인 코어 엔진을 개발합니다.
모바일과 데스크탑 게이밍에 적합한 분산처리구조를 설계하고 쉽게 배포할 수 있도록 합니다.
각 장르의 게임에 적합한 노드간 합의 시스템을 개발합니다.
여러 장르의 게임에 특화된 트랜잭션 구조를 개발하고 고도화합니다.
게임 제작 도구(Unity)에서 사용할 수 있는 SDK를 만들어 게임 제작자들이 보다 쉽게 블록체인 게임을 개발할 수 있도록 돕습니다.
Libplanet을 사용한 게임이 성공적으로 유통될 수 있게끔 필요한 도구들을 개발합니다.
Libplanet 사용자들과 소통하며 그들이 탈중앙화를 통해 새로운 재미를 창조할 수 있도록 협력합니다.
전세계 오픈소스 커뮤니티와 소통하며 창의적인 개발자들의 기여를 장려합니다.

근무 형태 및 자격 요건

근무 형태

정규직
유연 근무제

우대 사항

출시된 게임의 서버를 개발한 경험
출시된 게임의 서버를 운영하며 라이브의 요구사항을 체험해본 경험
오픈 소스 프로젝트 메인테이너, 혹은 기여 경험
개발자가 사용하는 라이브러리 제작 경험
분산 시스템을 설계하고 개발해본 경험
네트워크 프로그래밍 경험
암호학 프리미티브에 대한 이해
블록체인 프로젝트 경험
Unity를 통한 게임 개발 경험

사용하는 기술과 도구들

주요 기술

저희가 주로 사용하는 기술들은 아래와 같습니다.
C# (.NET Standard 2.0+)
이러한 기술들을 채택하게 된 근거는 아래와 같습니다.
2020년 현재 게임 개발에서 가장 활발히 사용하고 있는 도구는 Unity라고 판단하였고 내부적으로 개발하는 게임 역시 Unity (C#) 기반으로 개발하고 있습니다.
복잡한 게임 로직을 블록체인 상에 담아내고 코드 재사용성을 높이기 위해 네이티브 익스텐션(Native Extension)을 제안합니다. 이를 효과적으로 구현하기 위해, 저희는 엔진 기술에도 C# / .NET 을 주로 사용하고 있습니다.

그외 도구들

그 외에 사용하고 있는 기술/도구들은 아래와 같습니다.
소스 코드의 형상 관리를 위해서는 Git을 사용합니다.
저장소는 GitHub를 사용합니다.
빌드/배포 자동화를 위해 Azure Pipelines, GitHub Actions를 사용합니다.
사내 테스트와 테스트넷 운영을 위하여 Amazon Web ServicesAmazon EKS를 사용합니다.
블록 익스플로러의 프론트엔드 개발을 위해 TypeScript를 사용합니다.
게임 론처를 개발하기 위해 Electron을 사용합니다.

지원 방법 및 절차

지원 방법

자유 형식의 이력서(GitHub 저장소, 경력기술서 등)를 recruit@planetariumhq.com 으로 보내주세요.
이력서에 사진을 첨부하지 말아주세요.
메일을 보내실 때, 제목 앞에 [소프트웨어 엔지니어]를 붙여주세요.

채용 절차

아래 과정은 개별로 최대 4주 이내에 진행될 예정입니다.
1.
서류 전형 보내주신 이력서를 상세히 검토하여 이후 단계 진행 여부를 결정합니다.
2.
과제 테스트
미니 프로젝트 형태의 과제를 통해 업무에 필요한 역량을 확인합니다.
3.
심층 면접 실무진과 심층 면접을 진행합니다. 업무 역량 및 지식을 충분히 보유했는지, 협업 능력을 갖추었는지 등을 이 과정에서 평가합니다.
4.
경영진 면접 근무조건 및 출근일 등을 최종 협의합니다.
Made with 💕 and Oopy