NEWBLUE's

프로답게 일하고 있나요? - 클린 코더 리뷰 본문

새파란 데이터 이야기

프로답게 일하고 있나요? - 클린 코더 리뷰

newblue 2021. 11. 6. 18:13
반응형

 

 

클린 코더 - YES24

세계적으로 유명한 프로그래머 `밥 아저씨` 로버트 마틴이 쓴 책으로, 프로 개발자가 되는 길을 알려준다. 수십 년의 경험을 바탕으로 장인 정신, 실천 기법, 도구뿐만 아니라 프로가 가져야 할

www.yes24.com

클린 시리즈로 유명한 로버트 마틴의 클린 코더를 읽었다.

여러분은 매일 연습하고 계신가요?

 

책 34페이지에 나오는 대로

  • 소프트웨어 프로는 무엇인가?
  • 프로는 어떻게 행동해야 하는가?
  • 프로는 어떻게 사람들 사이의 대립, 빡빡한 일정, 불합리한 관리자를 감당해 내는가?
  • 프로는 언제, 어떻게 '아니요'라고 말해야 하는가?
  • 프로는 어떻게 주위의 압박을 처리하는가?

 

에 관해서 다양한 주제와 함께 내용들이 나와 있다. 당연히 사람마다 환경마다, 그리고 상황마다 다르니 정답은 없겠지만 한 번쯤 읽어보면 좋을 내용들이 가득했다. 

저자는 1970년(!)부터 프로그래머 경력을 시작한 정말 산전수전 다 겪은 개발자이다. 윈도우와 맥이 생기기 전에 개발을 시작했다(!!) 1달 걸린다고 한 일이 3달이나 걸리자 만취한 뒤 상사에게 자신을 어떻게 생각하는지 물어보기도 하고, 젊은 패기로 '개발만 잘하면 되지 근태관리나 다른 사람들과의 약속이 중요해?'라고 생각하다가 해고당한 적도 있다. 잘못된 상태로 주 80시간씩 오래 일하다가 거울에 비친 자신의 모습을 보고 퇴사를 결심하고, 현재는 컨설팅의 길로 들어섰다. (그래서인지 처음부터 끝까지 강력한 어조가 느껴지는데, 알아서 필요한 부분만 수용하면 될 것 같다ㅎㅎ)

 

당신은 프로인가요?

프로란 다른 사람들에게 피해를 끼치지 않아야 한다. (p49)
자신의 경력은 자신이 책임져야 한다. (p55)

 

1장에서 인상 깊었던 두 문장이었다. 사실 읽어보면 '그럼~'하고 당연한 말이 많지만, 매일 업무 하는 입장에서 과연 그 당연한 사실들을 100% 완벽하게 지키고 있냐 묻는다면...... (중략) 

'바쁘니깐', '귀찮은데', '좋은 게 좋은 거지'라는 말들이 머릿속에 찾아올 때마다 이 장을 읽으면 정신이 번쩍번쩍 들 것 같다. 어쨌든 나도 회사는 배우거나 성장하는 게 가장 중요한 게 아니라, 결국 일하는 게 중요한 곳이라고 생각하기 때문이다. (물론 개인 입장에서는 최대한 같이 할 수 있는 방식을 찾는 게 좋겠지만)

 

동료와 프로처럼 대화하기 (아니라고/예라고 말하기)

"한다, 하지 않는다 둘 뿐이야. 해본다는 말은 없어" (p63, 요다 인용을 재인용)
노예들에겐 아니라는 말이 허락되지 않는다. 단순 일꾼들은 아니라고 말하길 꺼린다. 하지만 프로는 아니라고 말해야 마땅하다 (p66)

프로는 모든 업무 요청에 예라고 대답할 필요가 없다. 하지만 "예"라고 대답할 수 있는 창의적인 방법을 찾는 데 고심해야 한다. 프로가 예라고 대답할 때는 약속을 뜻하는 언어를 사용해서 내뱉은 말에 모호한 부분이 없도록 해야 한다. (p103)

 

'해볼게요'라는 말을 쓴 적이 있기에 살짝 찔리긴 했다.

저자가 생각하는 이상적으로 동료와 의사소통하는 방식이 인상적이었다. 과연 책임질 수 있는 말만 하고 있는지, '노오력'해보겠다는 말을 자주 하진 않는지, 문제가 생길 때 다른 사람의 도움을 얻어서라도 기꺼이 해결할 수 있는 용기가 있는지, 나의 말의 무게는 어떠한지, 반대로 함께 일하는 동료들의 말의 무게는 어떠한지 돌아볼 수 있는 내용들이었다.

 

매일 연습하고 있나요? 어떻게 하고 있나요?

피아니스트는 아마 매일 피아노를 칠 것이다. 운동선수도 마찬가지로 매일 자신의 종목을 연습한다. 그렇다면 프로그래머는? 역시나 저자는 회의에 앉아있는 것과, 단발성으로 처리하는 업무 말고도 생산적인 그 무엇인가를 계속해야 한다고 말한다. 

