👨🏻‍💻

남현우 CTO가 말하는 그린랩스 개발언어

"그린랩스에서는 ReScript와 Clojure로 개발을 한다고 들었습니다."

그린랩스에서 사용하는 프로그래밍 언어는 개발자들 사이에서도 다소 생소한 언어로 알려져 있습니다. 그린랩스는 왜 이렇게 낯선 개발 언어를 채택하게 된 걸까요?
Untitled.png
그린랩스 CTO 남현우님
ReScript와 Clojure를 선택하신 이유가 무엇인가요?
여느 회사들과 마찬가지로 그린랩스도 채용을 신중하게 하는 편이라, 많은 분들을 빠르게 모셔오지는 못하고 있습니다. 그러다보니 기존에 있는 구성원들의 생산성을 극대화 할 필요성을 느꼈고, 개발 언어의 선택은 생산성 향상에 큰 도움을 줄 것이라고 생각해 도입하게 되었습니다.
특정한 부류의 문제를 잘 해결하기 위해 선택한 것은 아닙니다. 데이터 처리부터 백엔드 로직, UI를 다루는 프론트엔드 개발에 이르기까지 광범위하게 잘 동작하는 패러다임이라고 생각했기 때문입니다.
ReScript는 OCaml에 기반한 강력하고 정적인 함수형 언어이고, Clojure는 Lisp에 기반한 극도로 유연한 함수형 언어입니다.
그렇다면 남현우 CTO님이 생각하시는 위 언어들의 장점은 어떤 것이 있을까요?
제 경험상 세 가지가 좋았습니다.
먼저 표현력이 풍부해집니다. 표현력이 풍부할수록 도메인의 요구사항을 "문자 그대로" 표현하는 것이 가능해지는데요, 이는 결과적으로 팀원들이 서로의 코드를 이해하기 위해 들이는 노력을 덜어줍니다.
두 번째로 컴파일 타임의 안정성입니다. 예전에는 코드 리뷰를 할 때, 코드의 모든 제어 경로에서 예외처리가 잘 되고 있는지를 꼼꼼히 살펴보곤 했습니다. 하지만 리스크립트에서는 이러한 일을 모두 컴파일러가 대신해줍니다. 결과적으로 엄청난 시간을 절약할 수 있을 뿐더러, 런타임 에러가 거의 발생하지 않게됩니다.
마지막으로 훨씬 재밌습니다. 공부할 거리는 많지만요.
그렇다면 반대로 어떤 단점이 있다고 생각하시나요?
학습 비용이 상대적으로 많이 들고, 구직자의 풀이 적기 때문에 채용이 어렵습니다. 또한 코드를 적당히 작성하기 어렵기 때문에, 간단한 결과물도 쉽게 만들지 못하는 점이 단점이 되기도 합니다.
하지만 그린랩스는 회사 차원의 적절한 지원을 통해 이러한 단점을 충분히 극복할 수 있다고 생각했습니다. 구직자 풀은 적극적인 외부 활동을 통해 직접 확장하고, 가파른 러닝 커브는 체계적인 온보딩 프로그램을 통해 완만하게 만들 수 있습니다.
그렇게만 된다면 장기적으로 더 높은 생산성을 내는 개발팀이 된다고 믿습니다. 실제로, 이제 반년이 넘어가는 저희의 실험 결과는 매우 긍정적입니다.
함수형 프로그래밍이 낯선 분들을 위해 개발팀에서는 자체적으로 "온보딩 프로그램🏋🏻‍♂️"도 운영하고 있습니다.
ReScript가 낯선 분들을 위해 공식 홈페이지를 "직접 번역하는 프로젝트"도 진행하고 있습니다.
Made with 💕 and Oopy