
(전국 잼민이 공통 프로그래밍 소프트웨어)
그 나이의 아이들이 많이들 그랬듯이 나는 마인크래프트를 정말 좋아했다.
초등학교 저학년때부터 폰으로 해왔던것 같고, 무언가 만드는걸 굉장히 좋아했다.
영어를 잘 모를때에는 레드스톤 회로를 했었고, 영어를 배우고 나서는 커맨드를 시작했다.
사실 마인크래프트 커맨드가 아이들이 가장 처음접하는 코딩이지 않을까
오랬동안 그렇게 마인크래프트로 코딩을 배웠다.
인생 절반을 넘도록 마인크래프트를 하면서, 본격적으로 프로그래밍도 배웠고, 자연스럽게 다음 단계인 플러그인 개발에도 손대게 되었다.
그런데 남들이 하던 paper/bukkit류의 서버 플러그인은 아니였다. 나는 Bedrock Edition 유저라서, 다른 서버 구동기가 필요했다. 여러곳에서 자료를 찾던중에 운명의 서버구동기를 만났다.
BDSX는 Bedrock Edition의 공식이자 기본 구동기인 BDS를 변형시켜서 플러그인 기능을 제공하는 구동기이다. 이었다
나는 이것을 처음 접하자 마자, 당장 무언가 만들고 싶다는 생각에 사로잡혀서 바로 설치했다.
그렇게 플러그인 개발이라는 새로운 분야에 발을 들였지만 마이너한 프레임워크라 자료도 없고, 당시엔 GPT도 없었다. 당시의 서툴렀던 개발 실력으로는 도저히 아무것도 개발할 수 없었다.
다행히도 공식 디스코드 서버가 있었고, 너무나 다행히도 프로젝트 오너와 메인테이너들중 한명이 한국인이었다. 또 한국인 마크 잼민이들이 많아서 한국채널은 그 디스코드에서 가장(?) 활성화가 잘 된곳이었다.
그렇게 무작정 질문을 하려는데, 질문 가이드가 있었다.
1. Please don't request code directly.
돈을 줄것이 아니라면 코드를 직접 요청하지 말고, 지식을 요청할것.
2. Please don't question without googling.
구글링은 해보고 질문할것.
3. Please don't question errors without enough information.
오류에 대해 질문할땐 재현가능한 정보를 포함할것.
4. Don't ask to ask.
질문하기 위해 질문하지 말것.
내용은 이러하다. 당연히 모두 기본적으로 지켜야 하는 내용이다.
그중에서 Don't ask to ask에 대해서 알아보자.
처음 이 규칙을 보면, 어떤 상황을 말하는건지 짐작하기 어려울 수도 있다.
그래서 예를 들어보자면,
혹시 이거 도와줄 사람 있나요?
이부분에 대해 잘 아는 사람 있나요?
이러한 질문이 질문하기 위해 질문하지 말것을 어긴 대표적인 사례이다.
이질문들은 자기 자신의 문제를 제대로 설명하지도 않고, 모든 설명을 생략하면서 그저 대신 문제를 해결해줄 사람을 찾게된다.
따라서 지양해야하는 질문 방식중 하나이다.
이러한 규칙들은 기본중의 기본이지만 일부는 악성 잼민이 때문에 생긴 규칙일 것이다 이것들을 잘 지키려고 노력하면 분명히 성장에 도움이 된다. 특히 GPT가 없던 그 당시에 구글링을 해보면서 먼저 자료를 찾고 디버깅해보는건, 지금은 정말 귀한 경험이 되었다.
또 오픈소스 문화를 직접 경험할 수 있어서 정말 좋았다.
모르는 사람 수십명이 만들어둔 프로젝트에 내 코드를 올린다는것은 정말 어려운일이다. 코드를 적기 전부터 프로젝트의 코드를 읽고 이해해야 하고, 그들의 코드 스타일이나 문화들도 한번씩 알아봐야한다.
다른사람의 코드를 읽는다는것은 남으로부터 배움과 동시에 피드백도 줄 수 있는 일석이조의 활동이다. 당시에 당장 무언가 만들어서 플레이하고 싶었던 나는, 만드는 방법을 배우기 위해 다른사람들의 코드를 읽어야하는 자연스러운 상황에 처했다. 다른사람들의 코드를 읽으면서 작동원리를 이해하는것은 정말 좋은 경험이었다.
처음 프로젝트를 접했을 때에는 어떻게 만들었는지, 구성되었는지 감도 안잡혔다. 이러한걸 만들어낸 사람들이 경의로웠을 뿐이었다.
지금 보면 정말 하찮고 작은것들 때문에 개발이 막혀서 엄청 자주 질문 할 수 밖에 없었던 기억도 있다. 그래도 계속 배우고 개발해보면서 프로젝트에 익숙해지고, 애정이 생겼다.
기여자가 소수이기도 하고, 매번 마인크래프트가 업데이트 될때마다, 이쪽에서도 구현 가능한 기능들이 늘어나서 기여할만한 기능들은 상당히 많았다.
또 개발할때 다른사람들의 도움도 많이 받았지만, 처음에는 멀뚱히 바라보기밖에 하지 못하던 프로젝트에 내가 쓴 코드가 들어간다는것은 개발 꿈나무에게 정말 큰 자신감이 되었다.
그래서 얻은 교훈들은
이런것들이 있다. 개발을 시작한지 얼마 되지않고 이런 경험과 교훈을 얻을 수 있었던 것은 정말 큰 행운인것 같다.