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


vivi의 카카오 겨울 개발자 인턴십 성장기

개발자로서의 첫걸음을 카카오에서 시작한다는 것은..


안녕하세요. 저는 2019 카카오 겨울 개발자 인턴십 프로그램에 참여했던 vivi 라고 합니다 😀 지금은 인턴십을 모두 마치고 온 국민이 사용하는 카카오톡 서비스의 아이폰 클라이언트 개발을 맡고 있답니다.

지난 겨울 제게는 정말 많은 일들이 있었는데요, 인턴십 프로그램을 준비하는 과정에서부터 종료까지의 제 경험에 대해 솔직하게 이야기해 보려고 합니다.

인턴십 준비

당시 저는 2019년 하반기에 졸업해 이제 막 취업 준비를 시작한 취준생이었습니다. 독특하게도 프로그래밍+디자인을 전공했고, 학교 수업으로 iOS 개발을 처음 접해 졸업 프로젝트로 앱 하나 만들어본 후 바로 취업 전선에 뛰어들었죠.

“전공 외에는 프로젝트를 해본 적도, 인턴 경험도, 프로그래밍 대회 입상 경력도 없는 제가 취업 전선에 뛰어들려면 뭘 해야 할까요? “

제가 현직자분들께 물어보았고

“공채를 준비해라”

답변을 받았습니다.

그 길로 공채와 코딩테스트 공부를 시작했고, 졸업 후 처음 지원했던 공채인 2020 카카오 신입 공채의 첫 관문 코딩테스트에서는 무참히 탈락해버렸습니다. 아, 카카오는 이번에 나랑 연이 없겠구나.. 생각하던 중 2019 카카오 개발자 겨울 인턴십 공채가 있다는 것을 알게 되었습니다.

카카오가 인턴십 공채도 진행 했었어?

마침 모집 분야에는 제가 가고 싶었던 iOS 분야도 있었기 때문에 공고를 본 날 바로 서류와 코딩테스트 준비를 시작했습니다.

저는 지원 서류와 함께 추가로 포트폴리오를 준비 했었는데요, 졸업 프로젝트와 작성했던 논문을 설명하려면 사진 자료와 도표를 보여주는 게 가장 효과적이라고 생각해서 포트폴리오를 자기소개글과 함께 제출했습니다.

제출했던 포트폴리오 중 일부

그리고 코딩테스트 준비를 시작했습니다. 테스트 준비의 시작은 기출 문제를 파악하는 거죠. 이를 위해 카카오 기술 블로그에서 신입 공채 코딩테스트 문제와 해설을 먼저 찾아보았습니다. 그리고 인턴십 공채이니만큼 기초에 대해 잘 알아야 한다고 생각해, 문자열부터 자료 구조까지의 알고리즘 문제를 단계별로 풀어보며 공부했습니다.

열심히 채용 프로세스를 따라가는 중

서류 및 코딩테스트 심사를 통과한 후에는 면접 준비를 위해 컴퓨터 과학 기초와 iOS 개발에 관해서 공부했습니다. 저는 면접장에서 긴장을 많이 하는 편이어서 이를 최대한 덜어보고자 저만의 면접 질문 리스트를 만들어보는 방식으로 면접을 준비했는데요, 개발자 기술 면접 질문 리스트를 찾아보고 제출했던 서류에 대한 예상 질문을 생각하며 리스트를 만들었습니다.

하지만, 아무리 준비를 해도 면접장에서는 모르는 질문이 나오기 마련이죠. 그럴 때는 솔직하게 모른다고 대답하고 다른 질문을 통해 제가 잘 설명할 수 있는 부분을 더 어필하기 위해 노력했었습니다.

이렇게 면접까지 폭풍 마무리하고 며칠간의 시간이 지난 뒤 드디어 합격 통보를 받았습니다! (그때는 마치 눈앞에 노란색 꽃길이 보이는 것 같았어요.)

