본문 바로가기메뉴 바로가기


카카오톡의 백엔드를 담당하는 ‘기반서비스개발팀’ 이야기

카카오의 ‘서비스 서버 개발’은
전 국민이 사용하는 다양한 서비스를 안정적으로 제공하고 있습니다.

카카오톡과 그 안에 들어 있는 다양한 연계 서비스와 대한민국 No.1 뮤직플랫폼 멜론 서비스, 그리고 뉴스와 스포츠를 포함한 포털서비스/동영상서비스/소셜서비스까지!

카카오는 일상 속에서 사용자들이 경험하는 카카오의 다양한 서비스를 위한 플랫폼을 국내외 많은 사용자들에게 안정적이고 빠르게 제공하고 있는데요.

그 중심에 있는 카카오톡, 카카오 회원/계정 시스템, 멜론의 기반 플랫폼, 그 외 주요 신규 서비스의 백엔드를 개발/운영하는 ‘기반서비스개발팀’의 이야기를 담아 보았습니다.

국민 메신저 카카오톡 백엔드
‘기반서비스개발팀’이 담당하고 있습니다.

✔️ 국내 어디에서도 경험할 수 없는 대용량 트래픽을 경험합니다.

‘기반서비스개발팀’에서는 카카오톡 내 다양한 서비스의 서버사이드 개발/운영을 담당하고 있습니다. ‘국민 메신저’ 카카오톡의 서버 개발자로서 국내 어디에서도 경험할 수 없는 대용량 트래픽을 처리하고 있는데요. 

수천만명의 사용자와 카카오의 많은 연계 서비스로부터 오는 대량의 요청과 데이터를 안전하고 빠르게 처리하기 위한 시스템과 서비스를 설계 및 개발하며 운영하고, 구조개선까지 모든 분야를 지속적으로 균형 있게 경험할 수 있습니다.

뿐만 아니라, 다양한 서비스 환경에 도전하며 끊임없이 서비스를 진화시키기 위해 지속적으로 신규 서비스 개발, 구조 개선 등을 해 나가고 있습니다.

✔️ 기반서비스개발팀 문화는 ‘Why not?’이라는 질문에서 시작합니다.

‘기반서비스개발팀’은 디테일한 코드리뷰와 기술공유 및 스터디를 자발적으로 진행하고 있으며, 나아가 페어 프로그래밍을 통해 동료와 함께 협업하고 있습니다. 서로가 서로에게 질문을 하고, 그 질문에 대한 해답을 찾는 문화를 통해 레거시로부터 배우고, 미래를 위한 새로운 설계를 하며 뛰어난 동료와 함께 성장할 수 있게 됩니다.

카카오톡의 시작부터 오늘까지의 노하우가 깃든 훌륭한 코드와 문화가 있으면서도 끊임없이 새로운 기능을 개발하고 혁신적인 구조 개선을 진행해왔습니다. 이런 장기적인 과제를 자연스럽게 진행하기 위해 지속적으로 뛰어난 동료가 함께하고, 그들과 시너지를 내며 함께 성장해 온 경험이 많습니다.

✔️ 카카오에서 서버개발자로 일한다는 것은?

카카오 서비스의 백엔드 개발자는 어디서도 경험하기 힘든 큰 트래픽 환경의 개발과 운영을 직접 체험하고 동료로부터 배우고 도전하며 성장할 수 있습니다. 무중단으로 많은 기능을 추가하고 많은 설계를 개선하기 때문에 일상적인 수천만명의 사용자는 언제나 자연스럽게 새로운 기능과 향상된 품질을 경험할 수 있습니다.

서버 분야에 관심이 가는 당신을 위해

✔️ 서버 개발자의 매력 포인트가 있다면?

서버 개발자는 오래된 경험을 기반으로 한 기술이니 만큼, 개발자가 개발을 하면서 경험할 수 있는 모든 경험을 해볼 수 있다는 것이 가장 큰 장점 입니다. 끊임없이 구조를 개선하면서 적극적으로 신기술을 도입하는 것은 물론, 운영도구를 고도화하고 촘촘하게 관제시스템을 운영해가야 합니다. 뿐만 아니라 지속적으로 추가되는 신규 서비스나 신규 기능들에 대해서 입체적으로 파악하고 판단하며 적용하는 과정을 통해서 멀티플레이어로 성장할 수 있습니다.

✔️ 읽을만한 책

카카오의 서비스들은 많은 기능과 세부적인 서비스들이 서로 얽혀 있습니다. 그러다보니 다양한 서비스들이 복잡하게 연계되는 시스템을 설계하고 운영하기 위해서는 데이터를 구성하고 흐름을 다루며 추적하는 기술이 필요한데요. 카카오와 같은 규모의 시스템 수준에서 고민해 볼 만한 주제로 아래의 세 가지 책을 추천합니다.

  • Domain Modeling Made Functional
  • 데이터 중심 애플리케이션 설계 (Designing Data-Intensive Application)
  • 마스터링 분산 추적 (Mastering Distributed Tracing)

