Krew Story/ENTER-MATE

[ENTER-MATE] Swift는 스윕 스윕~ / Sean과 함께 하는 스터디

Tech HR 2022. 11. 8. 09:00

 

안녕하세요,

Tech. Recruiter Kayla입니다.

 

CTO 부문의 스터디 활동을 소개하는 [ENTER-MATE],

오늘 소개드릴 스터디는 무려 2그룹이나 됩니다!

 

 

작년 이맘때쯤이었나요..?

파릇파릇한 개발 꿈나무들이 나타나신 게..?

(내 눈앞에 나타나~🎼)

 

바로 2022 신입 개발자 공채분들이 현업으로 배치된 이후,

오~~ 랜 기간 꾸준하게 학습하고 있는 스터디 그룹들을 만나봤습니다.

 

 

역대 가장 많은 인원의 사진 촬영을 위해

쑥스러움을 이겨내고 판교 이곳저곳을 배회했다는 사실!

 

iOS 개발을 하고 싶은 iOS 개발자 크루들의 'Swift는 스윕스윕~'과

책 도장깨기를 하고 있는 백엔드 개발자들의 'Sean과 함께 하는 스터디'를 소개합니다!

 

ENTER-MATE
카카오엔터테인먼트 CTO 부문 내 크루들이 자발적으로 참여하고 있는 사내 스터디를 소개하는 콘텐츠입니다.
동일한 목표를 가지고 학습하며 함께 성장하고자 모인 크루(메이트)들의 이야기를 담았습니다.

 

 

(좌) Swift는 스윕스윕~ / (우) Sean과 함께 하는 스터디

 

 

 


 

 

 

 

안녕하세요~ 여러분!

각각 자신의 스터디 그룹을 소개해주시겠어요.

 

 iOS 개발에서 제일 기본이 되는 Swift 언어에 대해 학습하는 스터디로, 9월까지는 Swift 공식문서를 공부했었고, 지금은 다음 학습 주제를 고민하고 있습니다. 

 

 

 

백엔드 개발자로서 알아야 할 지식/기술에 대해 공부하는 것을 목적으로 하고 있습니다. 백엔드 개발자라면 반드시 읽어야 할 책을 선정해서 진행하고 있는데, 처음 도전했던 책은 ‘Effective Java’였고, 두 번째로는 ‘데이터 중심 애플리케이션 설계’라는 책을 학습하고 있어요.

 

 

 

 

 

왜 이 스터디를 시작하게 되었나요?

저희는 2022 신입 개발자 공채로 입사했는데요. 당시 직무를 선택할 때, 기존에 iOS를 전혀 경험해보지 못했지만 도전해보고 싶다는 의지로 iOS 개발자를 선택했던 친구들이 있었어요! 물론 회사에서 iOS 개발 교육을 제공해주셔서 기초적인 부분들은 빠르게 학습했지만, 실무에 빠르게 적응하려면 더 깊이있는 학습이 필요하다고 느꼈고, Swift 공식문서를 파헤쳐보자는 목적을 가지고 시작하게 되었습니다. 아무래도 iOS 개발에 가장 필수적인 언어인 만큼 함께 하면 빠르게 학습하고 성장할 수 있고, 업무를 진행하는 데 도움이 될 수 있을 것이라 생각했습니다. 

 

저희 Sean과 함께 하는 스터디는 백엔드 개발 분야에서 사용되는 다양한 기술들 중에서 신입 개발자에게 가장 도움이 되고 기초가 되는 것들을 같이 공부하고 토론하기 위해서 시작하게 되었습니다. 마침 저희 동기들 중 백엔드 개발자들이 많았고, 캉테가 함께 기술 스터디를 하면 어떻겠냐고 제안하여 저를 포함한 많은 동기들이 참여하고 있어요.

 

 

 

 

 

 

 

 

Swift는 스윕스윕은 스터디명만 봐도 어떤 스터디인지 알 수 있는데...

‘Sean과 함께 하는 스터디’는 어떻게 스터디명을 정하게 되었나요..?

 

