Yahoo! Hackday 참가

회사에서 열리는 Hack day 에 참가중입니다.
24시간 동안 프로토타입을 만들어 내는 것입니다. 아내에게 회사 행사로 집에 안 들어간다고 했더니 무슨 행사가 집에도 못가게 하냐고 하네요^^

Hack성격상 엔지니어들이 많이 참가를 했지만, 실행가능한 코드가 아닌 동작 가능한 것도 포함을 해서 디자~이너들도 참가를 한 것 같습니다.

참가자는 지퍼 티셔츠를 주고, 프로토타입을 제출하면 노트북 가방을 주고, 선정되면 상금을 받습니다.
야후헥데

상금은 어려울 것 같고, 참가하는데 의의를 두려고 합니다. 참가해서 지퍼 티셔츠를 받았고, 이제 동작하는 프로토타입 제출하고 3분짜리 데모해서 노트북 가방까지 받는 것이 목표입니다.

야후 헥데이

hack day 취지는 평소에 만들어 보려고 하는것을 업무 때문에 못 하던 것을 업무 안하고 바짝 24시간 밤세서 간단한 것을 뚝딱 만드는 것입니다. 즐기는 것이 가장 중요하다고 하네요. 저는 평소에 만들고 싶은 것은 시간내서 만들기는 하지만, 그래도 미루어두었던 것들이 있었습니다. 그래서 24시간의 체력이 될지는 모르겠지만, 뚝딱 만들어볼 수 있는 사양으로 작게 잡아서 신청을 했습니다.

요즘 나오는 프로그래밍 언어는 안해봤지만, 검색엔진만 있으면 어떤 언어든지 구현을 할 수 있는 세상이라서 맥용 어플리케이션을 짜 볼까 생각을 했지만, 시작해서 개발툴도 못구하다가 끝날 것 같아서 업무랑도 관련 있는 작은 것을 골랐습니다.

lisp 은 이제 절대 못할 것 같지만, 다른 개발언어들은 한 10년 전부터는 문법이 헷갈려서 이제는 검색엔진에 의존해서 그때 그때 찾아야 하는 형편이라 스펙이 작다고 해도 마음에 비해 진척이 참 느리네요.

이게 근데, hack day 인지 fat day 인지 모르겠습니다. 시간 정해 놓고 먹을것을 막 쌓아 주네요.
오후 2시 부터 시작해서 다음날 2시 까지 만듭니다 그 사이에 먹을 것을 줍니다.

오후 6시 저녁
오후 10시 야참
새벽 2시 야참
아침 8시 아침
12시 점심

근데, 이 먹을 타임이 프로그래밍 세션과 맞아 떨어지는 것 같기도 합니다.

개발을 할때에 기능 스펙과 구현 스펙을 to do list 로 해서 스케치를 해 놓고, 구현하면서 세부 스펙을 기록해가곤 하는데, 이번에는 맥의 OmniOutliner 를 이용하고 있습니다. 한 것은 체크 박스가 보여서 괜찮은 것 같습니다.

기간이 24시간 인데 개발 언어가 익숙하지 않아서 할 수 있는 것을 프로그래밍 하면서 정의하고 있습니다. 개발 언어의 특성상 제가 구현을 하는데 시간이 많이 걸리는 것이 생기면 시간을 맞추지 못하게 됩니다. 그래서 구현할 기능을 주의깊게 정의하게 되는 것 같습니다. 크리티칼 패스만 통과하면 되는 거죠.

그래서 예전에 심취했던 Rose 방법론대로 80:20 법칙을 기준으로 라운드를 몇개를 만들었습니다. Rose 는 대규모 시스템들에서 써 먹는 객체지향 방법론인데 그냥 아이디만 써보기로 했습니다.

구현할 기능 스펙을 몇개의 라운드로 쪼개보았습니다.
라운드1 에서는 이것은 되어야 하는 것. 라운드 2에서는 그 다음으로 나가야 하는 것. 라운드 3에서는 그다음의핵심 기능 등등,

각각의 라운드는 그 라운드로만 끝나도 돌아 갈 수 있는 것이어야 합니다. 요즘 뜨는 애자일이나 스크럼방법론은 십몇년전에 이미 있었고, 다른 형태로 있었을 뿐인 것 같습니다.