우와아 내가 합격이라니!

그러나 기쁨도 잠시.. “내가 입사해서 잘 적응할 수 있을까? 왜 내가 뽑혔지?” 라는 불안과 걱정이 마음을 한가득 채웠습니다. 더불어 첫 회사 생활에 대한 두려움이 더해져 멘붕 상태가 된 채로 입사 전날(크리스마스)까지 시간을 보내게 됩니다.

조금이라도 걱정을 덜어보고자 크리스마스날까지 공부 했었다!

입사 및 온보딩 진행

12월 26일 입사 당일 아침의 저는 “그래! 카카오에서 신입 원데이투데이 받아보겠어! 온보딩 프로그램 열심히 참여하면 나도 한 사람의 크루로 거듭날 수 있을 거야!” 는 야심 찬 희망을 품은 채 첫 출근길에 올랐습니다.

입사 후 바로 업무를 수행하게 되는 게 아니라 온보딩 프로그램을 통해 적응할 시간을 먼저 가질 수 있다고 생각하니 전날 밤까지의 걱정은 잠시 접어두고 첫 출근길의 설렘을 만끽할 수 있었던 기억이 나네요 XD

기대하던 온보딩 프로그램은 카.무.어(카카오, 무엇을, 어떻게?)를 주제로 카카오와 카카오의 문화에 대해 배울 수 있었고, 뉴크루를 환영하는 즐거운 분위기 속에서 진행됐습니다.

카카오 웰컴 키트를 받아서 기쁜 인증샷

온보딩 시간 중 사원증 사진을 촬영하고 사용할 장비를 세팅하는 시간도 가졌습니다. 입사 선물로 받은 다이어리와 카카오 후드는 지금도 잘 사용하고 있어요 ㅎㅎ

후드는 아까워서 아껴 입는 중

같은 테이블 동기들과도 틈틈이 친해지는 시간을 가진 후, 인턴십 기간 동안 저와 함께할 버디를 찾기 위해 아지트에 글을 써보기도 했습니다.

임팩트 있는 자기소개를 하라고 하기에 망설임 없이 고른 사진 (조금 망설였어야 했다)

이때의 온보딩은 인턴십 기간 내내 카카오스럽게 일하는 것이 무엇인지 곱씹어볼 수 있는 메시지를 전달해주었고, 첫 회사생활에 대한 불안과 걱정을 조금이나마 덜어주었습니다.

인턴십 진행

온보딩 프로그램 후에는 버디와 함께 부서로 이동해 본격적인 인턴 생활을 시작했습니다. 배치받은 부서에 따라 과제의 유무도 과제의 종류도 달랐는데요. 저는 협업 과제와 개인 과제로 총 두 가지의 앱 개발 과제를 진행하게 되었습니다.

저는 지금까지는 1년 단위의 프로젝트 개발도 혼자 맡아서 진행했기에 이번 과제를 통해 처음으로 개발 협업을 진행해보았는데요. 처음 하는 일이기에 혹시 실수하지는 않을까 걱정을 많이 했지만(ㅠㅠ) 막연한 걱정을 접어두고 부딪혀보니 생각보다 어려운 일이 아니었습니다. 협업은 만들어진 규칙을 따르는 것이 아니라 함께 일하는 동료와 함께 새로운 규칙을 만들고 맡은 일에 책임을 가지는 것이기에 커뮤니케이션과 책임감만 있다면 해결할 수 있더라구요!

브랜치를 나누어 개발하고 JIRA로 이슈를 관리했던 모습

그래서 동료와 상의하며 브랜치 전략을 세워보기도 하고 JIRA 툴을 이용해 이슈를 공유했으며, 수시로 서로에게 도움이 될 수 있는 의견을 공유하며 무사히 첫 협업을 마칠 수 있었습니다.

그리고 개인 과제로 진행했던 프로젝트는 좀 더 깊이 있는 주제로 개발을 진행했기에 개발 중 이슈에 부딪히고 삽질하는 일이 많았습니다.

