주요업무
어느 팀에서 일하든 Software Engineer는 기술을 구현하는 역할에만 머물지 않습니다. 고객과 제품의 문제를 함께 정의하고 설계, 출시, 운영과 개선까지 제품의 결과를 책임집니다.
우리는 이렇게 일합니다
한 영역에서는 충분한 깊이를 쌓고, 필요할 때 인접 영역을 빠르게 배웁니다.
모호한 문제를 구체화하고 동료들과 목표와 제약을 맞춥니다.
설계와 구현부터 출시, 운영, 장애 대응과 개선까지 결과를 끝까지 책임집니다.
성능, 신뢰성, 비용, 보안, 개발 속도 사이에서 근거를 갖고 판단합니다.
솔직하게 의견을 나누고 함께 더 나은 답을 찾습니다.
AI를 적극적으로 활용하되, 테스트·리뷰·관측이 가능한 구조를 통해 결과의 정확성과 품질을 높입니다.
이런 공통된 방식으로 일하면서도, 지금까지 깊게 쌓아온 전문성은 중요한 출발점입니다. Backend, Web, iOS, Android에서 쌓은 경험을 바탕으로 다음과 같은 문제를 풉니다.
[Backend Engineer]
Backend Engineer는 채팅·상담·고객·채널·결제 등 채널톡 제품이 움직이는 핵심 도메인과 이를 뒷받침하는 서버 시스템을 설계하고 개발합니다. 제품이 빠르게 변하고 여러 서비스가 연결되는 상황에서도 데이터의 일관성과 서비스의 신뢰성을 지키면서, Feature 팀이 빠르게 제품을 만들 수 있는 구조를 고민합니다.
• 고객사마다 다른 고객 데이터와 상담 맥락을 유연하게 담으면서, 대용량 데이터 조회와 실시간 상호작용을 함께 지원하는 데이터 모델과 API를 설계합니다.
• 새로운 백엔드 서비스는 Go를 기본으로 개발합니다. 여러 서비스가 일관된 방식으로 개발되고 운영될 수 있도록 공통 라이브러리와 개발 기반도 직접 만듭니다.
• Java·Dropwizard 기반으로 오랫동안 성장해 온 핵심 API를 안정적으로 운영하면서, 더 명확한 도메인 경계와 확장하기 좋은 구조로 개선합니다.
• 높은 트래픽과 급격한 사용량 변화에도 안정적으로 동작할 수 있도록 확장성·장애 격리·관측 가능성을 갖춘 시스템을 설계하고, 서비스의 안정적인 운영과 지속적인 개선을 이끕니다.
[Client Engineer]
Client Engineer는 Web·iOS·Android 앱과 SDK 등 채널톡이 고객과 맞닿는 모든 부분의 엔지니어링을 책임집니다. 각 환경의 전문성을 깊게 가져가면서, 여러 환경에서 일관된 제품 경험을 안전하게 제공하는 방법도 함께 고민합니다.
[Web Engineer]
• 고객사 웹사이트에 설치되는 SDK를 개발합니다. 어떤 브라우저에서든 고객사 웹앱의 스타일과 성능을 해치지 않는 가볍고 격리된 실행 환경을 만듭니다.
• REST API, WebSocket, Local Storage처럼 서로 다른 방식으로 들어오는 데이터를 일관되게 관리하는 통합 수신함과 대용량 데이터 UI를 만듭니다.
• 마이크로 프론트엔드의 경계를 설계합니다. 독립 배포, 호스트·리모트 사이의 규약, 웹과 네이티브 앱을 잇는 브리지도 중요한 문제입니다.
• 채팅 메시지부터 문서와 블로그까지 표현하는 리치 텍스트 에디터를 직접 만들고, 오픈소스 디자인 시스템 Bezier를 제품과 개발 도구 양쪽에서 발전시킵니다.
[Mobile Engineer (iOS·Android)]
• 채널톡 고객사의 앱에 설치되는 Android·iOS SDK를 개발합니다. 호스트 앱의 성능과 안정성에 영향을 주지 않으면서 실시간 기능을 제공하는 문제를 다룹니다.
• 상담사가 매일 사용하는 Channel Works 앱을 개발합니다. 실시간 메시징, 통화, 푸시 알림, 백그라운드 동작과 앱 생명주기처럼 모바일 고유의 운영 문제를 풉니다.
• WebView와 네이티브 앱 사이의 규약을 설계합니다. 웹에서 만든 기능을 앱 릴리즈 없이도 안전하게 제공하는 브리지 구조와 단계적 출시 전략이 중요한 문제입니다.
• Kotlin·Compose·Coroutines와 Swift·SwiftUI·UIKit을 활용해 여러 OS 버전에서 안정적으로 작동하는 자연스러운 네이티브 경험을 만듭니다.