제가 스터디를 하자고 제안했고,

스터디원들 중 션이 가장 듬직해서 션의 이름으로 제출해버렸습니다.

 

 

 

이 스터디명으로 다들 동의한 걸 보면 션의 탁월한 진행 능력 덕분에 지어진 거 아닐까요..?

그리고 실제로도 자리가 사람을 만든다고 하죠~

션이 스터디 일정 조율이나 진행을 다 도맡아 하고 있답니다.

 

 

 

전 정말 잘 모르겠어요. 그냥 어쩌다 보니깐 제 이름이..

 

 

 

 

 

스터디는 보통 언제 진행하시나요?

 

매주 화요일 저녁 9시 진행을 원칙으로 하고, 업무가 바쁜 경우에는 일정을 조정하기도 했지만, 대부분 정해놓은 요일과 시간에 진행했습니다.

 

 


저희도 매주 화요일 저녁 8시부터 10시까지 진행하고 있어요. 개인적인 사정이 있거나 업무가 많으면 각자 유동적으로 진행하되, 최소 4명 이상 스터디 참석을 원칙으로 하고 있어서 많은 인원이 참여가 어렵다면 그 주는 쉬어가기도 합니다.

 

 

 

 

어떤 방식으로 스터디를 진행했나요? 

 

학습 콘텐츠는 Swift 공식 문서였고, 한 명씩 돌아가면서 챕터를 하나씩 맡아 공부하고 매주 발표하는 형식으로 진행했습니다. 발표하다가 서로 모르는 부분이 있으면 자유롭게 질문하고 토론하는 방식이었어요.

 

 


선정한 책마다 조금 다르게 진행하고 있습니다. 첫 번째 책이었던 'Effective Java'는 챕터별로 발표자를 정하고, 각자 정해진 분량을 읽은 후 스터디 시간에 모여 발표자가 맡은 내용에 대해 공유하며 서로 논의하는 시간을 가졌습니다. 처음에는 한 사람이 한 챕터를 맡아서 진행했는데, 분량이 많아지기도 해서 두 명이 한 챕터를 같이 맡아서 진행하기도 했습니다. 다만, 이 방식으로 진행해보니 결국 자신이 맡은 파트만 더 공부를 해오는 것 같아서 '데이터 중심 애플리케이션 설계'라는 책을 진행할 때는 방식을 바꿔봤어요. 기존처럼 정해진 분량을 읽는 것은 동일하지만, 스터디 시간에 다시 한번 책을 같이 읽는 것을 원칙으로 하고 있습니다. 스터디 전까지 정해진 분량을 읽은 후, 슬랙에 이모지를 체크하고, 모두가 슬랙에 이모지를 달았으면 스터디 시간에 모여 각자 읽고 어려웠던 부분에 대해 토론합니다. 이해가 가지 않거나, 어려운 부분은 같이 찾아보기도 하고, 팀 선배님들에게 여쭤보며 해결하고 있어요.

 

디스코드와 구글밋을 활용하여 스터디 진행 중인 크루들

 

 

 

도서 선정 기준은 무엇인가요?

 

'Effective Java'란 책은 백엔드 개발자! 하면 필수로 언급되는 책이어서 선정했습니다. '데이터 중심 애플리케이션 설계'라는 책은 마침 델타와 토니가 읽고 있었는데 어려워서 같이 해봤으면 좋겠다고 제안하기도 했고, 리즐이 팀에서 추천받은 책이기도 해서 두 번째 도서로 선정하게 되었습니다.

 

더보기

📔 도서 정보 
Effective Java   [📙] 
데이터 중심 애플리케이션 설계 [📙]

 

 

 

스터디를 진행하면서 어려웠던 점은 없었나요?

 

