카카오톡 롤백 불가? 소프트웨어 개발자가 밝힌 진짜 이유

 

 

 

카카오톡의 개편 이후 사용자들의 반발이 이어지고 있습니다.

특히 우영규 부사장이 국회 국정감사에서 "기술적으로 롤백이 불가능하다"고 주장한 것에 대해 개발자 커뮤니티에서 엄청난 비난이 쏟아지고 있는데요.

저도 소프트웨어 개발자로서 이 주장을 들었을 때 처음 생각이 "뭐 이런 소리가 다 있나?" 였습니다.

 

이건 명백한 거짓말입니다.

 

 

1. 롤백은 소프트웨어 개발의 기본 중의 기본이다

 

우리가 소프트웨어를 개발할 때 가장 먼저 배우는 것이 뭘까요?

바로 버전 관리와 롤백 입니다.

 

어떤 업데이트를 했을 때 버그가 발생하면? 이전 버전으로 돌린다.

이게 안되면 상용 서비스는 운영할 수가 없습니다.

상상해보세요. 자동차 내부의 소프트웨어를 업데이트했는데 버그가 생겨서 안전에 문제가 생겼는데 "기술적으로 롤백이 불가능해요"라고 한다면?

그 자동차 회사는 어떻게 될까요?

 

카카오톡은 매일 수천만 명이 사용하는 서비스입니다.

이런 서비스를 롤백 계획 없이 업데이트한다는 게 말이 됩니까?

 

 

2. 카카오의 주장을 기술적으로 분석해보자

 

우영규 부사장이 한 말을 다시 읽어보겠습니다.

 

"2.0에서 1.0으로 돌아간다는 것이 아니라 2.0에서 2.1 버전 등이 되는 개념이라는 것"

 

뭐... 이게 뭔 말입니까?

이건 마치 "당신이 요청한 건 1로 돌아가는 거고, 우리가 할 수 있는 건 1.5로 가는 거다"라는 뜻인데,

이것도 기술적으로 전혀 불가능할 게 없습니다.

 

1) 이전 소스를 사용하여 앱 바이너리를 다시 만들어 새 버전으로 배포할 수 있다

 

개발자들은 항상 버전관리를 하고 있습니다.

즉, 이전 소스를 그대로 가지고 있는거지요.

이전 버전의 소스를 사용하여 버전 번호만 최신으로 수정한 후 다시 앱스토어에 올리는 것 입니다.

 

개발자들은 얼마든지 이전 버전을 다시 배포할 수 있습니다.

실제로 많은 앱들이 긴급 버그가 있을 때 이렇게 합니다.

그런데 카카오는 "기술적으로 불가능"이라고?

웃기지 말라고 하세요...ㅠㅠ

 

2) 서버도 여러 버전을 동시에 지원하면 된다

 

서버 API는 어떨까요? 이것도 간단합니다. 서버를 설계할 때 API 버저닝을 하면 됩니다.

 

예를 들어:

- `/api/v1/messages` - 구버전 앱용

- `/api/v2/messages` - 새로운 앱용

 

이렇게 하면 구버전 앱과 새 버전 앱이 동시에 문제없이 작동합니다.

Netflix, Google, Meta 같은 대형 서비스들이 모두 이렇게 하고 있습니다.

이건 누가 고안해낸 신기술이 아닙니다. 20년 전부터 업계 표준입니다.

 

그런데 카카오는 "기술적으로 불가능"이라고 하네요? 정말 한심합니다.

 

 

3. "데이터베이스 스키마 충돌" 문제도 해결 가능하다

 

기사에서 "앱 내부 데이터베이스 구조가 변경되면 구버전이 읽을 수 없어 충돌이 발생한다"고 했습니다.

이것도 핑계입니다.

 

실제 소프트웨어 개발자들이 어떻게 하는지 아세요?

 

1) 마이그레이션 스크립트를 작성합니다.

새로운 DB 구조로 변경할 때 항상 역방향 마이그레이션도 준비합니다.

이렇게 하면 언제든 이전 구조로 돌아갈 수 있습니다.

이건 개발 표준입니다.

 

2) 또는 호환성을 유지하도록 설계합니다.

새로운 필드를 추가할 때 구버전이 해당 필드를 무시하도록 하는 거죠.

그러면 구버전 앱도 새 데이터베이스를 읽을 수 있습니다.

 

이걸 못 했다면?

