2009 하반기 - 2018 상반기 일/공부 회고
2018-06-222009년에 중앙전산소를 들어가면서 본격적으로 회사원으로서의 프로그래머가 되었다.
그 이후 나름 다종다양한 일을 하면서 배운 것과 느낀 점을 키워드 중심으로 기록해 두고자 한다.
중앙전산소 - 2009.9-2011.10
- 스프링 - 토비의 스프링을 정독했다. aop가 뭔지 DI가 뭔지 모르는 상태라도 하루 두 시간씩 하니까 한 달만에 되더라.
- 혼자 헤딩 - 여기저기 헤딩하면서 혼자 작업했다. 뭐 가르쳐줄 사람도 없었고, 나이도 많고 해서 어쩔 수 없이 야근을 달고 살았다.
- 책의 중요성 - 본격적으로 공부를 하려니 역시 책으로 보는 게 제일이었다.
- 야근 - 야근이 시작되었다. 군대 특유의 까라면 까 문화와 열심히 하면 어느 정도 인정해주는 것 때문에 상당히 많이 한 듯 하다. 돌이켜 보면 좀 덜 했어야 했다.
- 일의 재미 - 쓰지도 않을 물건을 왜 만드는지도 모르고 만드니 제대로 결과물이 나오지도 않았다. 일의 재미를 중요하게 생각하게 되었다.
- 후회 - 야근을 좀 덜 하고, 생각을 많이 하고 일을 했으면 좀 나았을지도.
그루폰 - 2011.10-2012.3
- 스프링 - 열심히 공부해봤다. 주로 하는 일이 스프링이었으니까.
- 배치 - 배치 작업을 어떻게 쓰고 언제 하는지 좀 생각하게 되었다. 작업 자체는 군대에서도 꽤 했었지만, 배치 작업(+결과 캐시)으로 일이 빨라진다는 걸 체감했다.
- 중전소의 연장 - 야근을 꽤 한 듯 하다. 일에 익숙하지도 않고, 첫 회사라 삽질을 많이 한 듯.
- ibatis - 많이 썼지만, 가능하면 다음부터는 안 써야지 하고 생각했다. xml 고약해.
- 문화 - 회사 문화는 상당히 맘에 들었다. jira를 이용한 이슈 관리나, wiki를 통한 문서 관리 등, 이후에도 좋은 회사 문화를 만들려고 할 때 생각나는 일들이었다.
- 일의 재미 - 하지만 여전히 일이 재미가 없었다.
- HG - 머큐리얼을 써 봤다. SVN에서 GIT으로 넘어가는 데 도움이 되었다.
- 후회 - 야근을 좀 덜 하고, 생각을 많이 하고 일을 했으면 좀 나았을지도… 이게 계속 복붙이 될 거 같다.
키다리 스튜디오 - 2012.3-2013.4
- JS - 보통 jquery지만, angular도 해보고, 이래저래 삽질하면서 손을 많이 대 봤다. 후반에는 거의 안 썼지만… 여튼 JS가 골치아프다는 선입견을 가지게 되었다.
- JPA - 처음 하이버네이트란 걸 접하게 되었다. 신세계가 다가왔다. DDD니 하는 것들도 좀 해 봤다.
- CI - jenkins라는 걸 처음 접했다. mac에서 돌아가고 있어서 mac도 처음 써 봤다. 이후에 계속 필요로 하게 되지만, 그 때는 컴파일만 자동으로 돌려보는 정도, 빌드가 깨지는지 아닌지만 체크했다. 지금에야 이해가 안 되지만, 그 때는 빌드가 깨지는데도 내가 커밋을 올리고 있었으니까…
- SVN - 본격적으로 SVN을 썼다. 영 맘에 안 들었어서 나중에 git으로 갈아타자고 해서 갈아탔다.
- AWS - 아마존을 처음으로 쓰고, 배포를 어떻게 해야 할지를 고민하기 시작했다.
- 기록 - 기록을 시작했다. 처음은 밥 먹은 칼로리였는데, 효과가 있어 보여서 다른 것들도 조금씩 적었다. 생각해보니 초기에는 업무 일지 같은 걸 쓰라고 해서 그걸 쓰다 보니 생각을 하게 된 거 같기도 하다.
- 프로젝트 - 첫 날 프로젝트 설명을 듣는데, 그게 사실 마음에 안 들었다. 전체의 방향성을 어떻게 할지가 중요하다고 생각했다. 많은 사람이 꽤 힘들게 일을 했는데, 결과물은 별로 좋지 않았다.
- 후회 - 야근을 좀 덜 하고, 생각을 많이 하고 일을 했으면 좀 나았을지도… 이게 계속 복붙이 될 거 같다.
- IntelliJ - 인텔리J를 처음 써 봤다. 툴의 중요성을 확실히 느꼈다.
- Facebook - 플랫폼으로서는 처음 써 봤다. 이후에 네이버도 써 봤지만, 게임 플랫폼의 완성도(문서)가 달랐다.
S2게임즈/큐브게임스 - 2013.4-2014.9
- 후회 - 처음부터 안 하는 게 좋지 않았을까 싶긴 하다. 헛된 욕심에 눈이 멀어 뛰어들었는데, 잘 모르는 일 투성이라 책임감 없는 사람들에게 너무 휘둘렸다. 그리고 생각이 너무 다른 사람들이랑은 처음부터 일을 안 하는 게 나았다.
- C# - 실시간을 하는데 C++은 좀 부담되고 해서 c#을 시작해 봤다. 상당히 좋은 언어라는 생각이 들었다. DLL로 뽑고 iphone(unity3d)에서 돌려보고 하면서 언어의 스펙도 신경써야 하는 걸 알았다. (당시는 unity3d에서 c#을 온전하게 지원하지 않았다.)
- 동시성 - 실시간 프로그래밍을 하면서 lock과 lock-free 등등을 공부했다. 사실 지금은 또 가물가물 하기는 하다. 그때도 가물가물하면서 만들어서 버그가 많았나 싶기도 하다.
- 패턴 - 옵저버 패턴이 게임 만들면서 꽤 필요하구나 하는 걸 깨달았다. 관심사가 다르니까.
- 설계 - 초장에 설계가 잘못되면 뒤에 아무리 난리쳐도 문제가 생기는구나 하는 걸 몸으로 알게 되었다.
- 윈도 서버 - 윈도에서 게임을 돌릴 때는 서비스로 등록하는 게 편했다. 생각해보니 리눅스도 그런데 이 이후에도 한참을 서비스로 등록할 생각을 하지 못했다. 처음 써보는 윈도 서버였지만, 뭐 이래저래 쓸 만은 했다. 그래도 다시 안 써야지 싶더라. 쉘이 좀 불편해서…
- TCP/IP - 살짝 맛을 본 거 같다. 라이브러리 하나 짜 보긴 했는데, 결국 잘 만들어진 라이브러리 써야지 하는 생각이 들었다.
- Protocol - 프로토콜 버퍼는 구경만 해 보고, 실제로는 직접 짰다.
- Python - 프로토콜을 yml로 선언하면 protocol C#코드를 만들어주는 툴을 짜 보고는 좋은 물건이라는 생각이 들었다. 다음 번 프로젝트에도 썼다. 지금은 go를 써서 안 쓰고 있지만…
- 서버 점검 - 서버 긴급 점검이란 걸 해 봤다. 아주 피가 바짝바짝 마르더라.
- 정치 - 진짜 사람을 이간질 시키려는 인간을 처음 봤다. 내 기준에서는 큰 회사도 봤는데 거기도 결국 주먹구구식으로 돌아가는 건 마찬가지더라.
만수르/캐럿 게임즈 - 2014.9-2016.1
- 후회 - 처음부터 안 하는 게 좋지 않았을까 싶긴 하다. 중간에 나올 수 있었을 때 나오는 것도 나쁘지 않았을 거다.
- 위치 - 사람은 상황이 달라지면 태도가 바뀔 수 밖에 없다는 걸 배웠다.
- unity3d - 그 동안 서버만 하면서 손을 안 대고 있던 유니티를 실제로 해 봤다. 할 만 하더라. UI 프로그래밍도 좀 해 봤다.
- 컨텐츠 - 게임 컨텐츠에 대해서 고민을 좀 했다. 생각해 보면 이제야 고민한 게 좀 이상하긴 하다.
- 동료 - 동료의 능력은 중요한 문제다. 서로 믿을 수 있는 사람이랑 일을 해야 한다는 거야 알고 있었지만, 확실히 시간/학력/경력 등이 능력을 담보하지는 않았다.
- 휴식 - 내돈으로 가는 첫 해외여행을 갔고, 돈쓰고 쉬는 것의 위대함을 알았다.
옥타브 게임즈 - 2016.2-2017.7
- 후회 - 좀 일찍 그만두는 게 좋았을까 싶은데, 그랬으면 이렇게 회사에 학을 떼지도 않았을 테니 결과적으론 아직까지 모르겠다. 어쨌든 야근을 아예 처음부터 안 하는게 좋지 않았을까 싶다. 돌이켜 보니 최장기간 다닌 회사다.
- ActionScript - Facebook 플랫폼에서 플래시와 액션 스크립트를 써 봤다. 이제는 망하는 게 맞구나 하는 느낌이 들었다. 코드나 플랫폼보다는 게임에 쓸 만한 툴이 없는 것 때문에 시간을 상당히 많이 잡아먹었다. 좀 무리해서라도 Cocos로 가는게 나았을까 싶기도 하다.
- 이벤트 위주 코딩 - 클라이언트 프로그래밍을 하면서 복잡도를 낮추기 위해 이벤트 위주로 코딩을 했는데, 이게 도리어 전체를 조망할 줄 모르면 더 복잡하게 느껴진다는 얘기를 들었다. 스타일의 문제라기 보단, 내가 그리 잘 짜지 못해서 너무 복잡해서 그런 것 같다.
- 일의 분배 - 고질적인 문제로 남을 믿지 못하니 나 혼자 일을 하게 되어서 많은 문제가 있었다. 주변에서는 내 문제라고 많이 얘기했는데, 생각해 보니 키다리, 그루폰 때는 큰 문제가 없었고, 이후에 경력자가 들어왔을 때는 다른 문제가 없었던 것을 보니 돈 없는 소기업과 여러 이유로 거기밖에 갈 수 없는 인력이 만나 생긴 문제라고 보인다. 어쨌든 일의 분배를 처음 하게 되었는데, 별로 성공적으로 하지는 못했다. 한 명은 자기 능력에 회의감을 가지고 회사를 그만두기까지 했으니까.
- 전체 개발 - 한 사이클의 개발을(기획-코딩-배포-운영)을 무사히 끝내긴 했다. 1년 정도를 어쨌든 운영했으니까.
- 행동과 말의 괴리 - 사람이 행동과 말이 맞지 않으면 신용을 줄 수 없구나. 하고 생각했다. 그 사람이 말과 행동에 심각한 괴리가 있다는 건 나오고 나서 깨달았다. 일하면서 느낀 이질감은 그것이 원인이었다. 그러지 않기 위해서는 역시 환경을 잘 마련하고 스스로 돌아봐야겠다.
- Docker - 굿! 실무에서는 못 써본게 아쉽다.
- 휴식 - 정기적인 휴식, 일을 내려놓는 것은 꼭 필요한 일이다.
- 버그 - 중요한 것은 버그가 아니다. 게임의 의도고 햄심 가치를 전달하는가 아닌가다. 버그라는 단어로 남에게 휘둘리거나 모두 프로그래마의 잘못으로 인식되는 일은 피해야 한다.
- 사업 - 장사, 여러 의미로 사용되는 경우가 많지만, 여기서 본 것은 내가 목표로 한 것과는 상당히 거리가 있는 삶이었다. 어쨌건 혼자 해도 되겠다는 자신감을 준 경험이었다.
- 마케팅 - 정말 마케팅을 하던 사람이 있어서, 실제로 마케팅이란 걸 하는 경우 고려할 사항이나 단계를 배울 수 있었다. 관련 문서도 많이 만들었고, 혼자 해 볼만 하다는 생각을 더 하게 되었다.
쑤왓 - 2017.7-현재
- 휴식 - 3개월간 태국에서 쉬었다. 본래는 디지털 노마드를 목표로 했는데, 그냥 쉬게 되었다.
- Go - 아주 맘에 든다. python과 c를 섞은 느낌이라고 생각했는데, 이제 보니 모던 js같은 느낌도 많이 난다.
- Vue - 아주 맘에 든다. 모던 js는 그동안 내가 가지고 있었던 js에 대한 편견을 많이 씻어내주었다.
- 일과 시간 - 내 시간은 그대로 돈이라는 걸 생각했다.(이제야!) 코드를 잘 짜는 것도 중요하지만, 100만원짜리 일에는 100만원치만 시간을 들여야 하니 적당히 시간을 안 쓰는 게 필요하다.
- SI - 한 달 해 봤는데 생각보다 나쁘지 않았다. 여러모로 행운이 있었지만, 하루 8시간 잘 수 있었고, 산책할 여유도 있었고… 결과적으로는 돈을 좀 날로 먹은 것 같기도 하다.
- 책임감 - 회사다닐 때보다 부담감 없이 마음을 좀 편하게 가지고 있다. 문제 될 일은 안 하고,돈을 덜 벌면 된다.
- 일과 삶의 균형 - 잘 맞는지는 모르겠다. 일단 요즘은 요가를 꼬박꼬박(일주일에 두 번이상) 가고 있고, 잠도 큰 문제 없이 잘 잔다.