개발자마다 요즘은 다 세부 분야가 있기에 구체적인 방법은 다르겠지만, 어쨌든 큰 결은 비슷할 것이다. 원칙을 세우고, 자신만의 작은 성공들을 조금씩 만들어 나가는 것. 사실 개발뿐만 아니라 모든 분야에 적용되는 일일지도 모르겠다.

페어 프로그래밍과 테스트 주도 개발에 대한 사랑을 계속 느낄 수 있어 흥미로웠다. (동시에 코드 리뷰가 아닌, 페어 프로그래밍을 실제로 하는 회사가 있을지는 궁금해졌다.) 

 

여러분의 팀은 프로들이 모여있나요? 아닌가요?

 

처음에 확실하지 않으면, 끝까지 확실하지 않다

 

의견 불일치를 해결하기보다는 매끄러운 말솜씨로 우회하는 게 더 쉽다는 것을 알게 된다. (p153)
서로에게 말없이 손만 흔든 다음 상대방이 이해했을 거라 가정해 버리면 일은 너무 쉬워진다. 양 당사자들이 완전히 다른 개념으로 이해하고 헤어지는 경우가 너무 흔하다. (p169)

 

사실 업무에 국한된 내용은 아니겠지만, 타인이 전하고자 하는 내용을 100% 온전히 이해하는 건 쉬운 일이 아님을 늘 깨닫는다. 특히 요즘같이 비대면으로 업무가 진행될 때는 더더욱 말 한마디를 잘못 이해하면 큰 오해를 일으킬 수 있다. (물론 비대면과 비동기로 진행되기에 문서화에 대한 관심이 늘어날 수밖에 없다는 사실은 좋다고 여겨진다. 오히려좋아)

그래서 저자는 모호함이 생기지 않도록, 시간 관리, 업무 범위 등 모든 범위에 대해 '확실하게' 정하라고 권한다.

 

시간관리와 추정, 약속, 압박

회의는 필요하다. 하지만 회의는 엄청난 시간낭비다. (p 180)
"어떤 논쟁이든 5분 안에 해결되지 않으면 논쟁으로 해결할 수 없다" (p 184, 켄트 벡 인용을 재인용)
프로라면 언제나 사업부를 도와 목표를 달성하는 법을 찾아내야 한다. 하지만 프로는 사업부에서 멋대로 한 약속은 받아들이지 않아도 된다. (p212)

 

요즘 회의가 많아져서 열심히 '회의를 제대로 합시다. 우선 목표 회의시간부터 줄입시다.'라는 뉘앙스와 함께 주장하고 있기에 반가운 내용이었다. 업무 추정과 관련돼서 낙관적/명목/비관적 추정 값을 구해서 예상시간을 계산하는 PERT라는 걸 처음 접했는데 인상적이었다. (물론 바로 적용해볼진 모르겠지만) 

저자가 포모도로를 언급했기에 취준생 효율적인 시간관리 글에서 언급했던 '나무를 심는' 일이 생각이 났다. 요즘 약간 시간관리가 루즈하다고 느낀 적이 종종 있는데, 어쩌면 다시 나무를 제대로 심을때가 왔을지도 모르겠다.

결국 '자신의 커리어 만큼이나 자신의 말과 건강과 시간을 잘 관리하는게 중요하다. 스스로를 한번 돌아보세요'가 저자가 하고 싶은 말이 아닐지. (억지해석)

 

언젠간 프로가 되기를 바라며

이밖에도 구체적인 테스트와 관련된 내용이나 팀, 프로젝트, 저자가 생각하는 함께 일하는 방식과 장인 정신에 관련된 내용이 있었다. 사실 구체적인 내용보단, 현재 일하는 방식이 최선인지에 대해 계속 돌아보게 돼서 오히려 더 좋았던 책이었다. 

'프로다운 팀에서 프로다운 방식으로 일하고 있나?'는 질문에 확실하게 '네. 그럼요. 저는 함께 일하는 동료와 방식을 신뢰하고, 나중에 다시 다른 곳에서 만나도 프로답게 다시 일할 수 있을 것 같아요. 매일 제 시간과 커리어를 관리하면서 의미 있게 일하고 있어요. 어제의 저보다 오늘의 저는 조금 더 성장했으며, 1년 전의 저와 현재 저는 놀라울 정도로 발전했습니다.'라고 대답하긴 어려울 것 같지만, 언젠간 그런 날이 오기를 기대해본다. 

 

 

클린 코더 - YES24

세계적으로 유명한 프로그래머 `밥 아저씨` 로버트 마틴이 쓴 책으로, 프로 개발자가 되는 길을 알려준다. 수십 년의 경험을 바탕으로 장인 정신, 실천 기법, 도구뿐만 아니라 프로가 가져야 할

www.yes24.com

 

새파란 데이터 이야기 리뷰 예정 도서 목록

 

새파란 데이터 이야기 도서 목록

상황에 따라 자유롭게 변경될 수 있습니다 🙂

newwhite.notion.site

 

 

(본 게시물의 링크로 도서를 구매하시게 되면 yes24로부터 소정의 커미션을 지급받을 수 있습니다. 특정 출판사의 책 광고는 아니니 안심하셔도 됩니다:D )

반응형