성장강박

2020.08.22

글을 최대한 정제해야겠다고 생각했다. 날 것의 나를 드러내기엔 내게 많은 영향을 주는 개인들이 내 글을 본다. 정제와 검열의 경계에 아슬아슬하게 서 있다는 생각도 든다. 불필요한 오해를 만들고 싶지 않다. 대화보다는 날 것의 글이, 날 것의 글보다는 정제된 글이 오해의 가능성이 적다. 이런 생각을 가지게 된 것도 성장일까? 성장기에 생긴 엉덩이 셀룰라이트처럼 반작용이 있어도 성장은 성장이지 않을까?

내 생산성을 스스로 과평가중이라는 생각이 들었다. 한계의 속도를 못 내면 불안해지는 것이 그 사이드이펙트가 아닐까 하는 생각. 자원사용률이 항상 100%에 육박해야 한다는 것은 욕심이라는 생각.

적절한 쿨러 없이 오버클럭을 하면 장비를 버리게 된다. 나는 굳이 오버클럭하지 않아도 충분한 생산이 가능하다고 믿기로 했다.


반도체 소자가 진공관을 대체하면서 마이크로프로세서는 더 작고 더 조밀한 회로를 만드는 방식으로 발전했다. 회로 크기가 줄어들면서 속도가 빨라지고 전력소모와 비용이 줄었다. 모든 것이 순조롭게 발전한다.

하지만 어느새 반도체 집적 회로 성능이 2년마다 2배 증가한다는 무어의 법칙은 깨졌고 하드웨어 발전은 정체되었다. 회로 크기가 나노미터 단위로 줄어들면서 지금보다 더 줄이기 힘들어졌다. 반도체는 작으면 작을수록 기억 능력이 떨어지고 이를 더 줄이면 기억 능력을 상실하는 까닭이다.

기존 방식으로는 더 이상 성능을 향상시키지 못하기에 다른 방식으로의 발전이 필요하다. 이에 독립 프로세서를 여러개 이어붙이는 멀티 코어 프로세서 방식으로 하드웨어가 발전하기 시작했다.

프로세서 수를 늘리며 다시한번 발전하게 된 하드웨어와 동시에 한편에선 소프트웨어 공학도 발전하고 있었다. 새로 생긴 멀티 코어 프로세서를 사용하면 이전에 없던 더 자연스러운 트랜지션 애니메이션을 제공할 수 있게 되었다. 화면을 1초에 120번 갱신하거나 심지어는 엑스박스 컨트롤러로 웹서핑을 할 수도 있겠지.

하지만 그 눈부신 발전은 성능이 10배 좋아졌다느니 하는 비교만큼 체감할 순 없다. 스마트폰을 생각해보길. 처음 산 스마트폰은 항상 빠르다. 그러나 어느샌가 느린 것이 되면 얼마 전 출시한 새 스마트폰을 산다. 그러면 또 빠르다가 2년 뒤면 또 너무 느려 못 쓸 지경이 된다.

어떤 소프트웨어 공학자들은 2배 빨라진 하드웨어에 맞춰 2배 느린 명령을 내렸다. '아무렴 어때? 요즘 스마트폰은 2배 느린 코드도 빠르게 실행할 수 있어. 어차피 2년 뒤에 새 스마트폰이 나오면 이 코드도 2배 빨라질텐데, 더 많은 코드를 더 빨리 짜는 게 중요하지'하는 생각이었다. 배달앱으로 음식을 주문하거나 친구의 소식을 확인하는 본질은 예나 지금이나 그대로지만 어쨌든 더 부드러운 스크롤과 화면전환, 그리고 창 밖의 해와 같이 바탕화면 속의 해도 같이 지는 엄청난 기능이 제공되지 않는가? 그들은 그것이 발전이라 믿었다.

어떤 소프트웨어 공학자들은 자신들의 방식이 지속가능한 방법이 아니라는 것을 깨달았다. 더 많은 코드를 빨리 작성하는 것보다 더 빠르고 우아하게 동작하는 코드를 공들여 작성하는 것의 가치가 더 크다고 판단하기 시작한 것이다. 그들은 그것이 발전이라 믿었다.