✔️ 서버 개발자로 필요한 자세

좋은 서버 개발자가 되기 위해서는 어떤 자세가 필요할까요?
다소 진부할 수 있겠습니다만 가장 일반적이지만 가장 중요하다고 할 수 있는, 개발자로서 기본적으로 갖춰야 하는 아래 네 가지 정도를 꼽아 보았습니다.

  • 사용자에 대한 이해와 애정
  • 추상화와 일반화
  • 끊임없는 학습과 창의적 상상
  • 자신감과 도전

개발을 하면서 겪는 많은 문제의 해결은 (1)사용자에 대한 이해와 애정에서 시작합니다. 비단 개발뿐만 아니라 많은 문제들이 상대에 대한 애정을 가지고 이해하려는 노력에서 출발하게 되는데요. 그러한 노력을 하다보면 눈앞에 보이는 무수한 문제들을 (2)추상화와 일반화해가면서 문제의 본질을 파악할 수 있게 됩니다. 이후 (3)끊임없는 학습과 창의적인 상상을 통해 문제를 해결할 수 있는 실마리를 얻게 되는데요. 마지막으로 (4)자신감을 가지고 도전하기만 하면 됩니다. 카카오에서는 많은 질문들에 ‘Why not?’이라고 이야기하며 서로를 격려하고 응원함으로써 다양한 문제들을 해결해나가고 있답니다.

기반서비스개발팀 팀원들의 한마디

Dante.93

국민 메신저인 카카오톡이 내부적으로 어떻게 동작하고 있는지 경험할 수 있고, 그 과정에서 흔히 경험할 수 없는 엄청난 트래픽을 느껴볼 수 있습니다. 그리고 뛰어난 크루들과 함께 코드리뷰를 진행하고 현재의 구조를 개선할 방법을 논의하다보면 어느새 성장한 자신을 발견할 수 있습니다. 자유로운 분위기 속에서 자신의 의견을 개진하고 수용할 수 있기 때문에 개발자로서 성장하기 정말 좋다고 생각합니다!

Albus.star

회사를 다니는 회사원이 아닌 ‘개발자’로 일하고 싶다면 카카오에서 그 기대를 충분히 충족시킬 수 있다고 생각합니다. 서랍이라는 서비스를 개발하면서 반년이라는 짧은 기간이지만, 그 시간 속에서도 많은 소스들을 접하게 되었고 카카오에는 능력 있는 개발자분들이 정말 많다는 걸 느꼈습니다. ‘개발자’로 성장하기엔 카카오만 한 회사가 없다고 생각하고, 제가 만들고 있는 서비스에 대해 자부심을 느끼고 보람을 느낍니다. 오래오래 재미있게 개발했으면 좋겠네요!

Jace.p

저희 팀은 카카오톡 서비스에 대한 막대한 트래픽을 경험해 볼 수 있고, 이를 안정적으로 유지하고 발전시키기 위해서 다양한 기술을 적용해나가면서 성장해 나가고 있습니다. 이런 환경은 국내에서 쉽게 경험해보지 못하는 부분이며, 경험 자체가 자신을 실력있는 개발자로 성장시키는데 좋은 기회라고 생각합니다.

Easter.h

지금 이 순간에도 카카오톡에서는 수많은 메시지들이 오고가고 있습니다. 기반서비스개발팀에서는 카카오톡과 관련된 여러 서비스들을 개발하고 있습니다. 트래픽이 많은 만큼 다른 서비스들 보다 좀 더 다양한 경험들을 할 수 있습니다. 대규모 시스템인 만큼 사용 기술도 다양하고, 많은 개발자들이 함께 개발하고 있습니다. 다양한 서비스와 대규모 트래픽을 경험하고 싶다면 기반서비스개발팀에 지원하시기 바랍니다.

Glen.kim

지난 10년간 수많은 개발자들이 저희 팀을 거쳐갔습니다. 그분들의 노력으로 지금의 카카오톡을 비롯한 카카오의 서비스들이 있을 수 있었습니다. 기반서비스개발팀은 그동안 카카오톡 등 전국민이 사용하는 서비스를 개발해 온 서비스 노하우와 운영 경험을 가지고 있습니다. 카카오의 서비스들은 계속해서 성장하고 있습니다. 서비스가 커지고 시스템이 확장될수록 개발자는 더 많은 기회를 갖게 됩니다. 자유로운 분위기와 좋은 개발 문화, 그리고 훌륭한 동료들이 있습니다. 저희와 함께 카카오 서비스를 만들어 나갈 개발자들을 모십니다. 기반서비스개발팀에선 개발자의 성장이 곧 서비스의 성장입니다.

함께 할 Krew를 기다리고 있습니다

카카오에서는 소개해드린 ‘기반서비스개발팀’을 비롯해 ‘사용자서비스 서버 개발자’로 함께 할 크루(Krew)를 기다리고 있습니다.

전국민이 함께하는 다양한 카카오 서비스들을 안정적으로 제공할 든든한 서버 개발자로서의 자부심과 엄청난 트래픽을 경험해보지 않으시겠어요? 현재에 만족하지 않고, 다양한 시도와 변화를 함께 만들어 갈 분들의 많은 관심 부탁 드립니다.


