[책 리뷰] 글로벌 소프트웨어를 말하다.

김익환님의 새 책인 “글로벌 소프트웨어를 말하다.”가 나왔다. 이전 작품인 “글로벌 소프트웨어를 꿈꾸다.” 라는 책을 꽤나 재미있게 읽은 편이라, 이번 책도 나름 집중해서 읽어 보게 되었다.

먼저 제목부터 생각해보면, “글로벌 소프트웨어” 라 멋지지 않은가? 제목에서 부터, 두 가지를 의미한다고 본다. 정말 글로벌한 소프트웨어를 만드는 것과 아직 우리나라에서는 “글로벌 소프트웨어”를 만들기 어렵다라는 부분…

실제로 전작인 “글로벌 소프트웨어를 꿈꾸다” 부터 신작인 “글로벌 소프트웨어를 말하다” 역시, 강하게 동의하는 부분도 있지만, 또한 역시 강하게 동의하기 어려운 부분도 많은 책이다. 그러나, 내가 동의하지 않는다고 해서, 틀렸다고 말하기는 어렵고, 다른다고 말해야 하지 않을까?

이전 책에서 가장 맘에 들던 내용은 실리콘 밸리쪽에서는 70점 부터 시작하지만, 우리나라는 2~30점 부터 시작하기 때문에, 거기에 대한 격차가 벌어진다는 것… 내가 여러 회사를 다닌 것은 아니지만, 그래도 소스 관리 툴등은 기본적으로 사용하는 회사에서 다녔고, 회사의 정책에 따라서, QP활동(정적분석툴, 소스 리뷰) 등도 해봤지만, 이게 문화로 자리잡는게 정말 어렵다는 걸 알고 있기 때문에, 정말 공감이 가는 얘기였다. 또한 내가 경험해보지 못한 영역인 SRS에 대한 강조는 나로서는 또한 이해하기 어려운… 그 취지에는 공감이 가지만, 그게 전부라고 말하는 것은 아직 내 경험상 이해하기 어려운 일이었다.

이번 신작에서는 “손자 병법”이 손무가 오자서에 의해 등용되기 전에 쓰여졌다는 부분… 즉, 알고 있는 것과, 이를 제대로 이해해서 실천하는 것의 큰 차이가 있다는 부분에 다시 한번 크게 동의했다. 사실 대규모 서비스에 들어가는 기술들도 대부분은 우리가 이미 알고 있는 것들이다. 정말 특별하다고 할 것은 없지만… 이를 제대로 구현하고 디테일하게 챙기는 것이 쉽지가 않다는 것… 개발자가 이에 대해 알아야 하는 것도 많고… 개인적으로 클라우드나 로컬 서버에 따라서 설계가 바뀌는 것은, 그 환경이 다름을 이해하면, 당연히 고려해야할 문제들일 수 있다. 전통적인 환경보다 더 장애가 많을 수 있고, 반대로 디플로이가 빠르고 환경에 따라서 쉽게 확장이 가능한 장점도 있다.

반대로, 약간 인터넷 포털의 입장보다는 솔루션 소프트웨어 개발쪽의 의견이 더 강하다는 느낌이 들었다. 페북/구글, 라인/카카오/네이버는 소프트웨어 업체라기 보다는 인터넷 포털이나 서비스 업체라고 보는게 더 강한데, 이런 곳에서의 릴리즈는 하루에도 열두번씩도 발생할 수 있고, 요구 상황도 상황에 맞춰서 자주 바뀌게 되는데, “일년에 릴리즈를 세번 이상 하는게 나쁜 회사라고 하기는 어렵다.”(물론 릴리즈가 조금 다른 의미이겠지만…)

외국 회사의 면접 이야기…(하루에 6번 정도 면접을 보면… 정말 피가 마르고, 머리는 멍해진다. 그것도 영어로 보니 한국인의 입장에서는 더더욱 힘든…)

전체적으로 앞부분은, 전작에서 하지못한 다른 이야기, 뒷부분은, 약간 다른 이야기들을 하고 있다. 약간, 국내보다 실리콘 밸리는 무조건 잘하고 있다라는 느낌도 적지 않지만… 그래도 “많은 개발자들의 꿈인 해외 취업” 을 하고 오신 선배님의 재미난 이야기로 생각하면, 꽤 도움이 될 내용들이 많다는 것… 그리고 자신의 경험에 비추어 본다면, 꽤 도움이 될것 같다.

내식대로 내용을 살짝 재해석 한다면…
1. 소스 관리 툴은 뭐든지 일단 도입하자(VSS, CVS, SVN, GIT)
2. Jenkins 등의 CI로 빌드는 항상 확인하자(github이라면 travis CI 같은…)
3. Jira형태의 이슈 관리 툴을 사용하자. 꼭 Jira가 아니더라도, 기록이 잘 남고, 검색이 되면 좋다.
4. 소스 코드 리뷰는, 자신의 실력향상을 위해서 필요하다. 남을 지적질 할 생각이 아니라, 어떻게 짰는지 보고 배우는 형태로…
5. test가 품질을 올려주지는 못하지만, 리그레이션 테스트는 꼭 도입하자.
6. 자신이 알게된 새로운 내용은 팀원들하고 항상 공유하자.

개인적으로 좋은 소프트웨어를 만들어낸다는 가정하에, “개발이 재미있어야 한다.”에 한마디를 더 하고 싶다. “스칼라는 모르지만…” 트위터가 자바로 가지않고 스칼라를 선택한 이유가 개발자의 재미를 위해서였다는 것은… 참 멋진 일이라고 생각한다.