TIL

[TheSoftwareCraftsman] 5장 '아니오'라고 말하는 방법 배우기

뱅타 2021. 10. 15. 18:17

Before we go further

회사에서 마음 맞는사람들끼리 북클럽을 만들어보자 제의를 했습니다. '우형'에서 추천도서 약 20권을 쉬운것부터 순서대로 읽고 해당 주제를 정해서 서로 의견을 나눠보기로 했습니다.

그리고 저 역시 해당 주제에 대해 정리하고 느낀 점들에 대해 적어볼까 합니다.

'아니오'라고 말하는 방법 배우기

보통 상급 개발자들은 계약 기간 내에 프로젝트를 끝내려ㅑ는 욕심에 의도적으로 무리하게 일정표를 만들어 개발자들을 밀어 붙인다.

만약 이런 무리한 요구에 굴복하고 일정 안에 해보겠다는 약속을 한다면 이에 따른 결과는 참혹하다.

정작 불가능한 것을 알면서도 그렇게 개발자들을 압박한 바로 그 상급 관리자 자신은 집에 일찍 들어가고 주말을 가족들과 즐긴다.

그러고는 모든 책임을 개발자들에게 뒤집어 씌운다. 능력이 부족해서, 더 열심히 일하지 않아서, 약속을 지키지 않아서.

재앙의 기억

프로젝트 메니저가 무리한 부탁을 요구한다면, 그리고 마케팅 사람들과의 미팅을 주선해주지 않는다면, 개발자들은 무엇을 해야할까.

교훈

모든 것이 끝난 뒤에 무슨 말을 하든 그저 공허한 푸념일 뿐. 프로페셔널한 개발자들은 이미 불가능하다고 알고 있는 것에 대해 '해보겠다'라고 말하지 않는다.

현실적으로 행동하고 프로젝트의 요구사항들을 들어 모든 기능을 구현하더라도 시스템이 다운되면 전혀 의미가 없다는 사실을 주위에 알려야 한다.

프로답게 행동하기

주어진 일정을 준수할 수 있을지에 대해 어느정도 자신감을 가지고 있는지 꾸준히 표명해야 한다. 자신감을 갖는다는 것은, 모든 기능이 테스트되고, 실제 사용 서비스와 최대한 비슷한 환경에서 충분히 검증된 상태로 소프트웨어가 전달되어야함을 의미한다.

'프로페셔널리즘'은 나 자신과 팀 동료들 그리고 관리자들과 고객들에게 정직함을 의미한다. 그러므로 불가능한 일을 '노력하겠다' 또는 '네'로 응답하면 안된다. 반드시 안되는 것은 '안된다, 할 수 없다'는 사실을 알려주어야 한다.

개발자들은 협상 기술을 익혀야 한다. 다툼을 피하지 말고 부딪혀서 어려운 결정을 내릴 수 있어야 한다. 우리가 정직하고 투명한 방법을 사용한다면 누군가 부당하게 피해를 입는 일 없이 팀 전체는 물론 회사에도 이득이 될 것이다.

  • 해당 주제를 읽고 나 자신을 되돌아 보게 되었습니다. 과연 지금의 나는 어떻게 하고 있을까. 지금의 저는 저자처럼 뛰어난 개발자가 아니라 주어진 업무를 해당 기간 내에 해낼 수 있는지 없는지조차 판단할 수 없고, 해당 업무를 보통 어느정도 시간에 걸려 해내는 지 조차 감이 잡히지 않는 상태입니다.
  • 하지만 그럼에도 주어진 업무들을 분석하고 특정 기능들을 구현해야 한다면 본인이 지금 그 기능을 구현할 수 있는 수준인지, 구현한다면 어느정도 시간이 걸릴 지, 등을 분석하여 지금 본인의 실력을 객관적으로 바라보고 평가할 수 있어야 한다는 생각이 들었습니다.
  • 아직 많은 글을 읽지는 않았지만 독서로 인해 스스로를 되돌아보고 계속해서 본인을 객관적으로 평가할 수 있도록 해야겠습니다.
728x90
반응형