그건 카카오의 기술 능력 부족, 또는 초기 설계 실패입니다.

절대 "기술적으로 불가능"한 게 아닙니다.

 

마치 소프트웨어를 개발하면서 "OS 버전 호환성을 고려하지 않았어요"라고 핑계대는 것과 같은 거죠.

 

 

4. 그러면 진짜 이유가 뭔가?

 

제가 봤을 때, 카카오의 "기술적 불가능"이라는 주장의 진짜 이유는:

 

1) 돈이 되니까

새로운 UI에 광고를 더 많이 배치했을 겁니다. 광고 수익이 늘었으니 롤백할 수 없는 거죠. 기술 문제가 아니라 비즈니스 결정입니다.

 

2) 조직 정치

"이 개편은 우리 부서의 성과물"이라고 치고 나왔는데, 이제 와서 롤백한다? 누가 책임질까요?

그래서 "기술적으로 불가능"이라는 거짓말로 책임을 회피하는 겁니다.

 

3) 초기 설계 실패

만약 정말 기술적 문제가 있다면, 그건 개발 팀의 능력 부족이 아니라 경영진의 결정 실패입니다.

충분한 일정도 없이, 호환성도 고려하지 않고 무작정 밀어붙인 거죠.

 

4) 사용자 입장은 안중에 없음

가장 심각한 거? 사용자들이 싫어하는데도 "기술적으로 불가능"이라고 말하며 계속 밀어붙이려는 태도입니다.

사용자의 불편함이 들리지 않는다는 뜻입니다.

 

 

5. 업계에서는 어떻게 하나?

 

1) 페이스북은 어떻게 했을까요? 피드 알고리즘을 바꿀 때 여러 버전을 동시에 운영하고, 사용자에게 선택권을 줍니다.

 

2) 네이버 블로그는 어떻게 했을까요? 개편에 반발이 많자 구 버전 모드를 제공했습니다.

 

3) 구글은? 새로운 Gmail 인터페이스를 소개할 때도 "아직 구버전을 쓰고 싶으신가요?"라고 물어봅니다.

 

이들 모두 "기술적으로 불가능"이라고 말하지 않습니다. 사용자를 존중하기 때문입니다.

그런데 카카오는? "기술적으로 불가능하니 그냥 써"라고 합니다.

 

 

6. 개발자들의 분노가 이해가 된다

 

개발자 커뮤니티에서 카카오를 비난하는 이유가 이제 이해가 되죠?

이건 단순히 "UI가 마음에 안 든다"는 수준이 아닙니다.

 

"거짓말을 하고 있다" 는 겁니다.

 

소프트웨어 개발의 기본 개념을 무시하고, 국회 국정감사라는 공식 자리에서 "기술적으로 불가능"이라고 주장하는 것.

이건 소프트웨어 업계에 대한 모욕입니다.

 

 

7. 마무리하며

 

카카오톡은 한국 사람들의 생활에 필수인 서비스입니다. 하루에 몇 시간씩 사용하는 앱이죠.

 

그런 서비스를 운영하는 회사가 해야 할 일은:

 

- 사용자의 의견을 듣는다

- 기술적 문제가 있으면 솔직하게 말한다

- 해결책을 함께 고민한다

 

그런데 카카오는?

 

- 사용자의 의견을 무시한다

- 거짓말을 한다

- 자기 결정을 합리화한다

 

정말 실망스럽습니다.

 

- 롤백이 진짜 기술적으로 불가능하다면, 카카오는 소프트웨어 개발 회사가 아니라는 겁니다.

그렇다면 우리는 이 회사를 믿고 서비스를 쓸 수 없습니다.

 

- 롤백이 기술적으로 가능하다면(그리고 분명 가능합니다), 카카오는 거짓말을 하고 있다는 뜻입니다.

이 또한 이 회사를 믿고 서비스를 쓸 수 없습니다.

 

둘 다 심각한 문제인 것 입니다.

 

차라리 솔직히 말하면서 이러이러한 이유로 롤백이 어렵습니다.

빠른 시간내에 문제를 해결하고, 앞으로 더 좋은 서비스를 만들겠습니다.

라고 하는게 어땠을까요?

 

 

 

#카카오톡 #카카오 #롤백불가 #롤백 #불가능 #버전관리 #거짓말 #국정감사 #카카오비판

 

반응형
TAGS.

Comments