실용주의 프로그래머 1장 - 고양이가 내 소스코드를 삼켰어요
《실용주의 프로그래머(The Pragmatic Programmer)》 1장을 읽고 정리한 내용입니다.
개발을 하다 보면 예상치 못한 문제가 터지기 마련이다. 심지어 최고의 프로젝트에서도 납품이 지연되거나 기술적 문제가 발생한다. 중요한 건 이런 상황에서 어떻게 대처하느냐다.
전문가다운 태도란?
개발자는 문제를 해결하는 사람이다. 변명으로 시간을 끌거나 책임을 회피하는 대신, 솔직하게 상황을 공유하고 해결책을 고민해야 한다. 예를 들어, "서버 장애 때문에 배포가 늦어졌습니다"라고 말하는 대신, "현재 서버 장애가 발생했으며, 복구를 위해 A와 B 작업을 진행 중입니다. 예상 완료 시간은 X시입니다"라고 말하는 것이 더 나은 접근 방식이다.
벤더(외부 업체)가 일정대로 결과물을 내놓지 못할 가능성이 있다면, 이에 대한 대비책(contingency plan)을 미리 세워야 한다. 만약 소스코드와 디스크가 망가졌는데 백업이 없다면, 그것은 불운이 아니라 철저한 관리 부실이다. 그때 가서 "고양이가 내 소스코드를 삼켰어요"라고 변명해도 아무도 책임져 주지 않는다.
문제가 발생했을 때의 태도
이 책에서는 문제가 발생했을 때 취할 수 있는 네 가지 행동을 제시한다.
잠깐 멈추고 자신의 목소리를 들어라.
→ 문제를 감정적으로 대응하기 전에 스스로 상황을 되짚어보자.머릿속에서 대화를 진행시켜보라.
→ "이 문제를 상사에게 보고해야 하는데, 어떻게 말해야 하지?"라고 미리 연습해보면 도움이 된다.변명 대신 제안을 제시하라.
→ "예기치 못한 에러가 발생했습니다"보다 "현재 문제를 해결하기 위해 A 방법을 시도 중이고, 추가적으로 B 방안을 고려하고 있습니다"가 더 신뢰를 준다.어설픈 변명을 늘어놓기 전에 변명거리를 없애도록 노력하라.
→ 근본적인 문제를 해결하지 않고 핑계를 대는 건 도움이 되지 않는다.
내 생각
이 부분을 읽으면서 '내가 서비스를 이용하는 입장이라면 어떨까?'라는 질문을 던져봤다.
예를 들어, 은행원이나 자동차 수리공이 내 앞에서 어설픈 변명을 늘어놓는다면? 신뢰가 떨어지고 다시는 그곳을 이용하고 싶지 않을 것이다. 고객의 입장에서는 결과가 중요하지, 내부 사정은 크게 중요하지 않다. 개발자로서도 마찬가지다. 사용자가 겪는 문제를 책임지고 해결하는 태도가 필요하다.
결국 중요한 건 변명이 아니라 해결책이다.
다음부터는 문제가 생겼을 때 순간적인 핑계부터 찾기보다, 먼저 해결 방안을 고민해 보는 습관을 들여야겠다. 😊
Top comments (0)