서론
2024는 가치관으로써의 성장이 엄청나게 커지게 되는 시기였습니다. 기술적인 성장은 작년에 비해 가파르게 성장하지 못했지만, 팀과 사람에 대한 가치관 정립이 뚜렷해졌습니다. 그래서 올해는 이런 가치관에 대한 것을 중점으로 소개해 보고자 합니다.
작년 목표 체크
작년에는 올해 크게 3가지 목표를 정했었는데요. 다행히도 모두 달성을 했습니다.
- 라이브러리
2023에서는 요구사항을 하나하나 구현하는 것에 집중을 했다면 2024에서는 최고의 효율과 선택으로 라이브러리를 사용하고 분석하는 것을 목표로 하였습니다. 그 결과 개인 라이브러리를 만들며 오픈소스에 기여할 수 있었고 이 과정에서 다른 사람의 오픈소스도 기여할 수 있었습니다.
- 블로그 홍보하기
링크드인에 홍보하기 시작했습니다. 생각보다 홍보 효과가 좋더라고요. 한번 홍보할 때마다 평균 조회수의 2배 이상 뛰어오르는 홍보 효과가 있었습니다. 또한 사용자 유지율이 늘었습니다. 검색으로 유입하는 사용자만 있었을 때보다 유지율이 4배 이상 많아진 것 같았습니다. 제 블로그를 보고 재방문하는 사람이 늘었다니 글을 좀 더 자주 써 봐야겠습니다.
- 면접 준비하기
6개월 회고에 나와 있듯이 올해 면접을 제 생각보다 많이 봤습니다. 내 생각과 기술을 표현하는 법을 배웠고 상당히 어렵다는 것도 알았습니다. 그에 따라서 어떻게 하면 내 생각을 그대로 전달해 줄지 고민하는 시기가 되었습니다.
수많은 실패
일단 가장 좋았던 것은 실패의 역치가 올랐다는 점입니다. 인생에서 가장 크게 실패해 본 지점 이전까지는 실패라고 잘 생각하지 않습니다. 그래서 지금의 실패는 나중에 있어서 2024도 잘 넘겼는데 지금도 잘 넘길 수 있다는 희망과 자신감을 갖출 수 있습니다.
만약 취직했었더라면 이토록 많은 사람과 만나지 못했을 것이고 올해와 같은 경험을 얻지 못했을 것입니다. 특히 실패했기 때문에 감정을 컨트롤하려고 이성적으로 행동을 하였고 그 결과 사람 관계에 대한 분석이 나왔다고 생각합니다.
올해의 경험
다양한 사람
외주와 활동을 하면서 매우 많은 사람과 작업을 했는데요. 여기서 의사소통과 다양한 사람의 인간상에 대해서 배웠습니다.
- 설득력이 강한 개발자
협상이나 일 분배 및 산정에 능한 분들이 계셨습니다. 업무 범위와 강도에 대해서 정확히 알고 PM과 협상하고 그것에 따른 이윤 추구를 능통하게 처리하였죠. 여기서는 내 업무 범위를 어떻게 측정해서 상대를 설득할 것인가에 대한 생각을 하게 해 주었고 어떤 점이 고려되어야 하는가에 대한 관점을 제공해 준 신호탄이 되었습니다. 실제로 해당 경험 덕분에 나중에 저만의 기준과 관점을 가지고 협상을 진행했던 일도 생겼습니다.
- 문제 A를 알려주면 문제 A와 연관된 문제까지 해결하는 사람
직군과 관계없이 문제 자체만 해결하게 되면 보통 나중에 가서 연관된 문제까지 발견되고 전달해 주어야 해서 매우 많은 의사소통 비용과 시간의 딜레이가 필요했습니다. 자칫 자주 반복이 되면 문제를 제보하는 입장에서는 똑같은 것을 또 알려줘야 해서 짜증 날 수 있는 상황도 있었습니다. 그런 사람들 사이에서 단편적인 문제를 넘어서 해결하는 사람은 굉장히 스페셜하게 느껴졌습니다.
프로젝트에 따라 저도 종종 이런 걸 못 볼 때가 있는데 제 생각으로는 프로젝트에 대한 애정과 작업의 이해도에 따라 생기는 일이라고 생각합니다. 제가 맡았던 프로젝트에서는 대부분의 팀원이 애정이 없어 추가적인 관심이 덜해지다 보니 생각만큼 문제를 깊게 보고 싶지 않았던 경우가 종종 있었습니다. 또한 작업을 너무 많이 맡고 있거나 작업에 대한 이해도가 부족할 때도 다음 단계를 보지 못해서 이런 문제가 생기기도 합니다.
하나 이상을 보는 시야가 중요하다고 생각하지만, 모든 것에 대해서 다 보는 것은 많은 시간과 에너지를 소모하게 되어 있다고 생각합니다. 이럴 때 중요한 것이 아키텍처링과 자동화라고 생각이 되었고 어떤 구조와 틀을 짤 것인가에 대한 고민이 필요하다고 생각했습니다.
- 말을 정말 구구절절 늘어놓는 사람
이거는 장단점이 정말 극 명확하게 갈렸습니다. 장점으로는 상대방을 존중하면서 부드럽게 표현하며 쓴소리나 자칫 기분이 나빠질 수 있는 소리여도 "젠틀한데?", "나쁘지 않은데?"라는 생각을 하게 해 주었습니다. 다만 단점으로는 단순히 팩트에 대한 내용 전달과 기술에 대한 생각을 전달할 때는 오히려 이해하기가 힘들어지는 특징이 있었습니다.
저는 간결하고 팩트만 전달하는 편이라 가끔 "너무 무섭다.", "말이 아프다." 이런 피드백을 들었던 적이 있는데 상황에 따라서 일부러 구구절절한 방법이 더 좋을 수도 있다는 게 인상 깊었습니다.
팀의 중요성
저는 팀의 분위기와 방향을 맞춰나가는 데 자신 있어 속도는 다를지언정 이때까지 팀 중에서 녹아있지 못했던 적이 없었습니다. 하지만 올해 팀에서는 이런 부분이 있었는데요. 아무리 프로젝트가 좋고 좋은 사람들이 있어도 나와 해당 팀과 안 맞는다면 일하기 힘들고 맞추는 데는 한계가 있다는 것을 깨닫게 되었습니다.
사소한 의사결정부터 중요한 일까지 제가 생각한 것과 너무 다르게 진행하고 거기서 오는 소외감과 충돌들이 많다 보니 에너지 소모를 너무 많이 해서 힘들어지게 되었습니다. 아무리 프로젝트가 좋던 사람 자체가 좋건 간에 이런 충돌 지점이나 팀원의 선택을 이해하지 못하고 예측할 수 없을 때 그 팀과의 결합이 깨지게 되는 것 같습니다. 프로젝트에서 감정과 체력을 소비량이 프로젝트 자체에 써야 하는데 팀원 간에 소모가 크기 때문에 즐겁게 진행하기가 힘들고 프로젝트 진행 또한 더뎌지게 되었죠.
신뢰 비용의 중요성
같은 실수를 해도 "실수할 수도 있지" 넘기는 사람과 "또 저러네" 라는 생각이 드는 사람은 서로 다릅니다. 전자의 경우는 더 챙겨주거나 저 사람이 이런 부분을 잘 놓치니까 팀원으로서 좀 더 주의 깊게 봐야겠다는 좋은 해결 방법들이 떠오르지만, 후자의 경우는 "왜 또 저러는 거지?" "일을 대충 하는 건가?" 등등 부정적인 말이 떠오릅니다.
이는 신뢰 비용의 차이라고 생각하는데요. 낮은 신뢰 비용은 의심의 싹을 불러일으키게 합니다. 이 부분 저 사람이 잘못해서 그런 거 아닐까? 또 잘못했겠지, 뭐 등등 내가 하는 작업과 그 사람이 하는 작업 사이에 연관 관계가 있을 때 불화가 시작됩니다. 나의 이런 태도는 상대방에게 내 신뢰 비용을 낮추는 행동이 됩니다. 서로의 신뢰는 하락하고 불화만 남는 팀이 되어버리죠.
제 경험상 신뢰 비용이 높을수록 서로를 믿고 자유롭게 진행할 수 있는 특징을 가지고 결과물 또한 좋았습니다. 반면에 신뢰 비용이 깨질수록 요구사항이 더 많아졌고 규칙과 강제성이 부여되는 환경과 서로 의심하는 환경이 되었습니다.
저는 이 신뢰 비용이 팀원에 대한 예측성에서 온다고 생각합니다. 저 사람이 어떻게 행동할 것인지 이해하면 그 사람의 다음 행동 또한 예측이 되어 안정감을 줄 수 있고 믿음을 줄 수 있다고 생각합니다. 그래서 신뢰 비용을 어떻게 주고받는지 어떻게 예측이 가능한 사람이 되는지 고민했었습니다. 저는 이것을 팀원의 사고 흐름의 예측으로 이해하고자 하였습니다.
상대방에게 신뢰 비용을 주기 위해서 소통 면에서는 어떤 의견이나 주장에 해당 생각이 나오게 되는 경위를 섞어서 의사소통하려고 노력하고 3가지 장점이 있었습니다.
- 팀원이 해당 문제를 생각하기 위한 배경을 제공할 수 있다.
- 팀원이 해당 문제를 생각했을 때 내가 생각한 해결 과정과 방법을 건너뛰고 생각할 수 있다.
- 팀원에게 내가 문제를 생각하는 방법에 대한 가치관을 전달할 수 있다.
신뢰 비용을 하락하지 않기 위해서는 자동화를 추가하는 방향으로 생각하였습니다. 내 작업을 자동으로 생성 및 설정하여 오류나 휴먼 오류에 대한 서로의 의심 실마리를 1도 남기지 않는 것입니다. 단순히 내 신뢰 비용 하락뿐만 아니라 팀원의 신뢰 비용까지 챙길 수 있는 좋은 방법이었습니다.
반대로 상대방의 신뢰를 사기 위해서는 상대 생각의 흐름을 읽고자 하였습니다. 과정이 부족하거나 이해가 안 되면 어떤 배경에서 설명한 것인지 그렇게 생각한 이유가 무엇인지 되물어 보았습니다. 상대방의 흐름을 예측해 상대방에 대한 이해를 더 잘할 수 있고, 운이 좋다면 거기서 내가 생각하지 못하던 관점 또한 얻을 수 있었습니다.
상황에 맞는 목표 설정과 실행
공부를 하면서 단 한 번도 목표를 잘못 세웠다 생각한 적이 없었습니다. 내가 가는 길이 내가 원하는 곳에 갈 수 있을 거라 확신하였고 올해 또한 마찬가지였습니다. 하지만 이렇게 많이 뭔가 잘 안 풀리는 것은 처음이었기에 당황스러웠습니다.
제가 본 사람들은 크게 세세하게 목표를 정해서 시간을 최대한 효율적으로 사용하려는 사람과 목표를 대충 잡고 당장 앞의 일을 해결하는 사람으로 나뉘었습니다. 방법마다 장단점이 있지만 저는 후자로 설정하기를 좋아했습니다. 어차피 목표는 계속 수정되어야 하고 세세하게 잡아봤자 지키지 못할 확률이 크다고 생각하였습니다. 일주일 단위의 목표를 잡고 일감을 나눠서 당장 해결할 수 있는 것을 토대로 진행해 나가는 게 더 좋다고 생각했습니다.
올해 이것이 빛을 발했습니다. 목표가 깨질 때가 많았는데 그럴 때마다 방향을 수정해야 했고 세세하게 일정이나 플랜을 세웠으면 오히려 일정 자체를 짜는 데 있어서 더 많은 시간과 이행의 불확실성이 커졌을 것입니다. 하지만 그러지 않았기 때문에 더 빠르게 조정하고 수정할 수 있었습니다.
추가로 일정 자체를 분류하는 방법도 수립했는데요. 저는 일정을 크게 5가지로 분류할 수 있었습니다. (해당 분류는 개발뿐만 아니라 일상적인 일정도 포함이 됩니다)
- 지금 당장 해야 하고 우선순위가 높은 것
- 지금은 할 수 없고 나중에 해야 하는데 빠르게 처리되어야 할 것
- 아무 때나 하기만 하면 되는 것
- 지금 할 수 있지만 효율이 나오지 않는 것
- 나중에 바뀔 수도 있는 것
내가 가지고 있는 분류된 일정을 조합함으로써 처리율을 높이는 방법으로 일정을 소화해 나갔습니다. 여기서 2, 5번이 가장 어려운 일정인데요. 2번이 많아지게 되면 지금 당장 할 일이 없지만 나중에 중요한 일이 한꺼번에 몰리는 현상이 생깁니다. 5번의 경우는 일정이 없을 수도 아니면 아주 큰 일정이 될 수도 있는 것이죠. 일정의 불확실성을 크게 하고 컨트롤하기 어렵게 만듭니다. 그래서 2, 5번의 일정은 내가 관리할 수 있는 선에서 최소한으로 챙겨가는 것이 중요합니다.
이런 일정 관리는 목표가 수정되거나 갑자기 큰 일정이 들어올 때 유용한데요. 내가 하지 못하는 일정을 팀원에게 전달하거나 일정 조정을 하는 것을 통해서 유연하게 대처할 수 있었고, 이는 개인 혹은 팀에서 빠르게 목표에 도달하게 하는 원동력이 됩니다.
좋았던 것
올해는 중간중간 정말 기쁘고 좋았던 이벤트들이 있어서 버틸 수 있는 큰 힘이 되지 않았나, 생각해 봅니다.
첫 번째로는 제 글과 깃허브 이력서를 보고 고민 상담을 요청한 것이었습니다. 내가 가고자 하는 길과 경험을 공유하는 게 남들에 있어서 귀감이 되는구나 뿌듯함을 느꼈고 더 잘해야겠다는 다짐을 얻으며 버틸 수 있었습니다.
두 번째로는 직접 사용자에게 연락이 온 것입니다. 작년에 진행했던 곰터뷰라는 프로젝트가 거의 1년간 방치가 되는 상황에서 개인 이메일로 서비스에 대한 질문이 오게 됩니다. 사실 저도 해당 프로젝트의 사용자가 없을 것으로 생각하고 있었고 신경 쓰지도 않았는데 메일을 받고 나니까 기분이 굉장히 좋으면서 내가 왜 개발자가 되고자 하였는지 되새기게 해 주었습니다. 나는 프러덕트 개발자인데 외주하고, 기술적인 것만 공부하고 있으니 하기 싫고 재미가 없었고 고통받기만 했었던 것이었죠.
세 번째로는 돈이 생긴 것입니다. 취업 준비로 남은 돈을 전부 탕진하고 다시 취업 준비를 위한 발판을 마련했습니다. 큰 액수는 아니지만 돈에 대한 강박이 사라졌습니다. 확실히 내가 생각하는 최소한의 경제적 여유가 있어야 긍정적이고 여유로운 사고가 나오는 것 같습니다.
내년 목표
- 취업
이제는 진짜 취업해야 합니다. 제가 원하는 개발자의 삶을 살아가기 위해서는 취업이 꼭 필요합니다. 좋은 동료와 좋은 환경에서의 프러덕트 개발은 정말 재미있었고 앞으로도 재미있을 것 같습니다.
- 곰터뷰2 출시
위에 글에서 있듯이 사용자에게 연락을 받은 그 액션 하나가 저를 바꾸게 했습니다. 내가 진짜 하고 싶은 개발과 프러덕트 적 사고 그것이 하고 싶어 취업을 원했고 올해 목표 중 하나가 프러덕트 적 사고를 하는 열정 있는 팀 찾기였는데 실패하였죠. 하지만 프러덕트 적 사고는 하고 싶고 그것이 개발의 원동력이 되었기 때문에 혼자라도 진행할 생각입니다.