Backend Engineer, Charles
”서비스의 성장만큼 엔지니어 개인의 성장도 정말 중요하다고 생각합니다. 성장하는 서비스를 만들다보면 서비스 개발에만 집중하게 되는 경우가 있죠.
그렇지만 레몬베이스에서는 서비스 개발과 효율 개선 하나만 선택하는 것이 아니라, 두 가치를 동일하게 추구해야 시너지를 낼 수 있다고 생각해요. 때문에 서비스 개발과 효율 개선 두 가지를 잡으면서 서비스의 성장과 엔지니어링적인 성장 둘 다 놓치지 않기 위해 노력합니다
”
서비스가 있기에 엔지니어링 또한 존재합니다. 즉 기능을 추가하거나 개선하는 모든 과정은 서비스의 발전과 향상을 향해 있습니다.
새로운 분야에서 압도적이며 독보적인 서비스를 만들기 위해서는 새로운 기능의 도전과 개선은 필수적이에요. 항상 새로운 기능을 더하는 데에만 집중하지 않고, 지속적인 리펙토링과 성능 개선을 통해 부채를 해소하여 모든 방면에서 서비스의 품질을 개선하고 있습니다.
서비스 개발 → 효율 개선 → 서비스 개발 → 효율 개선 loop를 통해 서비스의 발전뿐 아니라 엔지니어로서의 성장 또한 함께합니다. 또한, 이러한 과정에 도움을 줄 수 있는 개발 문화를 지키고, 해칠 수 있는 요소는 제거해 나가고 있습니다.
(용어 설명은 하단 참고)
리뷰 제품 병목 개선을 위한 분석
더 좋은 제품을 만들기 위한 노력
용어 설명
서비스 개발이란?
•
기획된 BM을 토대로 신규 기능 개발
•
서비스 추가 시, 외부 요구사항을 그대로 반영하거나 맹목적인 기능 추가를 하지 않아야 함
•
모아진 VoC를 토대로 중요한 기능을 선별하고, 추가해 나감
◦
초기 기능은 완벽하지 않을 수 있음
◦
고도화가 필요 → 서비스 개발 심화와 효율 개선으로 나뉨
서비스 개발 심화란?
•
이미 개발된 기능에 대해 재검토 및 추가 기능을 선별하여 고도화
•
하위 기능의 추가 개념
효율 개선이란?
•
동일 기능의 성능 향상을 가져오는 작업
•
ex 1) n개의 사용자에게 푸시 알림을 하는데 기존 5분 걸리던 작업을 1분으로 단축 시킴
•
ex 2) n명의 평가자 정보를 excel로 추출하는데 타임아웃 발생 빈도가 5%에서 0.1% 미만으로 감소
서비스 개발 vs 효율 개선
비교가 아닌, 같이 가야 하는 것
•
vs로 표시하긴 했지만, 적절한 비율로 두 가지 모두 가져가야 함
•
서비스 개발에만 치중하는 기업이 된다면, 새로운 기능은 많이 나오지만 기존 기능이 버려지기도 함
◦
버려지는 것에 더해서 개선판이 새로운 서비스로 나오기도 함
◦
쓰지 않는 기능의 집합소가 될 수도 있음
◦
기존 기능의 개선점이 없어 서비스 이용이 감소
•
효율 개선에만 치중하는 기업이 된다면, 새로운 기능이 나오는 속도가 느려서 업계에서 생존이 어려움
◦
신규 서비스에 대한 니즈를 충족시키지 못함
◦
쓰는 기능만 쓰지만, 해당 기능 +a를 제공하는 다른 서비스로 넘어가기도 함
◦
신규 기능의 추가점이 없어 서비스 이용이 감소
엔지니어가 선호하는 것은?
•
사람 성향에 따라 다름
◦
새로운 서비스 개발 및 PoC 작업을 선호하는 사람
◦
기존 기능의 최적화 및 효율성 개선을 선호하는 사람
•
얻어가는 장점도 다름
◦
서비스 개발
▪
신규 서비스를 만들다 보면 새로운 기술을 도입하기도 함
▪
아키텍처 설계 등 서비스 설계에 경험이 쌓임
▪
언어나 프레임워크 중에서 완전히 새로운 시도를 해볼 수 있음
▪
기존 서비스의 심화 기능을 추가하더라도 마찬가지임
▪
단, 기술의 깊이까지 들어 가는 것은 아니고, 구현 및 연동 단계 경험이 늘어날 수 있음
◦
효율 개선
▪
사용 언어, 라이브러리, 기술의 깊이 있는 이해가 필요함
▪
기존 지식의 강화를 하기 좋음
▪
단, 특정 기술에 몰입하므로, 다른 기술에 대한 지식 및 경험이 다소 감소할 수 있음
•
항상 나오는 대용량 데이터 처리(또는 실시간 서비스 개발)
◦
결국 서비스가 성장해야 가능한 부분
◦
또는, 실시간 성이 중요한 서비스가 추가되어야 가능함
◦
이 부분은 서비스가 가능 여정에 맞춰서 할 수 있는 문제점임
◦
단, 이런 것을 다루려면 기본이 다져져 있어야 함
▪
CS 지식 쌓기(스터디 등)
▪
경험 공유하기(1:1 문화)
◦
이것 또한, 서비스 개발 → 효율 개선 과정으로 해결 가능
◦
즉, 서비스 개발과 효율 개선 외에도 기본기가 중요함
정리
서비스 개발 → 효율 개선 → 서비스 개발 → 효율 개선 loop
•
너무 당연한 얘기지만, 서비스를 출시하고, 효율 개선을 한 뒤, 새로운 서비스가 나와야 한다
•
엔지니어의 성장도 두 부분에서 모두 발생한다
•
치우치지 않고, 균형 있게 모두 경험이 가능하다는 점이 중요
기본기 다지기
•
지금은 부족할 수 있는 요구사항 충족을 기본기를 통한 미래 대비로 접근해도 좋아 보임
•
이런 서비스를 스터디 차원에서 해보고, TFT로 해볼 수 있음을 어필해도 좋겠음