강연의 과제인데... 미래를 상상하다 보니 너무도 바라던 미래가 묘사가 되어서 블로그에도 한 번 남겨 본다.
뭐... 이 미래가 나에게 다가올 것인가는 내가 하기 나름일 것이고(현시창이기 때문에 정말 많이 노력해야 되지 않을까 싶다...ㅠㅠ) 차후 한국 IT 에 변화가, 아니면 해외에서라도 변화가 나타나야 할 것이다.

아직은 해외 쪽이 이 미래에 더 근접하다. 그 이유는 미래 묘사의 대부분의 내용이 '뉴욕의 프로그래머' 와 '실용주의 프로그래머', '조엘 온 소프트웨어' 등에서 접한 사실에 기초하기 때문이다. 그런 면에서 참 아쉽다. 한국 IT 도 미래에는 이런 모습을 꼭 갖추기를 소망해 본다.

오늘은 201X년 어느 봄날이다.
나는 한 S/W 회사에서 프로그래머로 일하고 있다.

이번 주는 프로그램 릴리즈를 하는 주간이다.
상당히 중요한 주간이다. 사실 다른 회사 같으면 릴리즈날 앞뒤로 며칠이 될 지 모르는 철야작업에 돌입할 것이다.

하지만 내가 속한 팀은 일정이 아주 상세하게, 그리고 넉넉하게 잡혀 있고 기능 개선 요청 등이 발생해도 릴리즈에 포함할 것인지를 릴리즈 날짜와 견주어서 냉철하게 평가하기 때문에 필요한 기능은 기한 전에 모두 구현된다.
기한이 넉넉하다면 “‘일찌감찌 대충 끝내고 농땡이를 피겠다’ 라고 생각하는 팀원이 생길 수도 있지 않느냐” 라고 말할 수 있지만, 우리는 우리가 만들어낸 솔루션에 대해 자부심을 갖고 있기 때문에 - 또한, 팀 내에서 변경 사항에 대한 코드 리뷰를 주기적으로 하기 때문에 - 자발적으로 기능 개선에 엄청난 신경을 쓴다. 다만 인생과 일의 균형을 갖춰야 오래 갈 수 있다는 신념 하에 무리하게 야근까지 해 가면서 기능 개선에 신경을 쓰지는 않는다.
물론 일이 편하던 안편하던 어찌됐던 직장인이다 보니 퇴근 후에도 일 생각을 가끔 하긴 한다...
승진은 해야되니까 말이다... ;)

게다가 코드의 변경사항이 모두 체크되고 검토되기 때문에 버그 발생율이 워낙 낮다. 그러므로 릴리즈 주간이라고 해서 갑자기 바빠지지는 않는다.
그래도 릴리즈 주간이 평상시보다 긴장이 조금이나마 더 되긴 하다.

모든 프로그램은 작던 크던 버그와 함께 S/W 의 인생을 살아간다. 그러므로 이를 얼마나 효율적으로 관리하느냐는 개발팀에게는 엄청나게 중요한 이슈이다.

우리가 개발하는 S/W 에서 발생한 버그는 Q/A 팀을 통해 버그 관리 시스템에 전부 등록되고, 우리는 버그가 발생할 때마다 일정을 재정돈한다. 릴리즈 이전에 해결되지 않는 버그들은 다음 릴리즈로 미루는데, 치명적인 버그의 경우에는 릴리즈 날짜를 미루는 경우도 있다. 작년에는 생각하기도 싫은 버그로 릴리즈 날짜가 미루어지고 우리는 1년에서 손가락에 꼽을 야근을 하기도 했지만 - 그만큼 야근 할 일이 없다 - Q/A 팀과의 커뮤니케이션 방향을 개선하고 테스터의 수를 보충하면서 올해는 치명적인 버그들은 릴리즈 주간 이전에 전부 발견하고 수정했다. 올해는 정말 야근이 없는 해가 될 지도 모르겠다.
사실 프로그래머라는 직업을 가진 사람의 삶이라고는 생각하기 어려운 일이지만 - 그리고 나도 그런줄만 알았지만 - 우리 팀에게는 현실의 삶이 되었다.

출근을 하고 먼저 빌드 서버의 메시지를 확인한다. 릴리즈 주간이니 기능 개선 급의 코드 변경이 일어나지는 않았겠지만 - 간혹 중요한 주간에 무모한 짓을 하는 팀원이 있다... :) - 혹시나 하는 마음이기도 하고, 매일 출퇴근시에 확인하는 일상적인 일이기도 하다.

일단, 별 일 없는 것 같다. 버그 관리 시스템에 남겨진 이슈를 확인해 보았지만 특별한 이슈는 없다. 그리고, 앞에서 얘기했듯이 릴리즈 주간에는 치명적인 버그가 아니라면 코드를 건들지 않는 것이 좋다. 오늘은 일단 개발에 관한 건은 없다.

