소프트웨어 개발 전문가, 골드러시, 함수형 언어

스티브 맥코넬은 우리 컴퓨터 업계에는 주기적으로 골드 러시가 일어난다고 했다. 기술 혁신이 계속되고 새로운 기술이 부침을 거듭고 이에 따라 새로운 기회가 열리며 이 기회를 잡으려고 사람들이 우루르 달려드는 일이 반복된다는 것이다.

그러다 보니 새로운 금광이 발견되었다는 소식을 빨리 접하고 남들보다 먼저 깃발을 꼽는 것이 소프트웨어 개발자를 포함한 컴퓨터 관련 종사자의 중요한 생존 전략이 되어 버렸다. 심지어 어떤 (전직) 개발자는 직접 금은 캐지는 않고 금을 찾으려고 혈안이 된 개발자에게 새 금광 소식을 전하거나 금광 채굴단을 모집하거나 청바지를 파는 것을 생업으로 삼기도 한다.

After the gold rush골드 러시가 일어나고 새로운 기회를 찾는 거야 늘 즐거운 일이지만 이런 특성 때문에 무시되는 한가지는 소프트웨어 전문가 의식이다. 오히려 어떤 기술을 남들보다 먼저 사용하거나 더 잘 쓰는 사람을 ‘전문가’라고 부르는 실정이다. 스티브 맥코넬은 이에 대해 “골드 러시 이후, 진정한 소프트웨어 공학 전문직 창조(After the Gold Rush: Creating a True Profession of Software Engineering)”라는 책을 썼는데 아쉽게 번역이 된 것 같지는 않다.

내 머리 속에는 소프트웨어 개발의 전문성이란 주제로 두 사람이 떠오르는데, 이 스티브 맥코넬이 그 한 사람이고 요 몇년 사이에 엉클 밥(로버트 C 마틴)이 추가되었다. 스티브 맥코넬은 소프트웨어 전문가를 소프트웨어 공학자로 보았다. 아직 기예 수준에 머물러 있는 소프트웨어 개발을 공학적으로 접근해서 여러가지 소프트웨어 공학 지식을 활용하는 사람이다.

The clean coder반면에 엉클 밥은 소프트웨어 개발자의 윤리와 책임과 자부심에서 전문성을 찾는다. 이는 오랫동안 소프트웨어 장인 정신으로 부르던 것과 연장선에 있다.

재미있는 것은 이들이 전문성을 강조하던 시점인데, 스티브 맥코넬은 무어의 법칙으로 인한 소프트웨어 위기가 극에 달했던 2000 년 앞뒤로 그런 주장을 했고 엉클 밥은 무어의 법칙이 공식적으로 죽었다는 선고가 떨어진 2000년 후반에 그런 주장을 했다. 즉 공짜 점심은 끝났으니 이제 소프트웨어 개발자는 무임 승차를 끝내고 이제야 말로 진짜로 전문가로서 전문성을 찾아 나서야 한다는 말이다.

엉클 밥이 이 때부터 함수형 언어(특히 리스프 계열, 그중에서도 클로저)에 전착하며 떠들고 다닌 것도 같은 이유인 것으로 보인다. 그에게 새 시대에는 과거와 전혀 다른 방식으로 소프트웨어를 개발해야 하며 함수형 언어가 그 해결책이라고 본 것이다.

난 무어의 법칙 이후 세상에서 함수형 언어(그 중에서도 리스프 계열)만이 답이라고 생각하지는 않는다. 하드웨어 혁명의 시대가 끝나고 소프트웨어 혁명이 시작된 시대에 대응하는 방법은 다양하리라 생각한다. 함수형의 특징 중 몇가지(예를 들어 불변성)를 부분적으로 혼합하는 방식도 가능하다.

좌우간, 요즘 함수형 언어를 떠들고 다니는 사람들 주변에 많고 관심도 많다. 다만 이들이 새 금광 홍보꾼(보도방?)인지 전문가 의식을 찾는 사람인지 한번 확인해 볼 필요가 있다.