본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

Career

협업을 잘하는 개발자: 프로그래머가 아니라 문제 해결사

작성 2026. 10. 21.추가
목차10개 항목
출처와 참고

테오(teo)의 「협업을 잘하는 개발자가 되어보자 - 프로그래머가 아니라 문제 해결사가 되자!」(2023.10)를 중심으로, 「스프린트, 협업을 위한 장치 그리고 마인드」(2024.02)와 「if(kakao) after talk 후기」(2021.11)의 내용을 더해 요약·재구성한 노트다. 조건으로 답하기와 API로 백엔드와 소통하기는 「Frontend_TIL: 실력있는 프론트엔드 개발자」를 바탕으로 보강했다. 코드와 프로세스를 소통으로 보는 관점, 데이터와 반증, 지위 대신 결과는 InfoWorld의 「The Good Software Development Manifesto」(2017)를 바탕으로 더했다.

왜 개발자가 협업을 잘해야 하나

"개발을 잘한다"의 의미는 성장하면서 바뀐다.

단계잘한다의 기준부딪히는 벽
입문어떻게든 구현해 낸다규모가 커지면 내 코드에 발목 잡힌다
성장규모가 커져도 예측 가능한 속도를 내는 좋은 구조요구사항 변경과 일정 압박
실전구현·품질·시간을 다 지킨다셋 다 지키려면 나를 갈아 넣게 되고, 번아웃으로 끝난다

이 벽을 넘으며 알게 되는 사실이 있다. 시장은 개발자가 생각하는 것보다 코드 품질을 중요하게 보지 않는다. 사용자는 서비스가 jQuery로 만들어졌는지 보지 않고, 개발자도 라이브러리를 코드 품질로 고르지 않는다. 회사가 망하면 잘 짠 코드도 의미가 사라진다.

코드의 가치는 코드가 만들어 내는 가치로 정해진다. 개발자의 평가도 "어떻게"보다 "무엇을" 만들었는지로 정해진다.

그래도 품질은 방부제다

코드 품질이 무의미하다는 뜻은 아니다. 비즈니스가 성공해 규모와 복잡도가 커지면 품질이 다시 중요해진다. 방치한 코드는 스스로 낡고, 낡은 환경은 개발 속도와 동기를 함께 떨어뜨린다. 품질은 비즈니스 가치를 높이기보다 떨어지지 않게 지키는 방부제에 가깝다. 거꾸로 비즈니스가 커져야 새로운 기술적 도전도 생긴다. 둘은 배타적이지 않고, 상황에 맞는 균형점을 아는 것이 실력이다.

개발 직군만으로는 가치를 키우기 어렵다

개발에는 감점식 평가가 적용된다. 요구사항의 80%만 만들면 미완성이지만, 120%를 만들어도 초과분이 가치로 인정되지 않는다. 개발은 비즈니스 가치의 저점은 올리지만 고점은 올리기 어렵다. 기술이 가치의 핵심인 경우에도 그 기술을 상품으로 만드는 기획·브랜딩이 따로 필요하다.

그래서 사장과 개발자, 기획자와 개발자, 디자이너와 개발자가 다툰다. 최종 목표는 같지만 직군마다 1차로 중시하는 가치가 다르기 때문이다. 성과는 결국 우리의 성과로 평가되니, 남을 돕는 것이 곧 나를 돕는 일이다. 협업은 기획에 간섭하는 것이 아니라, 내 전문성으로 남의 전문성이 더 빛나게 돕는 것이다.

문제 해결사의 관점

개발자의 진짜 역할은 코드 작성이 아니라 문제 해결이다. 일정, 기술 부채, 사용자 니즈 파악, 팀원 간 소통까지 코드가 만드는 가치를 높이는 모든 일이 개발이다.

1. 본질을 찾는다

요구사항 뒤의 진짜 문제를 먼저 찾는다. 수하물 대기 민원은 대기 시간을 줄이는 대신 찾는 곳까지 걷는 거리를 늘려 체감 시간을 줄여도 풀린다. 요구사항을 문자 그대로 구현하는 것이 늘 최선은 아니고, 기획을 바꾸는 편이 쉬울 때가 많다.

2. 모순을 찾아 푼다

진짜 문제는 두 입장이 맞서 막혀 있는 곳에서 드러난다. "어떻게 하면 둘 다 만족시킬까"를 물으면 길이 보인다. 한쪽이 안 된다는 말을 받아들이는 순간 풀 수 없는 문제가 된다.

3. 함께 푼다

한 직군의 문제를 "우리 문제"로 보면 직군마다 조금씩 기여해 한 직군이 혼자 못 푸는 문제를 푼다. 느린 API라면 서버는 응답을 나눠 보내고, 클라이언트는 캐시와 낙관적 업데이트로 체감 속도를 올리고, 디자인은 그 과정이 어색해 보이지 않게 다듬는다. 개발 문제를 디자인이 풀고, 디자인 문제를 기획이 풀 수 있는 것이 협업이다.

커뮤니케이션 원칙

