🌸

제품개발본부 양성민님

맡고 계신 직무에 대해 간단히 소개 부탁 드립니다.
팜모닝 서비스 백엔드 개발을 하고 있습니다. 최근에는 백엔드 리딩을 맡게 되어서 매니저 역할도 조금씩 하고 있습니다.
그린랩스 오기 전에는 어떤 일을 하셨나요? 그리고 그린랩스에 오셔서 달라진 점이 있나요?
자율 비행 드론을 서비스하는 스타트업에 초기에 합류해서 3년 간 일했습니다. 회사가 빠르게 성장하면서 개발자가 많이 늘어나니 점점 매니저 역할의 비중이 높아졌어요. 반면에 그린랩스에서는 매니저가 해야 할 일을 HR/리크루팅팀 등 여러 팀에서 도와주십니다. 그래서 보다 기술적인 부분에 집중할 수 있습니다. 기술에 대해서 동료들과 함께 공부하고, 치열하게 토론하는 과정에서 좋은 품질의 소프트웨어란 어떻게 만들어 지는 것인지 점점 깨닫고 있습니다.🙂
업무 루틴(하루 일과)을 알려주세요.
하루 일과는 개발, 미팅, 코드리뷰, 개발 스터디 정도로 볼 수 있을 것 같습니다. 코드 리뷰는 다른 회사들도 많이 하고 있기는 하지만, 그린랩스에서는 특히 꼼꼼히 합니다. 항상 함수형이라는 기준을 세워서 그 관점에서 나아질 수 있도록 시간을 투자해서 진행하고 있습니다.
그린랩스에서 제품개발본부는 어떤 역할을 하나요?
농업 분야의 혁신을 위해서 개발할 것이 정말 많습니다. 웹/앱/내부 어드민 툴 등 농민 및 내부 직원들이 사용하는 소프트웨어를 전방위적으로 개발하는 일을 합니다. 본부 대부분의 역량을 그 시기에 가장 중요한 프로젝트에 투입되어서 개발하는데 사용합니다. 회사가 빠르게 성장하는 만큼 자동화가 필요하고, 농민들께 좋은 서비스를 빠르고 안전하게 제공해 드려야 합니다. 그런 측면에서 안전하고 유연한 소프트웨어를 개발하는 것을 목표로 하고 있어요.
다른 본부와는 협업할 일이 많은가요? 주로 어떤 본부와 협업을 하나요?
서비스본부와 거의 함께 일을 합니다. PO와 디자이너 분들이나 퍼포먼스 마케터 분들이 제안해주시는 새로운 피쳐를 개발합니다.
그린랩스 개발팀 하면 부트캠프 이야기를 빼 놓을 수 없을 것 같은데요!
맞습니다. 현재 프론트는 ReScript, 백엔드는 Clojure를 사용하고 있는데 둘 다 워낙 아직은 생소한 언어이기 때문에 상시 스터디와 입사자를 위한 부트 캠프를 활발하게 운영하고 있습니다. 새롭게 입사하시는 분들이 대부분 함수형 언어를 접해보지 않았고, 그린랩스에 와서 본격적으로 시작을 하고 있습니다. 기존에 알고 있던 개발 지식과 다른 시각이 많다 보니, 처음에는 반신반의하는 상태로 부트캠프 프로그램을 시작하지만, 3주 간의 부트캠프가 끝나면 모두 긍정적인 피드백을 주십니다. 주요 피드백은 부트캠프를 통해서 새롭게 작성한 코드가 과거의 코드보다 보다 선언적이고 읽기 좋은 코드가 된다는 것입니다. 저희 팀의 함수형 철학에 공감하는 개발자가 늘어날 수록 저도 보람을 느끼고 있습니다.
점점 더 많은 분들에게 그린랩스의 개발 문화가 전파되는 것 같아 저도 정말 기분이 좋네요. 부트캠프 기간이 3주로 다소 짧은데 혹시 커리큘럼은 어떻게 될까요?
부트캠프의 첫 1주는 "기존의 개발 습관 (절차적 코딩 스타일) 버리기", 2주는 "함수형 코드에 익숙해지기"를 목표로 문제풀이 위주로 진행됩니다. 3주차에는 실제로 팜모닝 웹 서비스를 만드는 것으로 진행됩니다. 3주 간의 부트캠프가 끝나면 바로 실무에 투입되고, 그 이후에도 꾸준히 스터디를 진행하기 때문에 개발에는 크게 문제가 없습니다.
부트캠프가 끝나고 나서도 계속 개발과 스터디를 병행하고 계신다구요.
네, 스터디를 장려하는 문화가 개발팀의 개인적인 성장에 많은 도움이 됩니다. 보통 점심 시간이나 퇴근 후에 스터디를 하는 회사들도 많은데, 그린랩스에서는 업무 시간에 스터디를 합니다. 이게 가능한 이유는 두 가지 공감대가 있는 것 같은데요, 첫 번째로, 이렇게 스터디를 해서 얻은 지식으로 회사 제품에 기여한다고 구성원들이 생각하고 있습니다. 실례로 Clojure 스터디에서 애플리케이션의 의존성을 선언적으로 관리하는 라이브러리들을 비교하는 스터디를 진행한 결과로 integrant라는 라이브러리를 백엔드 프로젝트에 도입하였습니다. 또 PureScript 스터디에서 row polymorphism에 대한 주제를 학습한 후 ReScript에서 적용해서 폴리모픽 배리언트 등을 적극 활용해서 좀 더 편하게 쓰면서 타입에 안전하도록 리팩토링하기도 했습니다. 두 번째로, 모두가 그 이상의 시간을 투자해서 공부하고 있는 분위기가 있습니다. 스터디 시간은 분명히 업무 시간이지만, 그 스터디를 위해서 퇴근하고 많은 시간을 준비하게 됩니다. 어려운 주제를 소화해가지 않으면 스터디 시간이 낭비될 수 있음을 알기 때문입니다.
업무 하면서, 어떨 때 가장 보람을 느낄까요?
아무래도 저희가 열심히 개발한 기능을 농민 분들이 많이 사용해주실 때인 것 같아요. 새롭게 넣은 기능 덕분에 트래픽이 올라갈 때나 농민들께 인터뷰했을 때 긍정적인 피드백을 받으면 보람을 느낍니다. 일례로 저희 팜모닝 앱에 숨은 보조금이라는 메뉴가 있는데요. 농민들이 받을 수 있는 지역 단위/전국 단위 사업을 한눈에 볼 수 있는 서비스입니다. 기존에는 지자체나 농업 기술 센터 등에서 공지하는 내용을 농민들이 수시로 들어가서 알아봐야 하는 것인데, 팜모닝에서는 지역 별로 한눈에 볼 수 있도록 사업 정리해서 제공해줍니다. 올해 초에 이런 기능이 필요하다는 아이디어가 나온 직후 기획/디자인/운영 등 모든 부서에서 적극적으로 나서서 일주일 만에 MVP로 런칭하였습니다. 런칭 이후에 농민들이 많이 이용해주셨고 성과가 좋았고, 그 이후로 계속 고도화해서 지금도 팜모닝의 핵심적인 기능 중 하나 입니다. 모든 부서가 빠르고 기민하게 일했던 경험이었고 다들 단기간 완성을 위해 고생한 만큼 농민들의 좋은 피드백과 트래픽으로 성과가 분명했기 때문에 기억에 남은 좋은 협업 사례였다고 생각합니다.
이것만큼은 정말 최고다! 하는 본부의 자랑거리 있을까요?
코드 리뷰 문화가 정말 좋습니다. 많은 회사들이 리뷰를 하겠지만, 또 현실적인 이유로 제대로 안될 때도 많거든요. 저희는 리뷰를 정말 중요하게 생각합니다. 원래 개발자들이 검토해야 했던 많은 부분들을 강타입의 함수형 언어의 컴파일러가 해결해주기 때문에, 보다 설계 관점이나 대안에 대한 토론에 더 많은 시간을 쓸 수 있습니다.
그린랩스의 독특한 개발 문화가 점점 알려지면서, 그린랩스 개발팀에 입사를 희망하시는 분들이 많아지고 있는데요, 😉 혹시 특별히 필요하거나, 선호되는 스킬이 있을까요? 개발팀만의 컬쳐핏이 있다면요?
호기심이 중요한 것 같아요. 우선 개발에 대한 호기심이 있다는 것은 개발을 좋아한다는 것이고요. 호기심이 있으신 분들은 서비스를 구현하는 데에 그치지 않고 그 이상을 이루기 위해 궁리 합니다. 이렇게 특정 주제를 깊게 이해하고 나면 나중에 비슷한 문제를 만났을 때 보다 확실한 기준을 가지고 올바른 선택을 할 수 있고, 해결 속도도 더 빨라진다고 생각합니다. 그리고 저희 개발팀에 이런 호기심을 가지신 분들이 많습니다. 개발팀 슬랙 채널에는 다양한 개발 주제가 매일같이 던져지고 이에 대해 열띤 토론을 합니다. 또한 큰 규모의 개발팀에서는 기계적인 코딩을 하고 있다는 느낌이 들 때가 있는데, 그린랩스의 웹 개발팀은 모두 "좋은 코드"를 작성하는 것에 관심이 많습니다. 👨‍💻 따라서 저희 팀원들은 누가 시키지 않아도 꾸준히 개발 공부를 하고, 개인적으로 무언가를 항상 만들고 있습니다. 만약에 본인이 정말 개발 자체를 즐기고, 끊임없이 노력하는 스타일이라면 우리 팀과 문화가 맞을 것 같습니다. 컴퓨터와 노는 것을 좋아하시는 분들을 환영합니다!