Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Scala 스터디 회고

지난 4월 22일의 KSUG 세미나에서 nephilim님의 SCALAbility세션이 저한테는 Scala와의 첫 만남이었습니다. KSUG 세미나 후기에도 적었듯이 Scala세션에 꽤 많은 흥미를 느꼈었습니다. 그 뒤에 nephilim님이 봄싹에 스칼라스터디를 제안하셨고 다른 건 몰라도 기술관심에 대한 산만함이라면 어디서 빠지지 않는 저는 또 흔쾌히 참여를 했습니다.(제 블로그를 보시면 아시겠지만 저는 최신기술이라 새로운 개념의 기술들이 흥미를 많이 느끼는 편입니다.) 스터디를 하고 회고를 남겨본 적은 없지만 이번 스터디는 여러가지로 남달랐기에 회고를 남겨봅니다.(회고는 항시 중요하니 다음부터도 스터디끝나면 회고를 해봐야겠군요.)

로그를 돌아보니 5월 8일에 첫 모임을 가졌었군요. 초기에는 그래도 사람이 십여명 되었었지만 계속되는 스터디로 항상 그렇듯이 코어멤버만 남아서 스터디가 진행되었습니다. 5월 8일에 시작해서 8월 28일에 끝났으니 장장 4개월이 꼬박 걸렸습니다. 교재는 국내에서는 실용주의 프로그래머로 유명한 The Pragmatic Bookshelf™의 Programming Scala로 공부를 했습니다. 사실 nephilim님은 Scala를 만든 Martin Odersky가 직접 쓴 Programming in Scala로 하고 싶어 하셨지만 700페이지나 되는 부담으로 인하여 부담이 좀 적은 Programming Scala로 하였습니다.


사용자 삽입 이미지


사실 스터디를 하기 전에는 원서에 대한 불안감은 있었습니다. 많은 개발자들이 원서를 보기는 하지만 영어는 언제나 부담스럽고 그냥 아티클도 아닌 기술서적을 과연 이해할 수 있을까 하는 걱정도 있었고 한글서적으로 진행을 하여도 스터디모임에서 진도를 빼는 것이 쉽지 않은데 원서로 한다고 생각하니 개인적인 부담과 스터디의 진행이 과연 원활하게 될 수 있을까 하는 걱정이었습니다. 하지만 머 기술에 대해서는 새로운 기회를 그리 마다하지도 않고 일단 저지르고 보는 성격탓에 스터디에 참여했습니다.

돌아보면 걱정은 기우였습니다. 당연히 원서이니 원서를 해석하고 의미를 파악하는데는 더 많은 시간이 들었으나 두려움을 가졌던 것 만큼은 해석하기가 어렵지 않았고 또 다들 너무나 열심히 참여해 준 덕분에 나태해지지 않고 계속해서 진도를 쫓아갈 수 있었습니다. 스터디에 남은 멤버들이 워낙 출중하여서 이해되지 않은 개념들은 스터디중에 설명를 자세히 들을 수 있었습니다.



시작은 단순한 흥미였고 지금도 그렇지만 Scala를 제가 개발자로 지내면서 과연 현업에서 써먹을수 있는 있을까 하는 부분에 대해서는 여전히 네가티브입니만 지나고 보면 많은 것을 얻었습니다. 자바도 잘 못하면서 또 무슨 새로운 랭귀지냐는 생각도 들었지만 상당히 많은 노력과 시간을 투자하였음에도 지나서보니 하길 정말 잘했다고 생각하고 있습니다. 사실 Scala는 Java의 대안을 어느정도 타게팅하고 있다고 생각하기 때문에 스칼라를 공부하면서 자바가 가진 구조나 언어상의 한계에 대해서 더 많이 배웠던것 같습니다.

꼭 Scala진영에서 말하는 것들이 반드시 옳은 것은 아니더라도 한번쯤 생각해 볼 여지가 있다고 생각합니다. 기존의 언어들이 많이 가지고 있는 Imperative Style스타일보다 인간의 사고에 더 가깝다는 Functional Style이나 Immutabe Object의 권장(사실 이건 자바에서도 권장하는 부분이었습니다.)등 각 언어는 그 진영에서 바라보는 프로그래밍의 세계가 있는데 많은 시간을 투자하면서 그런 시각을 이해하는 것은 세부적인 기술습득 이상의 큰그림을 보는데 많은 도움이 되었습니다.(시야가 약간이나마 넓어진 느낌?)