원칙내용
심리적 안전감 만들기내가 무슨 말을 해도 괜찮다는 믿음, 마음의 치안이다. 사적으로 친해지는 것도, 시키는 대로 하는 것도 아니다. 비난 없이 들어 줄 거라는 믿음이다
안 된다고만 말하지 않기비즈니스 가치에 관심 없이 구조와 일정만 내세워 "안 된다"를 반복하면 동료는 자기검열에 빠지고 개발자의 허락이 권력이 된다. 먼저 왜 해야 하는지 이해하고 대안을 함께 찾는다. 「한 달 안엔 안 된다」 대신 「석 달이면 된다」, 「이 범위를 빼면 된다」처럼 가능해지는 조건(기간·비용·범위)으로 답한다. 그래도 안 되면 귀찮음을 코드 구조 뒤에 숨긴 건 아닌지 먼저 점검한다
태스크를 "시킨 일"이 아니라 "우리 문제"로 보기태스크는 문제와 해결책을 한 묶음으로 만든 것일 뿐이다. 우리 문제라면 방법도 일정도 편하게 다시 논의할 수 있다
지식의 저주 경계하기상대도 내 배경을 알 거라 여기는 착각이다. "왜 이걸 모르지?"라는 생각이 들면 원인이 내 설명에 있지 않은지 본다
의도와 맥락을 담아 말하기무엇을 위해 말하는지(의도), 상대가 모를 수 있는 정보(맥락)를 함께 말한다. "그거 이번 주까지 돼요" 대신 "화면 공유 기능 구현은 이번 주 목요일까지 끝납니다"
설득이 아니라 주파수 맞추기내 생각을 관철하려 하지 말고 맥락 차이를 메운다. 같은 문제를 각자의 전문성으로 보면 새 해법이 나온다
코드도 사람에게 하는 말이다컴퓨터만 위한다면 바이트코드로 쓰면 된다. 고급 언어는 다음에 읽을 사람과 기계 사이의 타협이다. 콘웨이 법칙대로 소프트웨어는 팀의 소통 구조를 닮고, 프로세스는 그 소통의 구조다. 이륙 전 조종사·관제탑의 정해진 대화처럼, 좋은 프로세스는 중요한 확인을 빠뜨리지 않고 모두의 말이 들리게 만든다
데이터로 말하고 내 가정을 반증해 본다「이 방식이 낫다」는 믿음은 테스트·측정 데이터로 뒷받침한다. 내가 옳다는 증거보다 틀렸다는 증거를 같은 열의로 찾는다. 반증할 방법이 없는 주장은 좋은 가설이 아니다

디자이너와 일할 때도 같다. 구현이 어려워 보이는 디자인이라도 먼저 만들어 보여 주고 판단은 디자이너에게 맡긴다. 만들어 보지도 않고 안 된다고 하면 디자이너가 자기검열을 시작하고 품질이 떨어진다. 인터랙션은 말 대신 레퍼런스(가능하면 동작하는 CodePen)를 받고, 속도 같은 수치는 조절해 볼 수 있게 함께 전달한다. 완성해서 한 번에 보여 주기보다 꼭 필요한 부분부터 자주 보여 주면 피드백이 일찍 와서 고치기 쉽다.

백엔드와는 API의 입력과 출력으로 이야기한다. 화면을 만드는 쪽이 필요한 데이터를 가장 잘 알기 때문에, 프론트엔드가 요청·응답 모양의 초안을 먼저 내밀면 논의가 빨라진다. 프론트엔드가 갖출 백엔드 지식도 이 계약을 읽고 제안할 수 있는 정도면 출발점으로 충분하다(REST API 설계).

수평적인 팀에서의 태도

  • 수평은 균등이 아니다. 모두가 같은 권한을 갖는 것이 아니라 역할과 자율로 움직이는 것이다. 축구팀이 공격수와 수비수를 돌아가며 맡지 않듯, 잘하는 사람이 잘하는 역할을 맡게 돕는다. 결정권도 하나의 역할이다. 위임하는 법은 의사결정 체크리스트에 정리했다.
  • 지위가 아니라 결과와 역할로 본다. 계층이 깊거나 개발자 한 명에 상사가 여럿인 조직은 대개 관리자라는 지위를 원하는 마음이 만든다. 일을 되게 한 사람을 직함과 상관없이 먼저 인정한다. 출신·성별 같은 속성으로 누구에게서 배울지 고르면 내 성장의 폭만 줄어든다.
  • 수평적 조직이 더 쉬운 것은 아니다. 지시와 보고 대신 스스로 일을 찾고 변화를 공유해야 해서 능동과 책임이 더 요구된다.
  • 시작할 때 목표와 "나 사용설명서"를 공유한다. 팀의 목표, 개인의 목표(기술 경험, 창업, 포트폴리오), 강점과 약점을 미리 알면 나중에 생길 오해와 적응 기간이 줄어든다.
  • 옳음보다 친절을 고른다. 논쟁에서 진 사람은 다음에 말을 아끼고, 심리적 안전감이 깨진다.
  • 도움을 잘 받는 것도 역할이다. 실력이 부족하다고 느끼면 용기 내어 묻는다. 가르치는 사람에게도 성장 기회가 된다.
  • 감정은 표현 방식을 고를 수 있다. 참지는 않되 부정적 감정을 상대를 통제하는 수단으로 쓰지 않는다.
  • 열정의 크기를 강요하지 않는다. 사이드 프로젝트는 완성보다 좋은 사람과 함께하는 동력으로 쓴다. 이 업계는 좁고, 함께 일한 사람의 추천이 가장 좋은 이력이 된다.

정리

  • 개발자의 가치는 코드가 아니라 코드가 만드는 가치에서 나온다. 품질은 그 가치를 지키는 방부제다.
  • 개발만으로는 가치의 고점을 올리기 어렵다. 남을 돕는 것이 나를 돕는 일이다.
  • 문제는 본질을 찾고, 모순을 풀고, 우리 문제로 함께 푼다.
  • 심리적 안전감을 만들고, 의도와 맥락을 담아 말하고, 설득 대신 주파수를 맞춘다.
  • 프로그래머를 넘어 문제 해결사로 일하면 일 전체가 내 일이 된다.

관련 노트: 제품 중심 개발자, 회의 잘하는 법, 애자일과 스프린트, 리뷰 코멘트와 PR 소통, 페어 프로그래밍, 친절한 엔지니어링

원본 기록5

댓글

GitHub 계정으로 댓글을 남길 수 있어요.