레거시를 개발자 관점을 벗어나보면

Restart Programmer
10 min readOct 3, 2024

--

정말 훌륭한 엔지니어링을 하려면 엔지니어링만 보는 시각을 벗어나야 한다. — 글쓴이-

최근에 많은 친구들이 이직이나 미래에 대한 고민으로 나에게 상담을 많이 한다. 주로 인생 전반에 관한 이야기들이다. 그때마다 나는 각자의 상황과 요구 조건에 맞춰 위로와 조언을 해주며, 앞으로 나아갈 여러 전략과 사례들을 함께 이야기한다.

그런데 내가 조언을 해주는 친구들 중, 개발자나 IT 업계에 종사하는 사람들은 한 가지 공통된 사고방식을 가지고 있다. 바로 레거시 시스템을 다루는 기업레거시 코드를 다루는 개발자에 대한 알 수 없는 거부감이다.

즉, 이들은 레거시 시스템을 다루는 회사에서 일하는 것을 꺼리고, 레거시 코드를 다루는 일이 커리어적으로 자신을 몰락시키는 길이라고 생각하는 풍조가 있다는 것이다.

레거시 시스템은 오래된 기술이나 방식으로 구축된, 현재의 최신 기술 기준에 맞지 않는 시스템 — 레거시의 정의 —

Photo by William Warby on Unsplash

대부분의 개발자들은 레거시 소프트웨어/산업을 싫어한다. 복잡하고 이해하기 어려우며, 유지보수가 어렵기 때문에 실수로 인해 문제가 생기면 자신에게 책임이 돌아오기 때문이다. 이런 부정적인 분위기가 쌓이면서, 레거시는 그 자체로 일종의 ‘죄악’처럼 여겨지게 되었다.

나 역시 시야가 좁았을 때는 레거시에 대한 알 수 없는 불편함과 혐오감이 있었다. 하지만 생각을 바꾸게 된 계기가 있었다. 어느 날 업계 선배가 농담처럼 해준 한마디가 나의 관점을 바꿔주었다. 그 선배는 “이런 레거시 코드가 네 월급을 주는 거야”라고 말하며 웃었는데, 이는 사실 ‘이 문제를 해결하기 위해 네가 여기에 있는 거야’라는 의미였다. 그 말을 듣고 나는 그 이상의 의미를 깨닫게 되었다.

레거시는 경제를 발전시킨 주역이다.

소프트웨어 발전사를 보면 그냥 대부분의 많은 인력을 처리하는 문제나, 사람의 인지능력으로 처리하던 로직을 자동화하고, 인력을 전자화 시킨 개념에 가깝다.

즉, 대부분의 소프트웨어 레거시란 예전에 연구했던 방식을 최선의 선택을 한 결과이다.

장부를 사람이 적는게 좋을까? 스프레드 시트에 계산하는게 좋을까? — 글쓴이가 농담삼아서 하는 이야기 1부 -

Photo by Museums Victoria on Unsplash

우리가 흔히 보수적인 산업군이라고 생각하는 분야는 주로 1차 산업과 2차 산업이다. 한국을 기준으로 보면, IT 기술이 가장 먼저 접목된 분야는 금융, 제조업, 통신, 그리고 공공 부문이다.

특히 한국에서는 금융 산업이 소프트웨어를 가장 먼저 도입한 분야 중 하나이다. 금융은 인터넷을 통해 빠르게 변화했지만, IT 개발자들 사이에서는 금융 분야가 규제와 레거시 시스템이 매우 강한 산업으로 인식되고 있다. 그럼에도 불구하고 우리는 대출을 받거나 다양한 금융 서비스를 이용할 때, 그 배경에 있는 시스템들이 우리의 일상에 큰 혜택을 준다는 점을 쉽게 잊는다. (몰론 편한게 발전은 아닙니다.)

레거시 시스템은 비록 무거운 책임감과 복잡한 코드 베이스를 안고 있지만, 사실 우리의 경제를 지탱해왔으며, 개발자들의 일자리를 늘려준 중요한 역할을 해왔습니다.
한국에서 가장 먼저 전산화가 진행된 금융과 공공 부문에서는 액티브엑스라는 기술을 도입해, 대중이 직접 방문하지 않고 온라인으로 업무를 처리할 수 있도록 했습니다. 이는 한국의 전산 도입에서 성공적인 사례로 평가됩니다. 또한, ERP는 2차 산업 대부분에서 데이터 처리와 행정 업무를 자동화하여 산업 효율성을 크게 향상시켰습니다.

금융이나 ERP, 공장 소프트웨어처럼 먼저 전산화된 분야들은 결과적으로 한국 IT 산업의 발전을 이끌었습니다. 그 덕분에 오늘날 IT 업계는 그 기반 위에서 더욱 성장할 수 있었습니다.

금융, 해양조선 산업이 없어지는게 인류에 큰 타격이 될까? SNS가 사라지는게 인류에 문제가 될까?

레거시는 문제가 있는게 맞다.

레거시는 문제가 있는 게 맞다. 지금까지 나의 글에서 레거시에 대한 찬양처럼 적혀있으나, 현실적으로는 많은 문제를 안고 있다. 모든 것이 영원할 수 없는 것처럼, 시스템도 시간이 지나면서 노후화되고, 산업이 발전함에 따라 변화가 필요하다.