스터디마다 범위나 난이도가 좀 다르다 보니 가끔 실습을 하지 못하는 경우도 있고, 이론 위주의 학습이다 보니 실제로 업무에 적용해 보지 못하는 이론들은 '내가 제대로 이해한 것이 맞나?' 하는 의문이 들거나, 실제 업무에 적용해본다고 해도 '내가 학습한 것들을 이렇게 적용해도 되는 건가?' 하는 고민들이 있었어요. 아무래도 저희 모두 주니어다 보니 어려운 문제나 이해가 되지 않는 내용을 맞닥뜨렸을 때, 그 답을 찾는 것이 쉽지 않았습니다. 


저희도 마찬가지로 너무 어려운 내용을 공부할 때, 다 같이 열심히 토론했지만 주니어들끼리 학습하다 보니 정확하게 알지 못하는 경우가 존재했습니다. 이럴 때, 편하게 질문드릴 수 있는 시니어 개발자분들이 계신다면 더욱 좋지 않았을까~ 하는 아쉬움이 있습니다.

 

 

 

 

그럼 이해가 되지 않았던 내용들은 어떻게 해결하셨나요?

솔직히 말씀드리자면 일부 해결하지 못하고 넘어간 경우도 있긴 했어요. 그러나 저희가 이 스터디를 하는 목적 자체가 'Swift 공식문서'를 전체 다 훑어보는 것이었기에 한 곳에서 너무 지체하지 않고 다음으로 넘어가는 것도 중요하다고 생각했던 것 같아요. 물론 모두 패스했다는 것은 아니고, 팀 선배님들께 여쭤보거나 조금 더 찾아보는 등 최대한 해결해보려고 노력하기도 했습니다.

 

저희도 일단 저희가 먼저 더 찾아보고 관련 링크를 서로 공유하거나, 각자의 팀원들에게 물어보며 궁금증을 해소하곤 했어요. 물론 100%를 이해하지 못한 부분도 있지만, 경험치가 쌓이면 다음번에 또 읽었을 때는 더 이해가 되지 않을까 하며, 저희가 할 수 있는 최선을 다한 것 같아요.

 

스터디 내용을 정리하는 깃헙

 

 

 

 

그렇다면 반대로 스터디를 하면서 얻은 것들은 무엇이 있나요?

 

첫 번째로 Swift에 대해 훨씬 잘 알게 된 것 같습니다. 아예 몰랐던 내용도 있었고, 사용법은 알고 있었지만 어떻게 작동하는지 정확한 원리를 몰랐던 것들도 알게 되었어요. 또, 용어조차도 몰라서 검색할 생각도 못했던 내용들도 습득할 수 있었습니다.

두 번째로 Swift를 통해 애플이 추구하는 개발 철학도 느낄 수 있었습니다. Swift가 무엇을 지향하는 언어인지 이해할 수 있었고, 코드를 짤 때 Swift의 여러 기능을 좀 더 적절하게 사용하고 싶다는 생각도 들었어요~

마지막으로 공식문서를 읽다 보면 아는 내용도 있지만 너무 어려운 내용도 있어서 흥미를 잃을 때가 있었는데, 동기들과 함께 하다 보니 꾸준히 할 수 있어서 좋았고, 덕분에 동기들과 사이가 돈독해진 것 같아요. 또, 스터디원들마다 자신이 헷갈리는 부분에 대해 의견을 공유하다 보니 다양한 시각으로 바라보는 것도 배울 수 있었습니다. 

 

저희는 주마다 발표하는 방식으로 진행하다 보니 많은 인원들에게 발표하는 경험을 쌓게 되어 개인의 역량에 큰 도움이 된 것 같습니다. 또, 같은 백엔드 개발자이지만 맡고 있는 서비스나 기능이 다르다 보니 서로 하고 있는 일에 대해서도 공유하며 자연스럽게 다른 팀이 어떤 일을 하는지 기술적으로도 알 수 있어서 좋았고요. 하나의 예로, 분산 시스템을 공부하면서 데이터베이스 격리 수준에 대해 토론을 하던 중 아이유 티켓 예매가 어렵다는 얘기가 나왔습니다. 다들 멜론 티켓 시스템은 어떻게 설계되어있는지 궁금해했는데, 스터디원인 Winnie의 찬스로 멜론 티켓개발팀 Jaye에게 물어볼 기회를 얻어 궁금한 것들이 해소됐던 적이 있었습니다.