근데, 제가 정의한 라운드가 거의 먹을 것을 주는 시간과 비슷합니다.
물론 제가 목표를 작게 잡아서이기도 하지만, 안쓰던 개발 언어로 하는 것은 저 한테는 쉬운 일은 아닙니다.

간단하게 라운드 1의 목표를 달성했을 무렵에 밥 먹으러 오라고 합니다. 역시 시작할 때에는 목표를 좀 작게 잡아서 힘이 좀 나야 하는 모양입니다.

라운드2는 좀 핵심적인 기능이었는데 구현 방법을 까 먹어서 찾느라고 한참 헤메고 있는데 야참 먹으라고 합니다. 먹고와서 갑자기 보여서 풀어 버리고…

라운드 3는 간단하지만 머리를 써야 하는 건데 야참이 무슨 저녁 식사만큼 나오고, 게다가 맥주도 좀 마시고 해서 머리가 안돌아갑니다.

새벽2시에는 라운드3가 끝나야 하는데 머리가 안돌아가기 시작합니다.

새벽 4시가 넘기 시작했는데, 아직 라운드 3를 못 넘어가고 있습니다. 사실 라운드 3가 머리를 써야 하는 것으로 잡아 놓았고, 이 산만 넘으면 거의 끝나는데 말이죠.

라운드 5까지 잡아 놓았는데, 아무래도 라운드 4까지의 스펙까지갈 수 있을지 모르겠습니다.

프로젝트의 위험은 사람의 변수와 항상 같은 문제가 생기지 않는다는 것으로 기억합니다. 역시나 문제를 푸는 과정에서 문제들이 생깁니다. 그 문제들은 단번에 풀리기도 하고, 몇시간 몇일이 걸려서 풀리기도 합니다. 그래서 프로그래머들은 어떤 문제나 버그가 생길지 몰라서 개발 일정을 뻥튀기 하듯이 늘려 놓죠. 개인마다 차이가 있겠지만 웬만하면 뻥 치지 말고 , 고수의 도움을 받아서 빨리 해결하는 방법을 쓰면 좋을 텐데 말이죠.

24시간이라는 짧고도 명확한 시간이 있으니 아마 hack day 에 참가한 프로그래머들은 개발 일정을 절대로 뻥튀기 할 수 없을 것 같습니다. 아마도 그 시간에 맞는 스펙을 정하겠죠. 그래도 저 처럼 손에 익지 않은 연장으로 삽질을 하는 사람은 스펙 자체를 구현 못할 수 있는 심각한 위험도 있는 것 같습니다.,

문득, 밥먹고 똥싸고 하는거 빼고는 3일 밤낮으로 프로그래밍만 하다 쓰러진 적이 기억이 나네요. 그때에는 하드디스크도 없는 XT 컴퓨터에 어셈블러와 터보파스칼로 한 것이 풀다운 메뉴 구현이었는데… 요즘은 그냥 뚝 떨어뜨리면 될 일을…

암튼, 본업이 프로그래밍은 아니지만, 그냥 참가해 보고 있습니다.

Yahoo! Hack day

리서처가 프로그램을 쨘다고 하니 엔지니어 부문장님이 정말 프로그램 짜냐고 보러오셨네요. 라운드 2를 끝난 것을 보여 드렸습니다. 아까 얘기한 데로 각 라운드는 그 자체가 완성품입니다. 따라서 데모를 보여드릴 수가 있었던 것 같습니다. 엔지니어 부문장님은 데모를 보시더니 5천만원 아낄 수 있는 것을 hack day 하니깐 만들어 네네 하십니다. 우스게 소리로 엔지니어링으로 오라고 하시네요. 그러나 쩝, 오늘 2시까지 구현을 다 못할 수도 있는데… 머리가 안돌아 갑니다. 전 정말 그 프로그래밍 언어의 기본적인 것만 쓰는데도 이렇게 버벅거리니….

그래도 회의 때문에 저녁 먹고 시작했지만, 시간을 정한 것이 나름 집중이 되는 것 같습니다. 개발툴 깔고, 문법 찾아보고… 엔니니어들은 하던 일에 아이디어만 가지고 하겠지만 처음 부터 시작하는 것도 재미 있는 것 같습니다.

Related Post







Scroll Up