본문 바로가기
Book

글로벌 소프트웨어를 꿈꾸다 - 김익환

by 판단중지 2010. 11. 28.
글로벌 소프트웨어를 꿈꾸다10점
김익환 지음/한빛미디어

회사에 처음 입사를 하고 학교에서 교수님 밑에서 프로젝트를 하면서 혼자서 독학한 프로그래밍 경력으로 일을 하게 되었다. 처음 맡은 일은 방화벽/서버/네트워크 관리였는 데, 사실 내가 해본 것은 서버정도였지 학교에서 대규모의 네트워크를 볼 일도 없었고 방화벽을 내가 관리할 일도 없었다. 
아마도 이 부분은 지금의 전산전공자들도 마찬가지일거라고 생각을 한다. 더구나 공학전공자이긴 하지만 비전공자인 내가 더하면 더했지 모르는 것 투성이였다. 때문에 저자가 말한 것과 같은 사수-조수 구조의 한국 기업문화에서 욕도 먹고 밤도 새고 사고도 치고 주말에는 그냥 혼자서 회사에 나와서 문서를 찾아서 읽고 확인하고 스스로 자료 정리를 하고 수집하는 일들의 반복이었다. 

중소규모의 기업들이 그러하듯이 멀티 플레이어를 요구하는 데, 개발일도 병행하는 상황이 되었다. 그런 와중에 또 다시 업무를 정확하게 파악하지 못하고 혼란을 겪게 되었다. 이 과정에서 가장 불만족 스럽게 생각했던 부분이 문서로 정리된 것이 거의 없다는 점이었다. 일반 한국 기업들이 대부분 이러하다는 이야기를 책에서 보면서 과연 우리가 잘하고 있는 것인지 의심스러워졌다. 

저자의 미국 기업의 경험에 따르면 문서로 50%, 프로세스 45%, 선배 5%인데, 문서고 프로세스고 없는 거 같은 느낌이 들었다. 그렇다고 전임자가 그때는 회사를 그만둔거라서 난 결국은 소스를 하나씩 까보면서  디비랑 비교하면서 흐름을 파악하고 유지보수하는 데에 온 신경이 집중되고 결국은 거의 디폴트로 주말 특근이 예정되거나 퇴근시간이 늦어지게 되는 일들이 생겼다. 그런데, 이걸 개선해야지 하고 생각을 했다가 결국은 저자가 지적한 바와 같이 시간이 없어서 문서 작업은 안하고 그냥 막 코딩해버리고 나중에 되면 그것 조차도 정리하지 않으면서 내가 코딩한 것조차도 시간이 오래 흘러서 내가 왜 이렇게 했나 하는 이런 문제가 생기는 것이다.
그렇다고 주석을 제대로 그때는 달지도 않았던 거 같다. 우리도 2-3년전에서야 소스 코드 버전관리를 하고 있지만 과연 커밋할때 주석 내용제대로 입력하고 하는 것인지도 난 의심스럽다.

지금은 내가 책에서 언급한 바와 같이 개발에서 관리쪽으로 이동중인데 과연 이것이 적절한지 스스로에게도 의심이 된다. 그렇다고 내가 신규 기술에 대한 충분한 기술 습득을 하고 있는 것도 아니고 말이다. 난 그냥 코더였던거 같은 생각이 지금 든다. 엔지니어라고 할 수 있을런지.. -트위터의 바이오에서 엔지니어라는 말을 지워버려야겠다. 

이 책에서 언급하는 것은 정말 개발자 자신에게 쿡쿡 찔러대는 말들 뿐이다. 
특히 그 미신들은 정말 아주 가슴을 쑤신다. 개발자 부분에 보면 이런 말들이 나온다. 
- 빨리 코딩을 시작합시다. 그래서 빨리 끝냅시다.
- 제품을 만들 때까지 테스트를 못한다.
- 소프트웨어 공학을 적용할 시간이 없다.

이 말들 사실 비겁한 변명같다. 이슈관리 시스템을 넣고 소스 검증 시스템도 돌리고 해서 쓰자고 이야길 한 적이 있지만 아직도 현실적으로 어렵다는 이유로 우린 미루고 있는 것은 아닌지 고민해봐야 하지 않을까?
정말 우리가 해보고 어렵다고 이야기를 해봤을까? 분석-설계-구현이라는 것을 다 알지만 대충 분석하고 그걸로 설계-구현까지 바로 연결해서 문서작업도 제대로 안하고 그냥 막코딩해내고 있는 것은 아닐까? 하는 생각이 든다. 단지 이게 개발에 국한된 이야기는 아닐 것이다. 운영도 하려면 이런 과정을 거쳐서 해야 하는 데 과연 그렇게 하고 있는 것인지 의문이 든다. 그리고 운영은 이런 방법에 대한 가이드가 소프트웨어보다도 적다.

일단 나는 소프트웨어 공학 책을 한권도 읽어보지 않았는 데, 읽어야하고 고민해야 한다는 생각이 든다. 특히, 이슈관리 시스템은 전에도 생각했지만 반드시 추가로 필요하다는 생각을 하게 되었다. 자료를 좀 더 찾아봐야 겠다는 생각이 들게 되었다. 

마지막으로 이 책을 개발하시는 분들이나 경영진들께서 좀 읽어보시고 개발 일정을 넉넉하게 줘서 생각하고 시스템 전체를 보고 여러가지 고민해서 동료와 같이 검토해서 설계하고 구현하도록 했으면 하는 바램이다.

반응형