"내 언어의 한계는 내 사고의 한계이다"
 - 비트겐슈타인-


작년부터 스터디를 여러번 했었지만 스칼라 스터디는 유독 일정이 특히나 빡빡했습니다. 토요일마다 모여서 스터디를 하고 스터디 진도에 맞춰서 교재를 읽고 주중에 나온 한두개의 프로그래밍 숙제를 해야했기에 야근하고 집에와서 공부하고 하다보니 꽤 버겨울때도 많았습니다. 그래도 모자란 부분은 채워줄 스터디 멤버들이 있었고 같이 하는것이 상당히 즐거운 시간이었기에 마지막까지 할 수 있었던것 같습니다.(이런 점이 그룹 스터디의 장점이겠죠.) 사실 뭐 그렇다고 제가 스칼라만 한건 아니고 그사이에 프론트앤드 모임인 FRENDS도 준비하고 DevDay도 나가고 아이폰앱도 개발하다가 베타리딩도 하고 했으니 스터디때문에만 버겨웠다고 할수는 없기도 하겠습니다. ㅎ

새로운 언어를 배우는 것이 간단한 일은 아니지만 아쉬웠던 점이라면 아무래도 개념을 이해하는 위주로 스터디를 많이 하다보니 비록 중간중간 숙제가 있었음에도 코딩이 너무 부족했다는 생각이 듭니다. 결국 핵심은 코딩인데요. 그렇게 공부를 하고도 아직도 스칼라의 문법이 많이 익숙하지는 않습니다.(이제부터는 실습의 때인긴 합니다.) 주업무가 아니기에 돌아봐도 어쩔수 없었던것 같기는 하지만 개념과 코딩이 병행되지 못한 점은 반성해 볼 필요가 있긴 합니다.(스터디 전체라기 보다는 제 경우라는게 더 맞을겁니다.) 사실 책이 안좋다는 얘기가 스터디 내부에서 많았는데 저는 이 책의 내용을 쫓아가기도 좀 버겨웠고 700페이지 책에 비하면 내용이 좀 부실한것은 분량상의 문제라고 생각하기에 아주 좋은 책인지까지는 모르겠지만 그래도 큰 불만은 없었습니다.




그리고 대안언어축제....
스터디가 종반을 향하고 있을때쯤 nephilim님을 통해서 컨택이 들어왔습니다. 이름만 들어봤던 대안언어축제(처음에 들었을 때는 "대한 연어축제"인줄 알았;;; ㅡㅡ;;) 운영단에서 스칼라 커뮤니티의 참여 권유가 들어왔습니다. 사실 저희는 스칼라 커뮤니티는 아니고 제가 알기론 국내에 스칼라 커뮤니티는 아직 존재하지 않습니다. 봄싹 커뮤니티 내에서 스칼라 스터디를 진행했을 뿐이었습니다.

처음에는 그냥 4달 공부했다고 다른 사람한테 랭귀지를 설명해야 한다는 것이 상당한 부담으로 느껴졌고 우리 말고도 스칼라를 잘하는 사람이 많을텐데 "내가 어떻게"라는 생각을 했었지만 다시 생각해보니 이것은 꽤나 괜찮은 기회였고 축제라는 이름대로 언어를 가르친다기 보다는 같은 기술에 관심을 가진 사람들끼리 공유를 한다고 생각하면 제법 재밌을 것 같았습니다.

그래서 결국 대안언어축제에 참여하기로 하였습니다. 스터디만으로는 언어를 파악하기가 부족해서 프로젝트를 생각하고 있었는데 대안언어축제랑 맞물려서 준비를 하게 될듯 합니다. 이제 본격적인 실습이라고 할 수 있겠습니다. 제가 스칼라가 이제 대안언어가 되어야 한다거나 국내에 스칼라를 전파해야겠다는 사명감 같은 것을 가지고 있는 것은 아닙니다. 그냥 처음부터 흥미도 있었고 많은 시간을 투자하고 나니 애착도 많이 들었기에 그동안 즐거웠던 만큼 앞으로도 즐거울 꺼라 기대할 뿐입니다. 아마 9월에는 대안언어축제 준비로 바쁜 한달이 될 것 같군요.
2010/08/29 03:42 2010/08/29 03:42