그리고 역시 동기들과 함께 한다는 점이 정말 큰 장점인 것 같아요. 평소 고민도 털어놓을 수 있고, 스터디도 책 한 권으로 끝나지 않고 끊임없이 공부하고자 하는 것들을 찾고 학습하며 이 스터디를 유지할 수 있다는 것이 좋다고 생각합니다. 

 

 

 

 

 

스터디를 통해 얻은 지식을 실제 업무에 적용해본 경험이 있나요?

 

Swift 언어 전반을 학습했다 보니 항상 업무와 뗄 수 없는 것 같습니다. 물론 큰 기술을 적용했기보다는 코드를 짜는 데 있어서 전반적으로 이해도가 많이 올라간 느낌입니다. 원리를 좀 더 이해하고 사용하거나, 사용해보지 않았던 문법들을 사용하면서 업무를 하는데 도움이 됐습니다. 정말 아는 만큼 보인다라는 말처럼 프로젝트 코드를 볼 때 이해가 되지 않던 부분이 있었는데, 스터디를 통해 학습하며 이해할 수 있는 부분이 많아졌습니다. 또, 기획에서 요구사항을 받았을 때 어떤 식으로 개발을 진행하면 될지 머릿속으로 그려본다거나 메모리 관리에 대해서도 고민하고 적용할 수 있었습니다. 

 

 

업무에서 코드를 작성할 때, 스터디에서 배운 내용을 토대로 고민하면서 작성한다는 점에서 실제 업무에 적용하고 많은 도움이 된다고 느꼈습니다. 반대로 실제 업무에서 얻은 지식을 스터디를 통해 정리를 해보기도 했어요! 저는 제일 쉽게 활용했던 것은 예외처리, 열거 타입 활용이었는데요. 처음 개발한 숲;트리밍 개발에서 열거 타입을 사용하면 유지보수 관리에도 좋다고 느꼈고, 유저 상태 관리에 예외 처리를 활용하는 등 실 업무에 적용하면서 스터디를 병행하니 더 효율이 올랐던 것 같아요.

 

🌲 숲;트리밍 [자세히보기]
매일 음악을 듣는 일이 환경을 살리는 일로 이어지는 도심 속 숲을 만드는 나의 스트리밍 습관! 
숲;트리밍 프로젝트는 멜론 정기결제 이용자라면 누구나, 응원하는 최애 아티스트 이름으로 숲을 만들 수 있는 친환경 프로젝트 입니다. 아티스트와 팬의 연결을 도우며 K-Pop 팬들이 지구를 위한 친환경 영역에서 선한 영향력을 발휘될 수 있도록 돕자는 취지에서 만들어졌다고 합니다.

 

멜론 숲트리밍 서비스에 적용해본 enum 타입

 

 

 

 

 

스터디로 배운 것들을 업무에 열심히 적용해보고 계셨군요!

 

그렇다면~ 작년 12월, 처음 신입 개발자로 입사했던 나와 지금의 나를 봤을 때, 성장했음을 느끼나요?

 

 저, 로렌, 리버는 iOS 개발을 0부터 시작했던지라 지금에 와서 그 당시와 지금을 비교해보자면~ 조금은 성장했을 것이라고 생각하는데요. 저는 최근 제가 만든 신규 Feature(원터치 대여 팝업)가 Release 되었을 때, '아! 나도 이제 하나의 팀원 역할을 하는구나!'라는 생각이 들면서 성장의 기쁨을 느낀 것 같아요. 만약 성장의 단계가 있고, 가장 완벽한 단계를 10이라고 뒀을 때, 지금 제 위치가 어디일 것 같냐라는 질문을 하시면 저는 몇 단계인 것 같다고 말씀드리기는 어려울 것 같아요. 개발이란 게 배우면 배울수록 어렵고, 아직도 배울 것이 너무 많기에 지금 제 위치가 어디에 있다고 말씀드릴 수 없는 게 당연하다고 생각하거든요. 다만, 1인분을 할 수 있는 능력에 조금씩 가까워지고 있다! 그러나 왕도의 길은 멀고도 멀다~라고 말씀드릴 수 있을 것 같습니다. 

 

