한 해 동안 다룬 것들을 세어 봤다. 다섯 종류였고 쓴 언어도 넷이었다.
Table of contents
Open Table of contents
한 해에 다룬 것들
게임 서버와 클라우드 환경과 소켓 서버와 기록 시스템과 통신 장비였다. 각각 몇 달씩 붙어 있었다.
쓴 것도 그만큼 갈렸다. PHP로 웹을 붙이다가 AWS의 EC2와 RDS를 처음 만졌고, C++로 IOCP 소켓 서버를 옮겼다가, Java 쪽 기록 시스템을 거쳐, C로 장비의 바이트와 CRC를 들여다봤다.
한 가지를 오래 하는 사람과 비교하면 얕게 여러 개를 한 셈이다. 깊이가 안 쌓인다는 걱정이 계속 있었다.
그 걱정 자체는 맞았다. 어느 것도 그 분야에서 깊다고 할 수준까지 가지 않았다.
몇 달이면 그 시스템에서 일할 수는 있지만 그 분야를 안다고 하기는 어렵다. 오래 한 사람이 아는 것을 나는 모른다. 이것을 다르게 포장할 이유는 없다.
대신 공통된 문제가 보인다
대신 얻은 것도 있었다. SVN을 받아 읽기 시작해 자리를 잡기까지의 과정이 몇 번 반복되니 그 자체가 익숙해졌다.
무엇부터 보고 무엇을 물어야 하는지가 정해졌다. 그리고 도메인이 달라도 반복되는 문제가 보이기 시작했다. 자료가 두 곳에 있으면 어긋난다거나 되돌릴 준비 없이 손대면 위험하다는 것은 MySQL이든 장비 안의 플래시든 같았다.
어느 쪽이 나은가
어느 쪽이 나은지는 자리에 따라 다르다는 것이 지금 생각이다. 한 분야를 깊게 파야 하는 자리가 있고 여러 곳을 오가며 붙여야 하는 자리가 있다.
한 방식에만 익숙해지지 않은 것은 나중에 도움이 될 것 같다. 처음 보는 구조를 만나도 거부감이 덜하다. 다만 이것은 지금 시점의 판단이라 몇 년 뒤에 다르게 볼 수도 있다.
끝까지 보는 것을 하나는 만든다
가장 아쉬운 것은 결과를 못 본다는 점이었다. 만들어 놓고 넘기면 그것이 실제로 어떻게 쓰이는지를 모른다.
무엇이 잘못됐는지를 알아야 다음에 다르게 하는데 그 되먹임이 없다. 그래서 다음 해에는 짧게 여러 개를 하더라도 끝까지 보는 것을 하나는 만들기로 했다. 그리고 각 도메인에서 알게 된 것을 README 한 장씩 적어 둔 것이 나중에 다른 곳에서 꺼내 쓰였다.
정리
- 여러 도메인을 짧게 거치면 깊이가 안 쌓인다
- 몇 달이면 일할 수는 있지만 안다고 하기는 어렵다
- 대신 새 환경에서 시작하는 과정이 익숙해진다
- 도메인이 달라도 반복되는 문제가 보인다 —
MySQL이든 장비 안이든 같은 것이 걸린다 - 한 방식에 갇히지 않게 된다
- 어느 쪽이 나은지는 자리에 따라 다르다
- 결과를 못 보면 되먹임이 없어 학습이 덜 된다
- 끝까지 보는 것을 하나는 만든다