본문 바로가기
Book & Lesson

[책] 더 나은 프로그래머 되는법 Part5. 사람의 일

by 카프리썬_ 2024. 5. 16.
728x90
728x90

 

아래 글은 <더 나은 프로그래머 되는법>을 읽고 요약한 내용이며 개인적인 생각이 담겨있습니다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


    Ch34. 사람의 힘

    프로그래밍은 사람이 하는 일이다.

    훌륭한 프로그래머들 주변에 의도적으로 머물러라.

    이런 환경에 스스로를 담금으로서 다음과 같은 결과물을 얻을수 있다. 

    - 확산되는 열정

    - 영감을 주는 동기부여

    - 전염되는 책임감 

     

    배우고 싶은 코딩영웅을 찾아내고, 그들과 함께 일할 계획을 세워라. 

     

    Ch35. 생각의 중요하다

    의무감은 코드 품질과 직접적으로 관련이 있다.

    다른 프로그래머에 대한 의무감을 가지면 코드품질을 환상적으로 높일수 있다. 

     

    의무감을 부여하는 방법.

    코드리뷰. 좋은코드를 짜고싶은마음이 더 커진다.

    코드를 두명 이상 검수한 후에 소스관리도 도구에 체크인하는 것이다. 

    서로에게 의무감을 갖기 위한 우리 스스로의 결정이다. 개발자들의 동의가 핵심이다. 

     

    개잘자로써 의무감을 불어넣는 과정에서 자신이 목표로하는 기준을 생각해봐라. 

    - 작동하면 그걸로 충분하다

    - 빠르게 작성했고, 일정에 맞춰서 출시했다.

    -제대로 작성했고, 이후에 쉽게 유지보수할수 있다.

    -위 항목중 몇가지의 조합 

     

    개발자로써의 의무감, 나는 어느정도의 기준을 가지고 있는지 반성하게 되었다.
    그저 '요구사항에 맞게 작동하도록 개발완료'만으로도 만족하고 있기 때문이다.
    일정에 보다 빠르게는 바라지도 않고, 
    유지보수 하기 쉬운 구조 또한 어림도 없다.
    그저 작동하기만 하면 충분했다...

     

    Ch36. 말하기

    모든 부분에서 의사소통과 관련이 있다.

    의사소통의 품질에 따라 성공과 실패가 결정된다해도 과언이 아니다. 

     

    코드를 작성하는 행위야말로 의사소통의 한 형태이다.

    코드를 작성한다는 것은 곧 컴퓨터와 대화한다는 뜻이다. 

    명확하고 애매모호함이 없어야만 의도대로 명령이 수행될 것이다. 

     

    코드는 다른사람들과의 대화이기도 하다.

    협업하는 사람, 코드를 리뷰하는 사람들과의 대화이다. 

    자신의 의도를 명확하게 전달하는 코드, 알기 쉬운 코드를 작성해야한다. 

    좋은 코드에는 읽기 어려운 부분이 없다. 

    더 많은 주식을 단다고 반드시 코드가 더 나아지는것은 아니다.

    의사소통에 충실한 코드는 추가적인 주석이 필요없다. 

     

    높은 품질의 프로그래머는 곧 높은 품질의 의사소통자이다.

    다른사람과 이야기하기 위해서 메세지를 작성해야한다. 

     

    의사소통은 팀워크를 부드럽게 만드는 윤활유이다.

    다른사람들과 대화없이 일한다는것은 원천적으로 불가능하다. 

    좋은 의사소통에 의해 좋은 코드가 만들어진다. 의사소통의 형태가 코드의 형태를 만든다.

    다른사람에게 솔직하고 건전한 태도로 이야기해야만 효과적인 팀워크를 이끌수 있다.

     

    개발자는 고객이 원하는 바를 이해해야한다.

    요구사항을 확인하기 위해 그들의 언어로 작업해야한다.

     

    의사소통이 정말 중요하다는걸 매번 느낀다. 나도 늘 배운다.
    내가 이해한게 맞는지 확인해야하고, 내 의도대로 그쪽이 이해한건지도 확인해야한다.
    서로 알고 있는게 다를때
    오해가 생기기 마련이다.
    의사소통이 잘 이루어지지 않는다면, 전달하는 쪽에서 부족했을 확률이 더 크다고 생각한다. 
    누군가와 대화를 할때 '왜 이사람은 왜이렇게 이해를 못하지? 왜이렇게 못알아듣지?' 라고 생각하지 말고
    내가 더 배려하고 상대가 어디까지 알고 있는지 더 생각해서 잘 전달하자.

     

    Ch37. 선언문

    애자일 선언문

    장인정신 선언문

    GNU 선언문

    리팩토링 선언문

    해커 선언문

     

    훌륭한 개발자는 자신의 일에 열정적이다. 

    자신이 하고 있는 일에 몰두하고 지속적으로 나아지려고 노력한다. 

    이걸 잘 작용하려고 하고, 이러한 집합을 찾아서 한데 모으려고 하고, 다른사람들과 공유하여 개발자 직업을 향샹시키려한다.

    이것을 선언문이라 일컫는게 유행이 되었다. 

     

    필자의 선언문

    - 코드에 신경써라

    - 간결함을 유지하라

    -팀의 힘을 키워라.

    -머리를 써라

    -그 무엇도 고정된 것은 없다.

    - 꾸준히 배워라.

    - 나아질 방향을 꾸준히 모색해라

    - 언제나 가치를 전달하려 애써라. 길게 볼수있도록 해봐라.

     

    Ch38. 코드찬가

    무신경한 코더 동료들이 자신을 절망에 빠드리는 상황에서도 주의깊게 반응해야한다. 

    유일하면서도 적절한 방법은 숨겨진 분노와 마음을 적절한 수준까지만 품어라.

     

    보통 사람의 문제다. 잘못하는 팀원을 확실하게 골라내는 행위가 부적절한건 동의한다.

    만약 개발자가 상황을 더 악화시키고 있음 이해하지 못하면, 반드시 반응을 해주어야한다. 

     

    나아가 자신이 훌륭한 실례로써 선보여라. 나쁜습관에 빠져들지 않도록 하라. 

    자칫 잘못하면 열정을 잃어버리기 쉽지만, 그들을 물리칠수 없다면 어울리지 않도록 하라. 

    자신만이라도 건전한 태도를 유지하라. 나쁜습성을 흡수하지 않도록 주의하라.

     

    나쁜건 금방 물든다. 최대한 거리를 두자. 
    끝이 좋아야 좋은거다.
    운동도 시작할땐 힘들지만 끝나고 나면 좋은것처럼 
    일도, 사람도 끝이 좋은게 좋은거다.

     

    Ch39. 태도가 핵심이다

    아무리 기술에 대한 이해를 얻었다고 해도, 프로그래밍을 잘하고자 하는 소망과 열정을 갖추고 있지 않다면 소용이 없다.  

     

    좋은 개발자와 나쁜 개발자를 구분하는 요소는 '태도'이다.

    태도는 기술적인 부분을 넘어선다. 

    당신의 코드가 좋은것인지, 함께 일하기 좋은사람인지를 결정하는 기준은 당신의 태도이다.

     

    비행기의 코드가 접근 각도를 정의한다면, 프로그래머의 태도는 코딩에 대한 접근각도를 정의한다.

    기술적으로 아무리 경쟁력 있는 프로그래머라해도 건전한 태도를 바탕으로 하지 않는다면 좋은결과물을 기대하기 어렵다. 

    잘못된 태도탓에 잘못된 방향으로 나아갈수도 있다. 

    그래서 적절한 각도를 유지하는게 중요하다. 

     

    당신의 태도가 당신이 프로그래머로써 얼마나 나아갈수 있는지 결정한다. 

    더 나은 프로그래머가 되고 싶다면 나은 태도를 목표하라.

    728x90
    반응형