나는 호불호가 강한 사람이다. 내 업인 개발에 대해서는 말할 것도 없고, 음식이나 취미, 음악에 대해서도 확고한 취향이 있다. 한 가지만 예시로 들자면 나는 사람도 꽤나 가려서 사귀는 편이다. ('가려서 만난다'는 어감이 조금 이상하긴 하지만 나와 맞지 않는 사람과 친분을 유지하기 위해 여분의 노력을 기울이지 않는다는 관점에서 본다면 가려서 만난다는 것이 그리 틀린말은 아닐지 모른다.) 나는 내 농담을 유쾌하게 받아주는 사람이 좋고, 아무리 큰 일이 닥쳐도 별것 아닌 것처럼 'x됐다'라고 읊조리며 맞이할 수 있는 사람이 좋다. 자기 일에 프로페셔널한 사람이 좋고, 사회적인 이슈와 영화, 음악, 소설에 대해서 깊은 대화를 나눌 수 있는 사람이 좋다. 반면 타인을 쉽게 판단하거나 나아가 비난(또는 걱정)을 앞세워 그 행동을 수정하려는 사람은 불편하다. 아주 작은 일에도 마치 큰 일인 것처럼 호들갑을 떨며 위로해주거나 내 기분을 걱정해주는 사람은 어딘가 부담스럽다. 불평불만이 많은 사람은 함께 있기 불편하며 지나치게 염세적거나 편협한 사람과는 최대한 빨리 멀어지려고 한다.
놀랍게도 30년 가까이 이런 삶을 살아왔음에도 내가 호불호가 강한 사람이는 사실을 깨달은 것은 채 1년이 되지 않았다. 그저 '나는 내가 맞다고 생각하는 것을 당당하게 말할 수 있는 사람'정도로 인지하고 있었는데, 생각해보면 '내가 맞다고 생각하는 것'이 명확한 것부터 호불호가 강한 사람이라는 근거였을 텐데도 말이다. 아무튼 이렇게 정의내리고 보니 한 가지 질문이 생겼다. '호불호가 강한 것은 좋은 것인가 좋지 않은 것인가' 나아가 '내가 살아가는데 있어서 호불호가 강하다는 것은 긍정적인 측면이 더 클까 부정적인 측면이 더 클까'하는 지점이다. 내 고민의 결론부터 말하자면 '호불호가 강한 것은 좋다'는 것이다. 이번 글에서는 내가 어떻게 이런 결론에 도달할 수 있었는지를 서술해보려고 한다.
과거를 돌아봤을 때 내가 '아무래도 좋아'라고 답변하는 케이스는 크게 두 가지로 나뉜다. 내가 그것에 대해서 관심이 없거나, 또는 지식이 없거나. 음식이나 영화 취향에 대해서 관심과 지식이 없다고해서 큰 문제가 생기는 것은 아니다. 하지만 내 전문분야라면 말이 달라진다. 내가 개발자라면 개발에 대해서 관심과 지식을 기반으로 전문성을 확보해야 한다. 이런 이유로 나는 내가 업으로 삼고 있는 분야에 대해서는 누구보다 강한 호불호를 갖추려고 노력한다.
React 개발자라면 누구나 한 번쯤은 '어떤 전역상태 라이브러리를 선호하시나요?' 같은 질문을 들어본 적 있을 것이다. 만약 이 질문을 기술면접에서 받았다고 생각해보자.
지금은 zustand를 사용하고 있고, 이전에는 recoil을 써봤는데 둘 다 편하게 잘되어 있어서 딱히 뭘 더 선호한다고 말씀드리기 애매할 것 같습니다. 이번 프로젝트에 zustand를 도입한건 제가 선택한게 아니라 팀장님이 도입하자고 하셔서 저는 그냥 따랐습니다.
적어도 내 경험상 이렇게 답변하는 지원자분의 결과가 좋았던 적은 없었던 것 같다. 기술에 대한 이해와 검토 없이 단순히 팀장님이 도입하자고 해서 도입했고, 도입한 이후에도 깊은 고민 없이 사용해 온 모습이 예상된다. 앞으로 문제를 해결하기 위해 새로운 기술을 도입할 때 의사결정을 믿고 맡길 수 있을지에 대한 의문이 들 수밖에 없다. 하지만 지원자가 이렇게 답변한다면 어떨까?
처음에는 redux를 사용해봤는데 구조를 딱 잡아주고 탑다운 설계를 통해 상태를 관리하다보니 굉장히 안정적이다라는 인상을 받았습니다. 하지만 보일러플레이트가 너무 비대해지고 간단히 상태를 추가하는 작업임에도 코드량이 많이 늘어나는 것을 경험했습니다. 그 이후에 recoil과 jotai를 사용해봤는데 러닝커브도 많이 낮고 보일러플레이트도 거의 없다시피해서 정말 편하더라구요. 지금까지 redux를 쓴게 억울할 정도였습니다. 다만 아토믹하게 상태를 관리하다 보니 조금만 상태가 복잡해져도 코드 가독성이 떨어지고 파편화가 심해지는 문제를 겪었습니다. 그 외에도 mobx나 redux toolkit같은 전역상태도 사용해봤는데, 현재는 zustand에 정착해서 사용하고 있습니다. redux와 동일한 flux 패턴으로 상태를 관리하기 때문에 안정적이고 구조화에 용이하면서도 보일러플레이트가 매우매우 간소화되어서 편하게 사용할 수 있었습니다. zustand를 써보고 너무 만족스러워서 실제 구현체도 찾아봤는데 생각보다 심플한 구조로 작성되어 있어서 놀랐던 기억도 있습니다.
실제로 내가 이전 기술면접에서 답변했던 내용을 간략하게 정리해봤다. 단순히 왜 zustand를 선호하는가에 대해서 쭉 나열했을 뿐이지만 면접관은 개발에 대한 내 태도와 전문성을 엿보았을 수 있다.
그렇다면 이런 의문이 들 수 있다. 내 전문 분야에 있어서는 최대한 모든 것에 '좋다'거나 '싫다'는 판단을 추구해야하는 것일까? 아무래도 좋을 수는 없는 걸까? 호불호란 직역하면 '좋고 싫음'이지만, 좋고 싫은게 명확하다는 것은 결국 그것이 왜 좋고 왜 싫은지에 대한 본인의 가치관이 뚜렷하다고도 해석할 수 있다. 즉 가치관만 뚜렷하다면 꼭 '좋다'와 '싫다' 뿐만 아니라 '아무래도 좋다'는 결론이 내려지더라도 그것 또한 좋은 방향이라고 볼 수 있다. 아마 지금 나에게 선호하는 전역상태에 대해서 묻는다면 위 답변 뒤에 이런 말을 덧붙일 것이다.
하지만 요즘에는 '전역 상태는 아무래도 좋지 않을까'라고 생각하기도 합니다. 저는 전역상태를 최대한 보수적으로 선언하는 것을 선호합니다. 전역상태가 비대해지면 가독성이 떨어지고 휴먼에러를 발생시킬 여지가 많아지기 때문입니다. 그래서 최대한 props만을 이용해 구현하려고하고, drilling이 심각하다고 판단이 되면 아예 구조를 리팩토링하거나 ContextAPI 부분 도입을 우선적으로 고려하기도 합니다. 심지어 최근에는 react query와 같이 서버 상태 관리 툴을 함께 도입하는 트렌드다 보니 로컬 전역 상태의 입지가 많이 축소되기도 했습니다. 실제로 제가 이전에 작업했던 프로덕트는 사이즈가 꽤 있음에도 전역상태 store가 10개 이내였던 기억이 있습니다. 이렇게 로컬 상태가 비대하지 않은 환경이라면 recoil을 쓰든, redux를 쓰든 그 차이가 크게 와닿지 않을 것이라고 생각합니다. 어디까지나 상황과 환경에 따라 달라질 수는 있겠지만요.
물론 모든 것이 그렇듯 좋은 면만 있는 것은 아니다. 호불호가 강한 사람, 가치관이 뚜렷한 사람은 피곤한 사람으로 비춰질 수 있다. 내가 무슨 말만 하면 '그건 싫어', '오 그건 좋아'라며 평가질이나 하고, 결정을 내려야하는 상황에서도 자기의 의견은 절대 굽히지 않으면서 '무조건 내가 맞아!'라고만 주장하는 모습을 떠올리기 쉽다. 나 또한 과거에 이런 모습이 없었다고 단정할 수 없다. 이런 이유로 사회에서는 오히려 호불호가 없는 무색무취의 사람이 더 선호되기도 한다. 커뮤니케이션에 지장이 없고 부담없이 다가갈 수 있기 때문이다. 나는 커뮤니케이션도 잘하고 싶었다. 일도 잘하고 인기많은 사람이 되고 싶었다. 그렇기 때문에 스스로 정하고 늘 지키려 노력하는 원칙이 있다.
나는 의사결정권을 상당히 중요한 요소로 인지하고 있다. 일이 정상적으로 굴러가려면 최종 의사결정권자가 있어야한다고 생각하고, 최대한 의사결정권자를 존중하려 한다.(한 걸음 더 나아가서 의사결정권자가 그 결정권을 활용하지 않는 것 또한 직무유기의 한 종류라고까지 생각한다.) 기획과 일정의 최종 의사결정권자는 PM이고, 디자인에 있어서는 디자이너며, 개발에 있어서는 개발담당자 또는 팀장님이 될 수도 있다. 나는 다채로운 경력을 가진만큼 개발 뿐만 아니라 UI/UX를 비롯해 비즈니스, 휴먼리소스 관리에 대해서 어느정도 확고한 가치관을 가지고 있다. 솔직히 지금 회사가 이런 내 가치관과 많은 부분에서 얼라인 되어 있다고 말하기는 어려운 상황이다 보니 필연적으로 구성원들과 크고 작은 충돌이 있어왔다. 그럼에도 큰 문제 없이 관계를 이어올 수 있었던 것은 '내가 왜 다른 의견을 내는지 그 근거에 대해서만 얼라인이 되었다면 그 이후의 프로세스는 의사결정권자에게 일임한다'는 원칙 덕분이었다고 생각한다.
나는 '지기 싫어하는 태도'를 가진 사람을 멀리하며, 혹여나 나에게 이런 모습이 보이지 않도록 의식적으로 노력한다.(간혹 나에게서 이런 모습이 보인다면 그건 지기 싫어서라기 보다 농담이었거나 진심으로 그렇게 생각하기 때문일 것이다) 지기 싫어하는 태도는 대화의 의지를 끊고 발전을 방해한다. '가치관이 뚜렷하다'는 부분에서 우리가 집중할 부분은 '가치관' 그 자체가 아니라 '왜 그런 가치관을 가지게 되었는가'에 대한 부분이다. 충분한 근거를 들어 설득이 되었을 때는 깔끔하게 내가 틀렸음을 인정하고 가치관을 수정하는 사람이 되려고 의식적으로 노력해야한다.
지금까지는 전문성을 중심으로 이야기를 풀었다면, 이제부터는 그 외적인 부분에 대해서 가볍게 얘기해보려고 한다. 위에서도 한번 언급했지만 음식이나 영화에 취향이 없다고 해서 문제가 생기는 건 아니다. 모든 분야에 대해서 호불호가 강한 사람은 피곤하기만 할 수 있으니 오히려 호불호가 흐릿한 사람이 더 선호되기도 한다. 하지만 나는 그럼에도 불구하고 의식적으로 내 기호를 찾아가는 노력을 기울이도록 조심스럽게 권하고 싶다.
전문적인 영역에 있어서는 '내가 무엇을 왜 좋아하는지에 대한 논리적인 근거'가 중요했다면 그 외적인 여가의 영역으로 들어오면 '내가 무엇을 좋아하고 싫어하는지'에 대한 그 사실 자체의 중요도가 더 높아진다는 인상을 받는다. 여가는 전문성을 갖출 필요가 없기 때문이다. 내가 무언가를 좋아하고 싫어하는데 논리적인 이유 따위는 중요하지 않다. '나는 오늘부터 이게 싫어'라거나 '나는 오늘부터 이게 좋아.'라고 스스로 정의내리는 순간 자연히 거기에 맞춰 내 사고와 행동이 셋팅된다. 그리고 그런 호불호 자체가 내 삶을 더욱 다채롭게 만들어주고 있음을 느낀다.
나는 반민초파다. 하지만 학창시절을 떠올려보면 내 돈주고 여러번 덴마크 민트초코 우유를 사먹은 기억이 있다. 나는 탕수육 찍먹파다. 하지만 중국집에서 탕수육을 부어서 준다고 기분이 상하지는 않는다. 나는 민트초코를 치약을 먹는 것 같아 싫어하는 것이 아니라, 싫어하고 보니 치약맛이 더 도드라지게 느껴졌던 것 뿐이고, 탕수육 찍먹파를 자처하고 보니 괜히 내가 원하는 만큼 소스를 찍어 먹는다는 사실에서 만족감을 느끼는 것 뿐이다. 누군가는 이런 호불호에 대해서 '왜 쓸데없이 반민초파/찍먹파를 자처해서 자신의 행동을 제약하느냐'라고 말할 수 있겠으나 호불호는 생각보다 삶에 소소한 즐거움을 주는 요소로 작용한다. 의사결정 과정에서 불필요한 고민을 줄여주는 것은 물론, 지인들과의 스몰톡 내지는 (꽤나 자주) 유쾌한 유머의 소재로도 활용될 수 있다. 내가 무엇을 좋아하고 무엇을 싫어하는지를 명확히 아는 것에서 오는 만족스러움도 무시할 수 없다.
나는 투명한 유리컵을 좋아해서 유리컵을 사모으는 취미가 있는데, 사실 그 계기랄게 별 거 없었다. 제주도 여행 기념품으로 구매한 투명한 유리컵이 어느 날 너무 이뻐보였고, 이후 유리컵을 한 두 개 더 구매했다. 이 때부터 '나는 투명한 유리컵을 좋아하는 사람이구나'라고 스스로 정의내렸다. 유리컵을 좋아하기로 마음먹은 뒤부터는 유리컵이 보이면 괜히 더 유심하게 쳐다보는 버릇이 생겼다. 평생 소품샵을 안가던 사람이 성수동 산책을 하다 눈에 보이는 소품샵에 들어가 유리컵 진열장을 한참 들여다보기도 했다. 별 것 아닌 얘기지만 나는 이런 것들이 쌓여 삶을 다채롭게 만든다고 확신한다.
사실 이 글은 '인간은 왜 쉽게 선동당하는가'에 대한 다소 무거운 고찰로부터 시작되었다. 나는 그것이 관심과 지식의 부재로 인한 미성숙한 가치관이 원인이라고 결론 지었고, 그렇다면 나는 어떤가하는 자아성찰로까지 이어졌던 것이 이번 글로 나오게 된 것이다. 유머는 인생에서 중요한 요소라는 가치관을 가지고 살아가는 사람으로서 무거운 주제는 항상 어딘가 부담스럽다. 그래서 이번 글도 걱정을 많이 했는데 이렇게 마무리 짓고 보니 처음 생각했던 것보다는 많이 가볍게 풀어낸 것 같아서 조금은 안심이 됐다.
본문에서도 주장했듯이 호불호가 강한 성격은 커리어적인 측면뿐만 아니라 유쾌하고 풍성한 삶을 조성하는데 큰 도움이 되어주었다. 부작용이 없다고 할 수는 없지만 성숙하게 대응할 수 있다면 최소화할 수 있다. 이상이 내가 '호불호가 강한 것은 좋다'라고 판단 내린 배경이다. 이 글을 읽는 분들도 유쾌하고 다채로운 삶을 영위하시기를 진심으로 바란다.