티스토리 뷰

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

어느날 갑자기 나는 회사에서 무엇을 하고 있는가하는 생각이 들었다. 블로그가 원래 개인의 기록을 남기는 것이기 때문이기도 하고 혹시나 게임 서버 개발자가 되고 싶어하는 사람들이 궁금해할까 싶기도 하고...


 대략 9시 전후로 자전거를 타고 출근을 한다. 집에서 나서서 회사 자리에 앉기까지 대략 20분 정도 걸리는 거리라서 부담이 없다. 오히려 버스를 타면, 걸어나오는 시간, 버스 기다리는 시간 등 때문에 더 오래 걸린다. 비오면 버스타야함. 9시 30분 기준으로 업무가 시작되며, 좀 늦게 와도 뭐라하는 사람은 없다. 다만, 업무시간 8시간은 다들 알아서 지킨다.


 출근해서 자리에 앉으면, 어느 자리에서나 보이는, 매우 커다란 모니터에 주기적으로 개발 상태를 체크하는 CI(젠킨스)가 현재 어떤 문제가 발생했는지 알려준다. 문제가 발생하면 빨간 배경에 'XXX Failed, YYY Failed' 같은 화면을 보여주고, 문제가 없으면 '최신 걸그룹 뮤직 비디오' 를 보여준다. 5일 중에 2일 정도는 이런저런 문제가 있기 때문에 이런 문제를 해결한다. 보통은 단순 실수, CI 프로세스의 버그 정도이다. 물론 해결하기 골치 아픈거라서 임시 땜빵으로 넘어가는 경우도 있다. 이런 문제를 해결하는 데 대략 1시간 정도 소모되는 것 같다.


 일단 급해보이는 'XXX Failed' 들을 해결하고나서 걸그룹 뮤직 비디오가 나오는 걸 잠시 잠깐 보고나서... 덤프 수집 웹페이지를 확인하고 처리한다. 그리고 팀원들의 commit log 들을 훑어보기 시작한다. 어떤 일들이 진행되고 있는지, 내가 실수한 걸 다른 팀원들이 고쳐주지는 않았는지, 다른 팀원들은 어떻게 코드를 만드는지, 나만 이상한 형태로 코드를 만들고 있지는 않은지 확인한다. 좀 관심있거나 흥미를 끄는 commit 은 파일 한줄한줄 diff 하면서 자세히 훑어본다. 궁금한게 있으면 작성자에게 의도를 물어보거나, 내가 생각한 방법은 어떤지 의견을 교환하기도 한다. 의견을 교환하면서 많이 배운다는 느낌도 받는다. 대략 30분~60분 정도의 시간이 소모된다.


 여기까지 오면 대략 10시나 11시쯤 된다. 12시부터 점심 시간이므로 이 때부터 점심시간 전까지는 코드를 다듬는 시간으로 한다. 지난번 구현에서 일정 부족으로 Ctrl+CV 했던 코드를 정리하거나, 특정 코드들을 모아서 클래스로 뽑아낸다. 평소에 마음에 들지 않았던 코드들을 조금씩 손보는 시간으로 활용한다. 일정과 상관없이 팀장님이 시킨 일들도 한다. 평소에 이런 일을 조금씩 계속 진행해놓아야 디버깅도 편하고, 가슴속의 답답함도 줄어들고, 숨겨진 버그들도 발견되어 수정된다. 물론 바쁜 일정이 있다면 일정을 진행한다.


 점심시간에는 운동하고 밥 먹거나(50%) 찜질방에서 자고 밥 먹거나(40%) 게임하고 밥 먹는다(10%)


 오후에는 일정에 따른 일들을 주로 한다. 기획팀에서 주도하는 '이런저런 기능을 추가해주세요', '이거 불편해요' 이런것들이다. 이런 일들을 하기 위해서, 생각도 하고, 코딩도 하고, 기획팀이랑 얘기도 한다. 그러다보면 팀장님이 와서 '뭐 도와줄거 없어요?' 라든지 '이거 좀 이상해요' 라면서 새로운 잡일들을 맡기고 간다... 간단한 일이면 바로 하고 아니면 할일목록에 넣어둔다. 또 계속 일정 진행... 


 CI 는 주기적으로 계속 체크를 하기 때문에, 갑자기 빨간색 화면을 보여준다. 그러면 살짝 쉴겸 CI 가 알려주는 문제를 해결한다. 이게 빨리 해결이 안되면 일정 진행을 미루고 해결하는데 시간을 들인다. 여기의 빨간색 화면은 적게는 몇십명, 많게는 백여명이 될 수 있으므로 가능하면 빨리 해결해야 한다.

 

 다시 일정을 진행하려고 했는데, 누군가와서 이 덤프 좀 확인해주세요라며 덤프 확인을 요청한다. 나한테 왔다는건 내가 일을 저질렀다는 것이다. 열심히 일을 처리한 후, 핫픽스가 필요하면 해당 브랜치에 핫픽스를 진행하고 다시 배포를 진행한다.


 다시 일정을 진행하려고 하는데, 이번에는 기획팀원이 와서 이런저런 것들을 물어본다. 당연히 친절히 설명해준다. 나도 잘 모르면 잘 아는 팀원에게 같이가서 설명을 듣는다. 그리고 기획팀원이 헷갈려하는 부분을 헷갈려하지 않도록 하는 방안이 나온다면 또 할일목록에 넣어둔다.


 일정진행 좀 한다...


 5일 중에 하루나 이틀은 오후에 팀원들이랑 티타임을 하는 시간이 생겼다. 한번은 꼭 팀장님이 전체 팀원을 모으고, 그냥 몇몇 팀원들이 모여서 티타임을 가지기도 한다. 한창 바쁜데 무슨 티타임이냐고 할 수도 있지만, 팀원들간의 티타임은 중요하다고 생각한다. 서로 개인적인 이야기나 일에 대한 의견교환, 그리고 시덥잖은 농담따먹기도 팀웍에 도움이 된다고 생각한다. 이 팀웍이 일을 할 때 커뮤니케이션 비용을 줄여주고, 불필요한 설명이나 논쟁을 줄여준다. 그리고 사실 나에게도 잠시의 휴식도 필요하고... 어디서 논문인지 통계인지를 봤는데, 직장인이 가장 행복할 때는 상사의 인정, 월급, 승진 같은 것보다도 직장 동료와 즐겁게 대화하는 시간이라고 한다. 나는 행복해...


 잠시의 휴식 시간을 가진 후 다시 일정 진행...


 회의가 하나 잡혀있다. 대부분 1시간 정도 회의를 진행한다. 갔다오면 할일목록에 할일 추가 ㅋㅋㅋ


 다시 일정진행...


 오후 6시 30분이 퇴근 시간이다. 이 시간이 가까워지면 보통 살짝 다른 형태로 일을 진행하게 된다. 먼저, 함부로 commit 을 만들지 않는다. commit 해서 빌드가 깨지거나 큰 문제가 발생하면 집에 못가는 거다. 그 상태로 집에 가면 무책임하다는 소리가 나올 수 밖에 없다. 물론 조금 늦게 갈 거면 상관없다. 그리고 새로운 작업을 가능하면 시작하지 않는다. 그 대신 밀린 메일을 읽거나, 다른 팀원들의 commit log 를 보기도 한다. 물론 일정이 급하면 일정을 최대한 진행한다.












 좀 재미있는게, 'XXX Failed' 라는 메시지를 보는 팀원들의 시각이다. 누구나 빨간 배경 화면을 보면 무언가 문제가 있다는 것을 안다. 그리고 누군가는 이 문제를 해결해야 겠다. 누군가는 이 문제를 알려야 겠다. 누군가는 신경 안 쓴다... 누군가 해결하고 있겠지... 하지만 이건 단순한 현상일 뿐이고, 실제로는 얼마큼 해결할 수 있냐에 따라서 반응하는 것 같다. 저게 뭐야 해결해볼까... 아... 어렵구나... 흰건 배경이고 까만건 글자인데... 아몰랑... 그래서 팀에 합류한지 오래되면 문제 해결을 더 잘하게 되는 경향이 있다. 그런데 이걸 잘 해결한다고 해서 프로그래밍을 잘하게 된다거나 그런건 아니다. 그냥 소모적인 시간을 좀 더 쓸 뿐...

댓글
최근에 올라온 글
Total
Today
Yesterday