🏷 원터치 대여 팝업
카카오웹툰 사용자가 다음화를 빠르게 결제해서 볼 수 있도록 안내하는 팝업입니다.

 

원터치 대여 팝업

 

 

제 동기들보다 몇 달 정도 공부를 먼저 한 것이 전부여서 쑥스럽네요.. 저는 이론적으로 알고 있지만 실제 업무에 적용하는 게 어렵다는 것을 많이 느꼈습니다. 그러다 문득 제가 맡은 서비스의 코드가 아주 사알~짝 익숙해지는 느낌을 받았을 때가 있었는데, 그때! '아~ 내가 조금은 성장했구나!'라고 느꼈던 것 같습니다. 

 

 

 

저는 최근에 팀 사수님이 신혼여행을 가셨는데, 그 기간 동안 업무에 관련된 문의가 저에게 엄청 들어오더라고요.

이런 문의에 대한 답변을 하나씩 회신하면서 업무를 해나갈 때,

그래도 조금은 업무에 익숙해졌다는 생각이 들었습니다. 

 

 

 

입사하고 웹 개발을 처음 해봤는데, 어떤 프로세스로 일을 하고, 이슈에 대해서는 어떻게 해결해야 하는지 등 업무 스킬이 조금 늘어나는 것 같고, 개발을 전반적으로 넓게 경험하면서 그래도 성장하지 않았나 생각합니다. 

 

 

 

 

 

 

마지막으로! 앞으로의 스터디 계획을 알려주세요.

 

저희는 Swift 공식문서 학습이 끝나서 10월부터는 잠시 휴식기간을 가지고 있는데요~ 이제 기본적인 언어의 학습은 마쳤으니 조금 더 고급 레벨로 나아가기 위한 목표가 무엇이 있을지 고민하고 있습니다. 

내년에 저희와 함께 iOS 개발에 대해 학습해주실 시니어 분들~ 두 팔 벌려 환영합니다!!!!!!!!!!

 

 

 

지금 학습하고 있는 책이 끝나도 또 다른 책을 찾아서 하거나, 처음 도전했던 Effective Java를 다시 읽는 것도 고민하고 있습니다. 무엇이 됐든 계속 꾸준하게 학습하고 있을 것 같아요! 저희와 함께 학습하고 싶은 분들 언제든지 환영입니다. 함께 해요~!

 

 

 

마무리는 조기축구회에서 볼 법한 파이팅 포즈로~

 

 

 

 

 

이번 스터디 그룹 인터뷰를 진행하며,

우당탕탕 신입 개발자들의 성장 노트를 보는 기분이 들었습니다.

 

 

인터뷰 막바지에

'스터디가 본인들을 성장시키는데 정말 도움이 되나요?'라는

질문을 던졌을 때, 누군가 이렇게 말했는데요.

 

 

"영어 문법 공부를 하는 느낌인 것 같아요.

저희가 평소에 문법을 잘 몰라도 영어로 어느 정도는 말할 수는 있잖아요.

그런데 문법을 배우면 더 정교하게~ 더 잘 표현할 수 있는 것처럼

스터디는 저희가 성장하는 데 있어 그런 존재인 것 같습니다."

 

 

입사부터 지금까지 꾸준히 스터디를 하면서

성장하고자 노력하는 신입 개발자 분들을 보며

저도 열심히 배워야겠다는 생각이 샘솟는 하루였습니다.

(물론 생각만으로 끝나면 안 되겠죠..👀)

 

 

여러분들의 처음은 어떠셨나요?!

 

 

오늘 인터뷰는 여기까지입니다.

다음 스터디 그룹 소개에서 만나요~

감사합니다. 

 

 

 

아쉬운 사진 대방출~

 

 

 

 

📷 photo by. Selian