🚀 2026 스타트업 컨퍼런스

6주간의 성격 리팩토링: 레거시 코드 같은 내 마음 뜯어고치기

6주간의 성격 리팩토링: 레거시 코드 같은 내 마음 뜯어고치기

김현수·2026년 1월 4일·3

낡은 레거시 코드 같은 성격도 리팩토링할 수 있을까? 심리학의 Big Five 모델을 개발자의 시각으로 해석하고, 6주간의 실천을 통해 마음을 최적화하는 방법을 소개합니다.

솔직히 고백하자면, 주니어 시절 저는 배포 버튼을 누르는 것조차 두려워하던 겁쟁이였습니다. 금요일 오후에 코드를 머지하고 나면 주말 내내 슬랙 알림이 울릴까 봐 스마트폰을 쳐다보지도 못했고, 작은 실수라도 하나 발견되면 마치 내 개발자 인생이 끝난 것처럼 자책하곤 했습니다. 10년이 지난 지금, 시니어라는 타이틀을 달고 있지만 여전히 새로운 프로젝트를 시작하거나 낯선 기술 스택을 도입할 때면 가슴 한구석이 묵직해지는 것을 느낍니다. 심리학에서는 이런 성향을 신경증(Neuroticism)이라고 부르더군요. 마치 시스템 로그에 에러가 빗발치듯, 제 마음속 불안 경보가 너무 자주 울리는 셈입니다. 최근 흥미로운 아티클 하나를 접했는데, 사람의 성격도 마치 낡은 레거시 코드를 리팩토링하듯 의도적인 노력으로 짧은 시간 안에 바꿀 수 있다는 내용이었습니다. 오늘은 그 이야기를 빌려 우리 개발자들의 '마음 최적화'에 대해 이야기해 볼까 합니다.

우리는 흔히 성격을 하드웨어의 ROM(Read-Only Memory)처럼 생각하는 경향이 있습니다. "나는 원래 내향적인 사람이야", "나는 꼼꼼하지 못해서 QA 팀이랑 안 맞아"라며 자신의 특성을 고정된 상수(Constant)로 정의해 버리죠. 80년대 심리학자들조차 30세가 넘으면 성격이 고착화된다고 믿었다고 합니다. 하지만 최신 심리학계의 정설은 다릅니다. 성격은 생물학적 성숙이나 사회적 책임의 축적을 통해 평생에 걸쳐 서서히 변하며, 심지어 우리가 의식적으로 '커밋'을 날리면 단 몇 주 만에도 유의미한 변화를 만들어낼 수 있다는 것입니다. 기사의 필자는 자신의 높은 신경증 수치와 완벽주의적 성향을 개선하기 위해 6주간의 실험을 감행했습니다. 마치 성능이 떨어지는 모듈을 찾아내어 집중적으로 디버깅하고 코드를 개선하는 과정과 흡사해 보였습니다.

심리학에서 사용하는 'Big Five' 모델을 개발자의 언어로 번역해 보면 꽤 재미있습니다. 개방성(Openness)은 신기술이나 새로운 패러다임에 대한 수용력, 성실성(Conscientiousness)은 코드 퀄리티를 유지하려는 장인 정신이나 마감 준수 능력, 외향성(Extraversion)은 팀 커뮤니케이션이나 오픈 소스 기여 활동의 적극성, 우호성(Agreeableness)은 코드 리뷰 시 상대방을 존중하는 태도, 그리고 신경증(Neuroticism)은 시스템 장애 상황에서의 멘탈 관리 능력 정도로 매핑할 수 있겠습니다. 필자는 신경증 수치가 상위 85%에 달할 정도로 불안도가 높았지만, 개방성과 성실성 또한 매우 높았습니다. 이는 우리 업계에서 흔히 보는 '실력은 좋지만 번아웃에 취약한 완벽주의자' 유형과 정확히 일치합니다. 그는 과도한 걱정과 사회적 불안을 줄이고, 조금 더 편안하게 타인에게 다가가는 '기능 개선'을 목표로 삼았습니다.

변화의 핵심은 거창한 아키텍처 재설계가 아니었습니다. 매일 수행하는 작은 퀘스트, 즉 '단위 테스트(Unit Test)'의 반복이었습니다. 연구에 따르면, 자신이 바꾸고 싶은 특성에 부합하는 행동을 매주 과제처럼 수행했을 때 실제 성격 변화가 일어났다고 합니다. 예를 들어, 내향적인 성격을 바꾸고 싶다면 바에 가서 술을 마시고 억지로 말을 거는 무리한(그리고 건강에 해로운) 방식이 아니라, 요가 수업 옆자리의 사람에게 가볍게 인사를 건네는 정도의 작은 시도를 반복하는 식입니다. 필자 역시 6주간의 실험 끝에 낯선 사람에게 먼저 스몰토크를 시도하는 자신을 발견했습니다. 이는 우리 개발자들이 깃허브(GitHub)에 첫 PR(Pull Request)을 날릴 때의 떨림과 비슷합니다. 처음이 어렵지, 반복하다 보면 어느새 자연스러운 일상이 되는 원리입니다.

물론 6주 만에 사람이 완전히 다른 사람으로 다시 태어날 수는 없습니다. 저 또한 여전히 장애가 발생하면 식은땀이 흐르고, 낯선 컨퍼런스 장소에 가면 구석 자리를 찾곤 합니다. 하지만 중요한 것은 성격이 '불변 객체(Immutable Object)'가 아니라는 깨달음입니다. 우리는 시스템의 성능을 높이기 위해 밤새워 코드를 분석하고 리팩토링하면서도, 정작 그 코드를 작성하는 '나'라는 시스템의 버그는 방치하고 있었던 건 아닐까요? 너무 예민해서 동료와의 협업이 힘들거나, 지나친 완벽주의로 배포를 망설이고 있다면, 그것은 타고난 천성이 아니라 단지 오랫동안 업데이트되지 않은 낡은 설정값일지도 모릅니다. 오늘부터라도 아주 작은 커밋 하나를 날려보시길 권합니다. 옆 자리 동료에게 건네는 따뜻한 인사 한마디가, 당신이라는 시스템을 업그레이드하는 첫 번째 패치가 될 수 있습니다.

김현수
김현수10년 차 시니어 개발자

SI의 척박한 땅에서 시작해 빅테크의 대규모 트래픽까지 경험한 생존형 개발자입니다. '화려한 기술'보다 '퇴근을 보장하는 안정성'을 신봉하며, 주니어들의 삽질을 방지하기 위해 펜을 들었습니다.

김현수님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!