wahoo9***
2024-05-25

더 나은 프로그래머로 거듭나는 법, 선배 개발자의 39가지 노하우 공개
현재 나는 부트캠프를 다니고 있는데, 여기서는 페어 프로그래밍을 진행한다. 두 명이서 같이 프로그래밍을 진행하다 보면, 어느정도 협업이 어떤 것인지 배울 수 있는 과정이라 생각하고, 소통을 원할히 할 수 있는 좋은 방법이라고 생각했다.
하지만 시간이 차츰 지나고, 페어 프로그래밍에 익숙해지며, ‘페어 프로그래밍’스럽지 않은 페어 프로그래밍을 하고 있다는 것을 이 책을 통해서 깨달았다.
코드에 정통한 누군가와 함께 일을 할 수 있다면 그 점을 활용하라.
질문하기를 주저하지 말라. 할 수 있다면 페어 프로그래밍을 하고, 자신의 작업을 검토해줄 것을 요청하라.
경험 많은 프로그래머에게 README 문서 리뷰를 요청하라. 이를 통해 자신의 지식이 얼마나 정확한지 확인할 수 있고, 새로 오는 사람들을 도울 수 있다.
페어 프로그래밍에 익숙해지며, 단순히 프로그램을 돌아가게 만들기 위해서 노력했었는데, 그 과정에서 굉장히 소홀히 했던 것 같다. 의논하면서 프로그래밍을 하는 것이 아니라, 각자 코드를 작성하는 부분을 나눠서 작성하듯이 말이다.
특히 ‘학습’이란 목표를 가지고 있으면서, 자기 만족을 위한 조금 더 예쁜, 멋진 코드를 작성하기 위해서 노력한다는 것은 목적에서 벗어난 행위가 아닌가 깨닫게 되었습니다.
어느정도 위 ‘페어 프로그래밍’과 연결되는 이야기이기도 합니다. 결국 우리는 시간에 쫓기며 살고 있으니깐요. 그게 혼자가 아니라 ‘함께’라면 시간 배분이 더욱 중요한 부분이 되겠죠.
제한된 시간이 있기 때문에, ‘완벽한 설계’와 ‘완벽한 코드’는 이상적인 이야기가 될 뿐이죠.
지나치게 많은 시간이 주어지면, 개발자들은 자신만의 엄청난 예술품을 만들려 할 수 있다. 언제나 준비만 될 뿐 결코 완전히 실현될 수 없는 예술품 말이다. 반면 약간의 압박은 놀라운 요소로 작용할 수 있는데, 긴박함을 인지함으로써 많은 일을 끝낼 수 있다. 하지만 시간이 너무 짧으면 적절한 설계가 어려워 날림으로 대충 만든 결과물을 얻을 수밖에 없다. 대도시가 그 적절한 사례이다.
훌륭한 프로그래머는 어느 정도는 위대한 예술가가 되어야 한다. 하지만 프로그래밍을 정말 예술이라고 부를 수 있을까? … 어떤 사람들은 중도적 입장에서 공예품 정도로 생각한다.
프로그래밍을 공부하기 전 상업적인 예술이라 할 수 있는 주얼리 공예를 했었던 사람으로써, 내가 프로그래밍을 하면서 느꼈던 동질감이 바로 이것인 것 같다. 상업적인 서비스를 만드느냐, 조금 더 발전적인 무언가를 만드느냐.
발전적인 프로그래밍을 하기 위해선 예술가적인 태도는 분명 필요하다. 하지만 우리에겐 한정적인 시간이 있고, 우리의 목표는 사용자들의 유용한 경험이란 것을 깨닫게 해주었다.
책을 읽으면서, 여타 다른 기술 개발 책들과 다르게, 에세이 형식으로 조금은 가볍게 읽을 수 있었던 책이었다. 특히나 나에게 와닿았던 이유는, 개발에서 개발기술의 역량이 차지하는 그렇게 크지 않다고 믿고, 오히려 협업 능력과 문제 해결 능력이 더욱 중요하다고 믿고 있기 때문인 것 같다.
지금 부트캠프를 다니면서, 기술적인 부분에 매몰되어 이런 본질을 놓치기 쉬운 환경에서, 이 책은 나에게 방향성을 잡아주었다.
그렇다고 해서 이 책이 단순히 추상적인 이야기들로 구성되어 있다고 생각하진 않는다. 챕터마다 수록된 질문들을 통해 추상적인 개념들을 스스로 구체화 할 수 있게 해주고 있다.
나에게 ‘더 나은 프로그래머가 되는 법’이란 책은 본질을 상기시켜준 책이라고 생각한다.
우리는 많은 사람들이 사용하길 바라는 ‘서비스’를 만든다. 우리의 목적은 코드를 잘 짜는 것이 아니다. 그걸 항상 명심하자!