저는 개발을 하면서 이슈가 생기면 원인을 정확히 파악하기도 전에 해결 방법부터 고민하느라 시간은 시간대로 소모하고 제대로 된 해결도 하지 못하는 엉뚱한 삽질을 할 때도 있었는데요. 이번 인턴십을 통해서는 버디와의 커뮤니케이션 덕분에 이런 점을 고쳐볼 수 있었습니다.

제가 버디에게 이 이슈를 왜 해결해야 하는지, 이슈 해결을 위해 무엇을 시도해봤는지 그리고 앞으로 어떤 방향으로 해결해보고자 하는지 설명함으로써 현재 상황을 객관적으로 점검할 수 있게 되고, 버디에게 이슈 트래킹을 위한 기술적인 조언을 받음으로써 이슈의 원인을 파악할 수 있었습니다. 저는 이렇게 고민했던 과정을 기록하며 이슈들을 해결해 나갔습니다.

개발새발 열심히 적어가며 고민했었다.. 기록해두면 똑같은 삽질을 하진 않을 테니

아마 혼자 고민했더라면 계속 같은 삽질을 반복했겠지만, 커뮤니케이션 덕분에 더 나은 해결 방안을 찾아 나갈 수 있었고 저는 이때 협업의 장점을 또 하나 깨달을 수 있었습니다! (이 자리를 빌려 최고의 버디 shine과, 협업을 맞춰갔던 동기 denny에게 감사를 표합니다)

버디와 함께라면 할 수 있어 ?

이렇듯 인턴십 기간의 대부분은 과제를 진행했던 기간임과 동시에 카카오의 문화를 피부로 느끼는 시간이었습니다. 제가 가장 크게 느꼈던 카카오의 문화는 자율성 그리고 공유와 커뮤니케이션이었는데요. 사전적 의미의 자율성 그대로, 카카오는 자기 스스로의 원칙에 따라 어떤 일을 하거나 자기 스스로 자신을 통제하여 절제하는 일을 모두가 해나가고 있었습니다.

이는 온보딩에서 들었던 카카오스럽게 일하는 것책임 있는 자유를 말하는 것이기도 했고, 자유를 뒷받침하는 공유와 커뮤니케이션이 우리를 하나의 팀으로 만들고 더 좋은 방향으로 나아갈 수 있게 한다는 카카오의 문화를 느껴보는 일이기도 했습니다.

그리고 저는 이즈음 개발자들끼리 개발 얘기를 나누는 게 너무 재밌어져서 카페앱개발셀의 joshua와 스터디(를 빙자한 개발자 토크 시간)를 진행하기도 하고 점심식사 후 크루들과 함께하는 커피타임을 더욱 즐기게 되었습니다. 이 시간들을 통해 개발자로서의 철학에 대한 생각을 키우고 첫 회사생활에 대한 막연한 걱정은 덜 수 있었습니다 😀

저렴하고 맛있는 까까오카페

이렇게 카카오 문화 속에 녹아들어가며 과제를 마무리하고 전환 면접과 수료증 배부를 끝으로 2달간의 인턴십 프로그램도 마무리하게 되었습니다.

수료증을 끝으로 인턴십 마무리!

인턴십, 그 이후

인턴에서 정직원으로 전환된 지금은 COVID-19 감염 예방을 위해 원격 근무를 진행하고 있습니다. 첫 회사가 알고 보니 싸이버컴퍼니(..) 가 된 느낌이지만 원할한 VPN 연결을 통해 회사에서 근무하던 것과 같은 환경을 유지할 수 있고 평소에도 아지트와 카톡으로 업무 내용을 공유해왔기에 별 탈 없이 근무를 진행하고 있습니다. 대화가 필요할 때는 화상 회의 툴을 적극적으로 활용하고 나아가 화상으로 회식도 해보면서(!) 이 근무 환경을 나름 즐기고 있습니다.

