시험기간, 소프트웨어 공학을 실무에 비춰보다.

 엊그제부로 나는 중간고사가 1주일 남았다는 소식을 듣게 되었다. 원래는 진작에 알고는 있었지만, 학교 홈페이지에 중간고사 시간표가 올라오자 실제로 보다 더 실감을 하게 된 것 같다.

 중간고사라.. 5년만에 복학을 한 나로써는 더더욱이나 신기한 소식인 것 같다. 지금은 어느 직장에도 속해있지 않은 학생의 입장으로써, 중간고사 기간인 이번주, 그리고 다음주 초 까지는 사실상 아무런 개발이나 활동도 없을 것 같은데, 내겐 그게 사실 좀 어색한 부분이 아닐 수 없다. 프로그래밍이나 웹 개발은 내가 10살부터 거의 빼놓지 않고 하던 일이니깐 말이다.

 그런 일종의 여유(?) 속에서 시험준비를 하면서 느낀다. 지금 공부하고 있는 이 소프트웨어 공학, 이것을 공부하면서 정말 느끼는 것이 많은데 특히 여지껏 내가 고민했던 “개발론”에 대해서는 이미 학문화가 되어 있다는 사실이 가장 놀라웠다. 이미 내가 프로그래밍을 통해 봐오던 산출물이라던가, 개발 단계, 형상관리 단계, 기능명세서나 고객 요구사항, 단위테스트, 통합테스트 등 그런 일련의 과정들은 이미 학문적인 것에서 오는 일련의 과정이었다.

 그것도 모르고 실무에서 나는 약 3년여간을 일련화된 프로젝트 개발을 위해 열심히 노력했는데, 이렇게 학문적인 내용을 보게 되니 정말 새롭다. 어느 한 편으로는 내가 만약 실무에서만 속해 있고 지금도 계속 개발만 하고 있었다면, 이런 부분은 분명 놓치고 있었을 것이라는 생각도 들고..

 그래서 학과 공부가 중요하다는 생각이 든다. 완벽한 “개발자” 는 아니지만, 최소한 나의 학부에 맞는 “컴퓨터 공학부” 즉 컴퓨터에 대한 공학, Engineering을 공부하는 것이다. 이는 컴퓨터에 있어서 모든 이론적인 학문을 포함하는 것이다. 

 그 이론은 솔직히 무시하기는 힘들다. 그냥 간단히 말하면 PL, PM급에 있는 사람들은 이러한 이론적인 면에 빠삭하다. 이론이 밭쳐줘야 환경세팅이라던가, 개발 Rule을 잡는 부분도 가능하다. 여태까지 나는 그런 사람들의 그런 “정형화”의 능력이 “경험”에서 만들어진 것이라 생각했는데 (물론 경험도 무시할 수는 없겠지만) 실제로는 이론에 충실한 것 같다.

 공부라는 것이 그런 것이라는 생각을 한다. 마치 책을 읽고 내가 할 수 없는 일에 대한 간접 경험을 하듯, 공부도 마찬가지로 내가 경험하기 전에 이론적으로 이해하고 경험하고 깨닿는 것이다. 간접 경험이자, 간접 지식 습득이다. 내가 실무로 뛰면서 배운 모든 이론적인 부분은 역시 이론 공부를 통해서 얻을 수 있는 것이다.

 물론 이런 부분엔 장/단점이 분명 존재한다. 무엇보다 우리 사회는 단지 이론으로만 통하는 사회는 아니다. 사람으로 통하는 사회, 여기에는 분명 의사소통의 경험이 수반되어야 한다는 것이다. 아마 나는 지난 6년여간 의사소통과 사회를 공부했다고 하는 게 가장 맞을 것 같다. 

 하지만 이제는 좀 더 이론에 충실해야 할 시간인 것 같다. 일이란 것은 언제든지 내가 원하면 할 수 있다. 굳이 대기업에 가지 않아도 세상엔 개발 거리는 쌓이고 쌓여있다. 문제는 내가 도전하느냐 마느냐는 것이다. 나는 기존처럼 SI/SM을 뛰면서 실무를 다시 경험하고 싶지는 않다. 

 그래서 내 개발적인 부분에 있어서의 관심사가 두 가지로 좁혀졌다. 하나는 개발론에 대한 관심사와 하나는 내 개인이 혼자 개발할 수 있는 방법론에 대해서다. 어떻게 보면 이 두가지는 극과 극이다. 하나는 협업을 위한 관심사, 하나는 단일 개발을 위한 관심사이다.

 나는 어떻게 하면 이 두가지가 조화를 이뤄서 단일 개발, 즉 혼자 개발할 때에 효과적인 작업이 가능한지를 연구하고 싶다. 아마 이는 내가 지금 1인 브랜드를 연구하는 것도 영향이 있다. 지금 시대는 아이디어의 시대이고, 이러한 아이디어를 빠르게 만들고 평가하려면 기술이 필요하다. 결국 1인 개발도 어떠한 방법론이 필요하다는 것이다.

 참으로 내가 무시하고 있었던 이러한 이론들이 실제로 실무를 겪고 나서 그 필요성을 인식하다 보니 참으로 아이러니 하긴 하다. 더 큰 범주로 보면 우리가 공부를 하는 이유와도 직결된다. 위로 올라가기 위해서 말이다. 나는 참 이게 암울한 “공부”나 “입시 위주”의 세상이라 생각했는데, 사실 지식화된 사회에서는 지식이 많을 수록 당연히 유리한 것이고 위에 설 수 있는 것이다.

여하튼 목표의식은 참 좋다. 이제 중간고사를 공부하기만 하면 될 것 같은데.. 사실 교양 과목과 영어도 발목을 잡고 있긴 하구나.. 이건 개인적인 문제이므로 알아서 해결하도록 하고. 이 신비한 소프트웨어의 세상, 더 깊게 나아가 웹 개발의 세상은 어디까지일지, 그 한계가 궁금해지는, 그런 SE(Software Engineering)을 공부하던 시간이었다.