[기술 서적] 더 나은 프로그래머 되는 법

 

1️⃣ 페어 프로그래밍

현재 나는 부트캠프를 다니고 있는데, 여기서는 페어 프로그래밍을 진행한다. 두 명이서 같이 프로그래밍을 진행하다 보면, 어느정도 협업이 어떤 것인지 배울 수 있는 과정이라 생각하고, 소통을 원할히 할 수 있는 좋은 방법이라고 생각했다.

하지만 시간이 차츰 지나고, 페어 프로그래밍에 익숙해지며, ‘페어 프로그래밍’스럽지 않은 페어 프로그래밍을 하고 있다는 것을 이 책을 통해서 깨달았다.

코드에 정통한 누군가와 함께 일을 할 수 있다면 그 점을 활용하라.

질문하기를 주저하지 말라. 할 수 있다면 페어 프로그래밍을 하고, 자신의 작업을 검토해줄 것을 요청하라.

경험 많은 프로그래머에게 README 문서 리뷰를 요청하라. 이를 통해 자신의 지식이 얼마나 정확한지 확인할 수 있고, 새로 오는 사람들을 도울 수 있다.

 

페어 프로그래밍에 익숙해지며, 단순히 프로그램을 돌아가게 만들기 위해서 노력했었는데, 그 과정에서 굉장히 소홀히 했던 것 같다. 의논하면서 프로그래밍을 하는 것이 아니라, 각자 코드를 작성하는 부분을 나눠서 작성하듯이 말이다.

특히 ‘학습’이란 목표를 가지고 있으면서, 자기 만족을 위한 조금 더 예쁜, 멋진 코드를 작성하기 위해서 노력한다는 것은 목적에서 벗어난 행위가 아닌가 깨닫게 되었습니다.

2️⃣ 설계를 위한 시간

어느정도 위 ‘페어 프로그래밍’과 연결되는 이야기이기도 합니다. 결국 우리는 시간에 쫓기며 살고 있으니깐요. 그게 혼자가 아니라 ‘함께’라면 시간 배분이 더욱 중요한 부분이 되겠죠.

제한된 시간이 있기 때문에, ‘완벽한 설계’와 ‘완벽한 코드’는 이상적인 이야기가 될 뿐이죠.

지나치게 많은 시간이 주어지면, 개발자들은 자신만의 엄청난 예술품을 만들려 할 수 있다. 언제나 준비만 될 뿐 결코 완전히 실현될 수 없는 예술품 말이다. 반면 약간의 압박은 놀라운 요소로 작용할 수 있는데, 긴박함을 인지함으로써 많은 일을 끝낼 수 있다. 하지만 시간이 너무 짧으면 적절한 설계가 어려워 날림으로 대충 만든 결과물을 얻을 수밖에 없다. 대도시가 그 적절한 사례이다.

훌륭한 프로그래머는 어느 정도는 위대한 예술가가 되어야 한다. 하지만 프로그래밍을 정말 예술이라고 부를 수 있을까? … 어떤 사람들은 중도적 입장에서 공예품 정도로 생각한다.

 

프로그래밍을 공부하기 전 상업적인 예술이라 할 수 있는 주얼리 공예를 했었던 사람으로써, 내가 프로그래밍을 하면서 느꼈던 동질감이 바로 이것인 것 같다. 상업적인 서비스를 만드느냐, 조금 더 발전적인 무언가를 만드느냐.

발전적인 프로그래밍을 하기 위해선 예술가적인 태도는 분명 필요하다. 하지만 우리에겐 한정적인 시간이 있고, 우리의 목표는 사용자들의 유용한 경험이란 것을 깨닫게 해주었다.

❗️이 책에서 좋았던 점.

책을 읽으면서, 여타 다른 기술 개발 책들과 다르게, 에세이 형식으로 조금은 가볍게 읽을 수 있었던 책이었다. 특히나 나에게 와닿았던 이유는, 개발에서 개발기술의 역량이 차지하는 크기가 그렇게 크지 않다고 믿고, 오히려 협업 능력과 문제 해결 능력이 더욱 중요하다고 믿고 있기 때문인 것 같다.

 

지금 부트캠프를 다니면서, 기술적인 부분에 매몰되어 이런 본질을 놓치기 쉬운 환경에서, 이 책은 나에게 방향성을 잡아주었다.

그렇다고 해서 이 책이 단순히 추상적인 이야기들로 구성되어 있다고 생각하진 않는다. 챕터마다 수록된 질문들을 통해 추상적인 개념들을 스스로 구체화 할 수 있게 해주고 있다.

 

나에게 ‘더 나은 프로그래머가 되는 법’이란 책은 본질을 상기시켜준 책이라고 생각한다.

우리는 많은 사람들이 사용하길 바라는 ‘서비스’를 만든다. 우리의 목적은 코드를 잘 짜는 것이 아니다. 그걸 항상 명심하자!

 

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