월간카카오 주니어 경력 개발자 모집 : 카카오 사용자 서비스 서버 개발자 모집 바로가기 >

kakao tech
kakao tech Developer Relations at kakao corp.
Top Tag
2021
2021-new-krew
adaptive-hash-index
adt
agile
agilecoach
ai
Algorithm/ML
Algorithm/Ranking
almighty-data-transmitter
android
angular
anycast
applicative
Architecture
arena
async
aurora
Backend
bgp
ble
blind-recruitment
block
blockchain
bluetooth
brian
cahtbot
cd
ceph
certificate
certification
cgroup
ci
cite
client
clojure
close-wait
cloud
cloudera-manager
clustered-block
cmux
cnn
code-festival
code-review
codereview
coding
competition
component
conference
consul
container
contents
contest
couchbase
COVID-19
cpp
Data
DB
deep-learning
developer
developer relations
developers
devops
digitalization
digitaltransformation
dns
docker
dr
employeecard
eslint
Feature List
Featured
friendstime
front-end
frontend
functional-programming
funfunday
fzf
garbage-collection
gawibawibo
GC
github
go
graphdb
graphql
growth
ha
hadoop
hbase
hbase-manager
hbase-region-inspector
hbase-snashot
hbase-table-stat
hbase-tools
hri
id
ifkakao
infrastructure
innodb
internship
ios
item
Java
javascript
json
kafka
kakao
kakao-commerce
kakao-games
kakaoarena
kakaocon
kakaok
kakaokey
kakaokrew
kakaomap
kakaotalk
KCDC
khaiii
kubernetes
l3dsr
l4
links
load-balancing
machine-learning
marathon
meetup
melon
mesos
Messaging
microservice
mobil
monad
mtre
mysql
mysql-realtime-traffic-emulator
nand-flash
network
new
new-krew
nfc
nomad
ocp
open
opensource
openstack
OpenWork
page
parallel
PBA
planning poker
programming-contest
pycon
python
quagga
react
reactive-programming
reactor
recommendation
recruitment
redis
redis-keys
redis-scan
related-blind
rest
rubics
ruby
rxjs
s2graph
scala
scalaz
server
service
sharding
shopping
socket
spark
spark-streaming
SpringBoot
ssd
Statistics/Analysis
Stomp
storage
storm
style-guide
support
System
talk
talkchannel
tcp
tech
test
Thread-Debugging
time-wait
tmux
typescript
update
User Story
vim
vim-github-dashboard
vim-plugin
vue
vue.js
web-cache
webapp
WebSocket
weekly
All Tag
2021
2021-new-krew
adaptive-hash-index
adt
agile
agilecoach
ai
Algorithm/ML
Algorithm/Ranking
almighty-data-transmitter
android
angular
anycast
applicative
Architecture
arena
async
aurora
Backend
bgp
ble
blind-recruitment
block
blockchain
bluetooth
brian
cahtbot
cd
ceph
certificate
certification
cgroup
ci
cite
client
clojure
close-wait
cloud
cloudera-manager
clustered-block
cmux
cnn
code-festival
code-review
codereview
coding
competition
component
conference
consul
container
contents
contest
couchbase
COVID-19
cpp
Data
DB
deep-learning
developer
developer relations
developers
devops
digitalization
digitaltransformation
dns
docker
dr
employeecard
eslint
Feature List
Featured
friendstime
front-end
frontend
functional-programming
funfunday
fzf
garbage-collection
gawibawibo
GC
github
go
graphdb
graphql
growth
ha
hadoop
hbase
hbase-manager
hbase-region-inspector
hbase-snashot
hbase-table-stat
hbase-tools
hri
id
ifkakao
infrastructure
innodb
internship
ios
item
Java
javascript
json
kafka
kakao
kakao-commerce
kakao-games
kakaoarena
kakaocon
kakaok
kakaokey
kakaokrew
kakaomap
kakaotalk
KCDC
khaiii
kubernetes
l3dsr
l4
links
load-balancing
machine-learning
marathon
meetup
melon
mesos
Messaging
microservice
mobil
monad
mtre
mysql
mysql-realtime-traffic-emulator
nand-flash
network
new
new-krew
nfc
nomad
ocp
open
opensource
openstack
OpenWork
page
parallel
PBA
planning poker
programming-contest
pycon
python
quagga
react
reactive-programming
reactor
recommendation
recruitment
redis
redis-keys
redis-scan
related-blind
rest
rubics
ruby
rxjs
s2graph
scala
scalaz
server
service
sharding
shopping
socket
spark
spark-streaming
SpringBoot
ssd
Statistics/Analysis
Stomp
storage
storm
style-guide
support
System
talk
talkchannel
tcp
tech
test
Thread-Debugging
time-wait
tmux
typescript
update
User Story
vim
vim-github-dashboard
vim-plugin
vue
vue.js
web-cache
webapp
WebSocket
weekly

위로