메일을 훑고, RSS 리더로 구독하는 블로그들의 새 글들을 확인한다.
‘근무시간에 블로그 글이나 보고 있다니 근무태만이 아니냐’ 라고 생각할 수 있겠지만, 내가 구독하는 곳들은 대부분이 개발자 블로그, 혹은 커뮤니티이고, 이들을 통해 최신 기술이나 동향을 빠르게 습득할 수 있기 때문에 근무와 엄청난 연관이 있다. 물론, 일상적인 블로그나 유머, 좋은 글들을 올려 주는 블로그들도 껴있음을 부정하지는 않는다. :)

새 글들을 대충 훑고 Delicious와 Twitter 등을 통해 정리한 다음 개발자 커뮤니티를 놀러 갔다.
여기 또한 최신 기술이나 동향을 빠르게 습득할 수 있다.

나도 이제 개발자로써 유명세가 약간은 붙어서 지인들이 상당히 많고 나를 좋아해주는 개발자들도 많다. 고마운 일이다. 뭐... 그 덕분인지 커뮤니티에 가면 최신 기술 습득보다는 친목, 일상 적인 얘기를 많이 하게 되기도 한다. 조절이 좀 필요하긴 한 것 같다. :)

아참, 이럴 때가 아니다. 나는 우리 팀의 S/W 개발을 주도하고 있지만 동시에 사내 벤처 아이템 개발 또한 참여하고 있다. 사내 벤처 아이템 또한 우리 팀의 S/W 처럼 철저하게 소스와 버그가 관리된다. 다만 벤처이기 때문에 아이디어를 더 중시하고, 우리는 위키와 포럼 게시판, 마인드맵을 통해 서로의 아이디어를 공유하고 주기적인 회의를 통해 이를 구현에 옮기는 일정을 잡는다.

이번 주가 릴리즈 주간이긴 하지만 별 일이 없으니 지금 아이템 개발의 진도를 빼는 데 적기이다. IDE 를 열고 코딩을 어느 정도 마치니 시간이 꽤 되었다.

메일을 다시 확인하니 내가 커미터로 속한 오픈 소스 프로젝트에서 회의 관련 메일이 날아왔다.

세계 각국의 커미터들(물론 레벨이 있어 일정 이상 레벨의 커미터들만 회의에 참석한다)이 회의에 참석해야 하므로 회의는 보통 화상회의가 된다. 다행히도 회의 시간은 퇴근 이후이다. 게다가 나의 사랑스러운 아내와 아들과 놀아주기로 한 약속은 지킬 수 있는 시간대이니 가족들에게도 미안해하지 않아도 될 것 같다.

요즘 아들이 걷기 시작했는데 얼마나 귀여운지 모른다.
네살배기 이상의 남자애는 짐덩이라는데 아직 그 나이가 되지 않아서 그런가 귀엽기만 하다.
나도 네 살때 사고 많이 치고 다녔던가... 모르겠다 기억나지 않는다... :)

어느새 퇴근할 시간이다.
집에 도착하여 가족들과 맛있는 저녁을 먹고 오픈 소스 프로젝트 회의를 진행하였다.
다행히도 큰 이슈는 없다. 릴리즈 주간에 다른 프로젝트가 바쁘면 골치가 아프기 때문에 사실 걱정이 되었는데, 무난하게 넘어갔다.

우리 아들이 빨빨거리면서 걷는 것을 캠으로... 또 디카로 찍으면서 오늘의 행복한 기억을 컴퓨터에 정리한다. 얼마나 귀여운지 플리커와 내 블로그에서도 인기가 많다. - 물론 내 블로그는 개발자 블로그로도 어느 정도 유명하다. 기술 관련 노하우 라던지 고충상담 글 들을 자주 올리기 때문이다.

적어도 지금의 나에겐 회사의 상하관계에 따른 스트레스, 프로젝트 관리 시스템의 부재로 인한 일정 지연 및 야근, 인생과 일의 괴리란 남의 이야기일 뿐이다.

회사 다니는 것이 재밌을 정도이다. 이런 일은 (솔직히 말하자면) 전에는 겪지 못했던 것들이다.

난 지금의 삶이 너무도 행복하다. 난 ‘행복한 프로그래머’ 이다.
아무리 미래가 좋아져도 위의 미래는 이루어지지 않을 수도 있지만... 뭐 어떤가? 이상인데...
이상에 조금이라도 더 가까워지는 미래가 되었으면 하는 바램이다.

ps. 부득이하게 비공개 과제를 밝힌 꼴이 되어버렸네요...

보보님 불편하시다면 댓글 남겨주세요. 원하시는 방향으로 수정할께요~

ps2. 사실 더 장황하고 세세하게 묘사할까 했는데 어차피 세세한 부분은 마음속에 있으니 상관없는 것 같다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Heart