이제 막 3주간의 회사 경험을 하고 또 다시 주말입니다.
처음에는 상당히 의욕있게 시작했는데 이제는 좀 쉬었으면 좋겠다는 생각이 들기도 하고 지치는 기분도 좀 듭니다.
그런데 3주간 지내면서 느끼는 상당히 신선한 경험들중의 하나는, 저희 회사만 그런건지 미국 회사들 전반적으로 그런건지는 모르겠지만, 프로그래머들이 코딩을 손으로 하는게 아니라 입으로 합니다.
뭐 하나 막히는게 있으면 저 같은 경우에는 인터넷도 찾아보고 책도 뒤져보면서 혼자 해결하려고 노력하는 편인데, 여기 미국인 친구들은 옆 사람한테 뭍습니다. 보통은 옆사람 보다는 프로그램팀 보스에게 물어봅니다.
그리고 매우 자주 사람들이 white board 에 적어가면서 이것 저것 설명하는걸 보게 됩니다. 뭐 하나 막히는게 있으면 나가서 칠판에다가 직직 그리기 시작하면 사람들이 처다보거나 모여 들면서 듣습니다...
이렇게 프로그래밍을 말로 하는건 생전 처음 봤는데... 처음에는 "왜 혼자 생각좀 더 해보지 않고 다른 사람들을 방해할까? 미국 사람들은 정말 머리를 안쓴다"라고 생각했는데... 몇일 더 지내면서 지켜보니 좋은 점들이 참 많은것 같습니다.
우선, 문제가 발생했을때 혼자서 꿍하고 있으면 도움을 주고 싶어도 줄수가 없습니다. 일단 문제 상황이 입을 통해서 다른 사람한테 전달되게 되면, 지나 가다가나 여유가 있는 사람들이 주워듣고 도움을 주는게 가능해집니다. 그리고 왠만해서는 누군가가 뭘 설명하기 시작하면 호기심이 생겨서 듣게 되고 그 설명을 통해서 여러가지 몰랐던 정보들을 많이 얻게 됩니다.
또 다른 장점은 프로그래밍 보스가 사람들의 스케쥴을 물을 필요가 없어집니다. 질문을 받으면서 그 사람들이 뭘하는지 이미 파악이 다 되기 때문입니다.
White board 활용도가 매우 높고, 다른 사람들 일하는것을 interrupt 거는 거에 반감을 갖지 않는 분위기입니다. 저도 그런 분위기에 적응이 되어 가면서, 요즘은 의도적으로 질문 꺼리를 좀 만들어서라도 프로그래밍 보스랑 이야기할 기회를 늘리려고 노력중입니다. 그러면 그렇게 질문을 하는 과정에서 내가 하고 있는 일이 뭔지 설명을 하게 되고, 그러면 이렇게 하는게 좋다 저렇게 하는게 좋다 하는 이야기도 듣게 되어서 혼자 끙끙 대다가 어려운 결정을 내릴 필요도 없어집니다.
오늘의 일화를 하나 적으면 대략 이렇습니다. 기존의 함수 texture_init 이라는 함수가 메모리 포인터 한개와 사이즈 값 한개를 인자로 받는 것이었는데, 새로운 함수를 추가 하면서 그 함수를 inline 으로 할것인지 말것인지를 물었습니다. 사실 물을 필요없이 그냥 inline 함수를 만들수 있었는데, 질문할 기회를 찾던 중에 그걸 묻게 되었습니다. 그랬더니 프로그래밍 보스가 이런 저런 상황을 물어보더니 inline 이 좋겠다고 얘기해 줬습니다. 그런데 그러고나서 다른 중간급 프로그래머한테 물어보자고 하더라구요. 그래서 또 쫄레 쫄레 따라 갔더니 이러쿵 저러쿵 또 한참 대화가 되다가 결국은 inline 함수를 추가 하는 걸로 결정이 된것입니다.
사실 현업에서 일을 하게 되면 새로운 기술이나 방법론을 습득할 시간이 없습니다. 일하기 바쁜데 언제 책을 읽겠습니까. 회사에서 Agile 을 아는 사람은 없습니다. 하지만 지난 3주간 회사에서 일하면서 매우 자주 보게 되는 관경이 두 사람이 같이 앉아서 프로그래밍 하는 것입니다. 혹은 White board 에 이것 저것 적어가면서 의논하는 것도 자주 보게 됩니다. Agile 관련 책들을 보면 개발자들간의 대화를 자주 하라는 이야기를 자주 보게 되는데, 책을 읽을때는 대화를 자주 하도록 노력하나는 의미정도로만 이해했지 정말로 이정도로 입으로 코딩할 정도로 자주 대화를 할수 있게 되는줄은 몰랐습니다.
프로그래머들은 사교성이 없고 말도 별로 안하고 이어폰으로 귀 틀어막거나 독방에 앉아서 코딩한다는 이미지를 가지고 있었는데, 그런 고정관념이 상당히 무너지는 경험을 하고 있습니다.