기본적인 엔지니어링 관점에서 생각해보면, 우선 유지보수가 어렵다는 문제가 있다. 새로운 기능을 추가하거나 버그를 수정할 때 더 많은 시간과 리소스가 소모된다. 또한, 시간이 지남에 따라 보안 취약점이 발생할 가능성도 커진다. 이런 문제들은 현업에 있는 개발자들이 가장 잘 알고 있는 부분이다. 특히, 경제의 최전선에서 일하는 개발자들은 이러한 문제들로 인해 고민하고 있다.

1차 산업과 2차 산업에서는 한 번 시스템이 돌아가기 시작하면 이를 그대로 사용하는 경향이 있다. 이처럼 시스템이 유지되는 관성은 결국 문제를 개선해야 할 임계점에 이르게 된다. 지금이 바로 그 시점이라고 볼 수 있다.

레거시를 무조건 적으로 나쁘게 보지 말자. 왜 나쁜지 알고 어떻게 해결할 건지를 보자. 우리가 살아온 히스토리이자 문화재이다.(?)

Photo by Karan Bhatia on Unsplash

우리가 지금까지 레거시 소프트웨어에 대해 집중적으로 이야기했다면, 이제는 레거시 산업에 대한 내용도 다뤄보자. 레거시 산업은 전통적이고 오랜 역사를 가진 산업 분야를 지칭하는 용어이지만, IT 관점에서는 오래된 기술과 시스템에 의존하는 모든 산업 분야를 포함하는 개념이다.

보편적인 개발자들 중에서는 레거시 코드가 존재하는 이유로 인해 레거시 기업이나 산업 자체를 기피하는 사람들도 있다. 얼마나 많은 이들이 레거시를 꺼리면, 핀테크로 유명한 회사조차 자신들이 테크 회사라고 강조하는 사례가 생길 정도이다.

반 빅테크 정서의 유행

제발 정보를 교차검증도 해보고 반박도 해보고, 생각도 해보고, 믿어보기도 해보십쇼. 세뇌당하기 쉽겠네.. — 글쓴이 -

위에서 언급한 주장들은 반(反) 테크적인 정서를 가지고 있다고 생각할 수 있다. 솔직히, 저 역시 어느 정도 그런 정서를 가지고 있다고 생각합니다. 이런 정서는 미국의 법조계나 금융권, 그리고 1차/2차 산업을 중심으로 퍼지고 있다.

실제로 실물 경제를 움직이고 있는 주요 산업 분야들에서는 이러한 반 테크적 바람이 불고 있지만, 그렇다고 해서 그들이 테크화를 거부하는 것은 아닙니다. 오히려 그들은 더 많은 기술을 도입하고 싶어 한다. 다만, 그들만의 방식으로 테크화를 이루고 싶어 한다.

그러나 현실적으로 그런 회사들은 대부분 내부 서버를 운영하고 있으며, 모든 것을 클라우드화하기는 쉽지 않은 환경이다. AI를 도입해 효율성을 높이고, 인력을 줄여 더 많은 이익을 얻고 싶어 하지만, 현실적으로는 여러 격차가 발생한다.

Photo by erin mckenna on Unsplash

레거시 해결과 돈

자본주의 답게 돈으로 생각하면 돈의 관점에서 설명이 모든게 된다. AI를 해야하는 이유, 최적화를 해야하는 이유, 자동화를 해야하는 이유는 레거시를 개선해야하는 이유 역시 돈으로 설명하면 모든 게 된다.

돈에 빠지지 말자, 돈 보다 중요한건 많다. 만약 모르겠으면 돈에 잡아 먹힐 것이다. -글쓴이-

레거시 시스템을 해결해주는 기업은 이미 많이 존재한다. 대부분의 SI(시스템 통합) 또는 SM(시스템 유지보수) 회사들이 이러한 역할을 하고 있다. 또한, 레거시 시스템을 사용하는 기업들은 주로 자사 산업 분야의 데이터를 처리하고 관리할 수 있는 소프트웨어를 필요로 합니다. 이런 기업들 대부분이 팔란티어(Palantir)의 소프트웨어를 많이 활용하고 있다. 팔란티어는 이데올로기적으로나 영업 능력 측면에서 정말 무서운 기업이라 할 수 있다.

위는 현대 중공업과 팔란티어와 협업한 사례에 대한 레딧 자료이다. 위 같은 사례는 레거시 산업과 레거시 코드는 정말 돈이 되고 있다는 점이다. (여기는 IT 대량 해고 시즌 때 대량 채용 진행한 회사임다.)

참고로 팔란티어는 너무 잘 사업하고 있어서, 우리나라 뿐만 아니라 일본 대기업, 프랑스 국방 회사, 미국 국방부와 일을 하고 있다. (게다가 매우 철학적인 이데올로기를 가지고 있는 회사이기도 하다.)

세상의 시선을 지우고, 본질적 관점에서 본 레거시

우리는 과연 레거시라는 개념을 제대로 들여다본 적이 있을까? 혹은 단순히 자신이 레거시 시스템에 속해 있다는 이유로, 새로운 산업을 무조건적으로 “거품”이라며 비난해온 것은 아닐까?

본질적으로 생각해보자. 기술적으로 낡고, 문제가 있으며, 사용 경험이 좋지 않다는 점은 사실이다. 하지만 이 기술들이 뒷받침하고 있는 도메인이 세상에 어떠한 영향을 미쳤는지, 그리고 그 가치를 한 번쯤 생각해볼 필요가 있다.

대부분 레거시 회사는 나라의 경제 발전을 하는 핵심 키라는 것을 잊지말자.

참고자료

--

--