Golang과 개발문화의 상관성

Golang과 개발문화의 상관성

URL
 
Go의 가독성과 단순함은 개발 문화 개선에 도움을 줍니다. 개발자가 싫어하는 것 중 하나가 남이 짜놓은 코드를 이해하고 수정하는 것인데 이 부담을 줄여주기 때문입니다.
Go로 만들어진 오픈소스 프로젝트들이 같은 기능을 하는 다른 언어로 만들어진 오픈소스 프로젝트 보다 많은 PR 수를 갖는 것은 결코 우연이 아닙니다. Zookeeper와 etcd는 비슷한 기능을 하지만 etcd가 커뮤니티 기여 속에서 빠르게 안정성을 확보했습니다. Bazel 없는 C++ 프로젝트의 경우 빌드 설정부터 막혀 기여를 하지 못하는 경우도 많습니다.
마이크로서비스 구조에서는 큰 기능을 하나 만드려고 할 때 다른 팀들의 서비스에 기여해야 하는 일이 생깁니다. 이 때 처음 보는 코드가 봐도 모르겠는 코드인가 마음 먹으면 이해할 수 있는 코드인가는 개발자들의 멘탈 모델에 영향을 끼칩니다. 이해하기 쉬운 코드는 협업에서의 디펜던시를 줄이고 이는 능동적으로 업무를 진행하게 만들며 나아가 자기효능감을 줍니다.
꼭 Go가 아니어도 좋습니다. 쉽게 읽혀지는 코드, 예상하는대로 동작하는 코드, 테스트에서 구현자의 의도가 보이는 코드. 이것이 개발조직의 복잡도를 줄이는 첫걸음이며 Go는 이 의도에 부합합니다.
 
"For example, Annealing impacts a wide variety of teams and services meaning that we relied heavily on contributions across the company. The simplicity of Go made it possible for people outside our team to see why some part or another was not working for them, and often provide fixes or features themselves. This allowed us to quickly grow."