실시간 원격 근무 모습

전환 면접 이후에는 면담을 통해 인턴십 진행에 대한 피드백을 받을 수 있었습니다. 굉장히 꼼꼼하게 보완이 필요할 부분이나 좋은 역량으로 평가되었던 부분에 대해 피드백을 해주셔서 앞으로의 공부 방향을 정하는 데 큰 도움이 됐고, 요즘 저는 피드백 내용을 바탕으로 공부하고 인턴십을 함께 했던 동기들과 매주 화상으로 스터디를 진행하면서 개발 역량을 쌓아가고 있습니다.

이제는 새로운 업무도 맡게 되어 담당자로 지정된 제 이름을 보고 있으면 뿌듯함이 들기도 하고 앞으로 더 열심히 해야겠다는 책임감이 들기도 하는데요. 이 즐거운 설렘을 초심으로 잘 다져서 앞으로도 오랫동안 즐겁게 일하고 싶습니다! 😀

마무리

인턴십 기간 동안 하루는 정말 길었고 2달은 너무 짧았습니다. 정해진 기간만큼만 일을 할 수 있는 인턴이기 때문에 하루하루가 아쉽지 않도록 시간을 아껴 쓰다 보니 하루가 길었고, 카카오에서 해보고 싶은 일은 너무 많다 보니 2달이 짧게 느껴졌었습니다.

계약직 신분이라는 불안함 역시 없진 않았지만, 인턴에게도 모든 자료와 서비스를 공유해주고 한 사람의 크루로서 의견을 존중해주는 동료들 덕분에 가슴을 펴고! 당당하게 인턴 생활을 즐길 수 있었습니다.

맑고 깨끗하고 자신 있게! 인턴즈 화이팅!

저는 인턴십 프로그램을 시작하던 당시에는 모르는 것도 많고 걱정도 많은 흔한 예비 개발자였지만, 누구에게나 그런 시기가 있고 다들 비슷한 고민을 하고 있다고 생각하면 위안이 되었습니다. 걱정을 덜고 나니 그제야 앞으로 어떻게 성장할 수 있을지 기대가 되더군요 ㅎㅎ

모르는 부분은 채워나가면 되고 시간이 지난 후 걸어왔던 길을 돌아보면 성장한 자신을 느낄 수 있을 겁니다. 그러니 지금 당장은 스스로의 성장이 느껴지지 않더라도 주눅 들지 말고, 성장하고자 하는 열정을 멈추지 말았으면 좋겠습니다. 이건 글을 읽어주시는 분들뿐만 아니라 저 스스로에게 하는 말이기도 합니다.

“우리의 모든 탐험이 끝나는 때가 되어서야 비로소 시작지점이 어딘지 알게 될 것이다.” , T. S. 엘리엇

저는 이 말을 끝이 곧 새로운 시작임을 나타냄과 동시에 시간이 지나서야 과거의 선택이 새로운 시작지점이었음을 알 수 있다고 해석하는데요. 카카오에 입사하게 되었을 때, 가보지 않은 길을 가는 카카오에서 함께 탐험을 시작하게 되었다고 표현하기에 이 말이 상당히 감명 깊게 남았습니다.
인턴십은 끝났지만 저는 이제 새로운 시작을 할 준비가 됐고, 한 사람의 크루로서 카카오 탐험선에 승선할 수 있었던 시작지점이 카카오 개발자 인턴십에 지원했던 순간이었음을 평생 기억하게 될 것입니다.

앞으로도 카카오 크루들과 함께 탐험할 수 있다면 저는 개발자로서 더 성장할 것이라 믿습니다!

저의 솔직한 이야기를 함께 읽어주셔서 감사합니다 😀

vivi.kim
vivi.kim 카카오 겨울 개발자 인턴십으로 한 사람의 크루가 되어가는 중인 vivi 입니다 :D
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

위로