기존에 알고 있던 기술 혹은 혁신을 일으키는데 일조하던 수단들이 오히려 새로운 혁신에 방해가 되는 일을 우리는 "혁신의 역설" 이라고 부른다. 최근 프로젝트를 진행하면서 새롭게 느낀 점이 있다. 내가 알고 있던 상식과 기술들은 지금까지의 개발자라면 누구나 필수로 학습해야 했으며 이해하고 응용할 줄도 알아야 하는 것임에도 불구하고, 이제는 오히려 새로운 기술과 패러다임을 익히는데 아주 큰 걸림돌이 되어 있는 것들이 많다는 사실이다.
우선 자바의 영역에서는 null 이 그러하다. 지금까지의 null 오류는 다양한 방법으로 오류를 감당해 내고, 다양한 패치... 아니지 치트를 이용하여 극복해 내야 될 대상이었다면 이제는 원래 그래 ~ 라며 그냥 으레 그러려니 하라고 한다.
다음은 데이터베이스의 영역인데, 예전에는 각 DB 의 사용법을 달달달 외우고, 그게 안되니 ANSI SQL 을 시험보고 익히고 사용했다면, 이제 JPA 라는 영역에서는 넌 업무 로직만 생각해라. 뒷단은 방언처리로 알아서 처리해드릴게~ 라고 한다. 하물며, 당연히 설계의 여러 원칙들이 적용되어 있어야 할 테이블의 id 설정마저 이젠 그냥 신경쓰지 말고, 너가 만드는 서비스가 백만건의 데이터 밖에 안될거라는 착각에서 벗어나 Long id; 로 네이밍 조차 하지 않은 채로 자리만 채워주면 뒷일은 우리가 알아서 한다 ~ 라고 한다. 미치는거다. 정규화니 원칙이니 하면서 배웠던 설계의 모든 이론들.. 예제로 배우는 ㅁㅁㅁ, 00 개론, 00 로 배우는 ㅁㅁ 등으로 대표되는 그동안의 모든 스테디셀러 개발 책들의 내용이 고전을 넘어 설화가 되버린 지경이다. 난 그동안 무엇을 배우고 익히고 알고 있는가...
사실 오늘은 이력서를 작성하면서 어쩌면 당연하게도.. 지난 10 여 년 개발자로 지내온 시간을 돌이켜 보게 되었는데, 분명 당시에는 혁신적인 내용이었고 하이테크 였으며, 필히 인고를 감당해야 하는 학습의 대상이던 기술 셋들이 이제는 한 물 간.. 아니 버려진 내용들이 많아서 이 이력서를 과연 어디에 제출할 수 있을 것인가 하는 충격에 빠져 있다.
모두가 이양기로 모내기를 마치고, 각자 자신이 욕망하는 일을 즐기고 있는데, 나는 모내기 철이 한참 지나고 나서야 거머리를 피할 고무 장화를 부랴 부랴 찾고 있던 건 아닐까 하는 생각에 ... 이번 이직을 통해 ... 새로운 10년을 향한 혁신의 고통을 감당할 마음의 준비를 단단히 해야겠다는 생각을 해본다.
이번에 이력서를 쓰면서, 지난 시간 매 년 기술을 익히고 변화하고 적응하고 응용하는 단계를 겪으며 성장했던 시간들이 결코 헛되지 않았음을 깨닫기도 하지만, 세상이 돌아가는 모습을 보면 또 다시 새로움을 맞이하고 익힐 준비를 게을리 하면 안되겠다는 생각을 한다. 늘 깨어 있어야 한다.