안녕하세요, 다람쥐입니다. 🐿️
지난 2월에 스마일게이트 개발 캠프 5기를 수료했는데요~
12월부터 3개월(온라인 1개월 + 오프라인 2개월)의 시간이 쏜살같이 흘렀네요.
아래 2월 결산에서도 개인적인 후기를 짧~게 나눠봤었죠.
이번엔 개발 캠프를 희망하는, 모든 분! 을 위한 글을 쓰려고 합니다.
철저하게 지원자의 입장에서 바라봤습니다!
개발캠프를 정말 좋아하지만, 이 글 만큼은 후배님의 편입니다. 😁
📢 글 읽기 전, 필독!
⚠️ 개발 캠프 관계자분은 'Control(CMD) + W'를 눌러주세요!
저의 상황과 여러분의 상황은 다를 수 있다는 점 양해 부탁드립니다.
또한 몹시 주관적인 의견입니다.
다른 분의 의견도 많이 참고해 주세요.
제가 후기 쓰라고 닦달해 볼게요. 🤣
🤔 '스마일게이트 개발 캠프'가 뭐예요?
개발캠프 홈페이지 설명을 읽어볼까요.
'스마일게이트 개발 캠프'는 개발자를 꿈꾸는 대학생에게 스스로 성장할 수 있는 기회를 마련해 주는 프로그램입니다.
당장 취업을 위한 스펙을 키우기보다는, 미래의 개발 리더로 성장하는 차별화된 몰입 경험을 제공합니다.
- 홈페이지 설명 中
아~ 그렇구나.
이게 무슨 말인가 싶죠?
저도 그랬어요.
여러분처럼 후기를 읽어 보기도 하고
유튜브 영상도 찾아봤어요.
그중 22년도 홍보 영상을 찾았습니다.
여러 번 돌려 봤어요.
존경하는 멘토님은 제쳐두고(?)
초반 이사님의 말에 힌트를 얻었습니다.
"스스로 성장하는 경험과 목표를 갖고, 개인이 꿈꾸는 개발자가 되기 위해서 노력하는 ⋯"
"자기가 20년, 30년 개발자로 살면서 끝까지 자기 목표와 성장을 관리할 수 있는 경험을 토대로 자신의 꿈을 계속 만들어 갈 수 있는 개발자가 될 수 있는 프로그램 ⋯"
문장의 호흡이 길죠~?
차근차근 키워드로 나눠볼까요.
- 성장
- 목표
- 관리
- 꿈
- 개발자
- 20년, 30년
여러분도 어렴풋이 취지가 느껴지나요?
아주 중요합니다!
잠깐 멈춘 다음 곱씹어 보아요.
🔍 개발 캠프의 취지가 궁금해요.
여러분이 생각하는 개발 캠프의 취지가 생겼을 겁니다.
저와 비교해 볼까요?
'목표'가 중요해 보입니다.
그럼, 목표를 달성해서 성장하는 게 취지일까요?
단순히 목표를 달성하는 게 다가 아닙니다!
'목표'와 '성장'은 별개입니다.
위 두 개를 '관리' 하는 경험을 하는 게 핵심입니다.
즉, 의식적으로 내 목표를 관리하고, 성장을 관리하는 연습을 해보는 게 취지입니다.
많이 와닿지 않죠?
대학생 때도 들어 본 적 없는 '관리' 라니...
"경영학을 배우는 건가???"라는 생각이 절로 듭니다.
하지만! '관리'는 정말 중요한 단어입니다.
기억에 남도록 '관리'라는 말을 의도적으로 많이 사용하겠습니다.
다음으로 홈페이지에서 개발 캠프의 취지를 더 찾아볼까요?
개발 캠프의 가치에서 중요한 가치가 보입니다.
바로 'Pass the Limit' 입니다.
능력의 한계를 넘다.
(중략) 통찰력 있는 개발자로 성장하는 첫걸음을 함께 합니다.
Pass the Limit
성장의 벽에 부딪힌 분들이 다시 한번 스스로를 인식하고, 자신의 한계를 뛰어넘는 도전을 함께 합니다.
앞선 이사님의 취지와 뭔가 비슷하면서도 다르죠?
'성장'을 개발 캠프의 가치로 구체적으로 정의하고 있습니다.
성장 = 한계를 넘는 도전, 통찰력이 생김
'통찰력'이라는 표현을 굉장히 좋아하나 봐요. 저는 잘 모르지만. 🤔
국어사전으로, '예리한 관찰로 사물이나 현상을 꿰뚫어 보는 능력'입니다.
한계를 넘는 도전으로 교훈과 깨달음을 얻고, 바라보는 시야가 달라진다는 의미가 아닐까 싶습니다.
개발 캠프의 취지를 정리하면 다음과 같습니다.
내가 관리합니다. 목표, 성장을.
꿈을 계속 만들고, 이뤄가는 개발자가 됩니다.
내 한계를 돌파합니다.
🙋♂️🙋🏻♀️ 어떤 사람이 지원하면 좋아요?
개발 캠프의 취지를 보며, 다시 한번 스스로를 곱씹어 볼까요.
- 의식적으로 목표를 관리해 본 적이 있는가?
- 온전히 내 것으로 만든 경험이 있는가?
- 내 성장을 의도적으로, 전략적으로 이뤄본 적이 있는가?
- 나는 20년, 30년 동안 개발자를 할 사람인가?
- 나는 꿈을 만들고 이뤄본 적이 있는가?
- 나는 달려가기만 급급하지 않았는가? 끊임없이 나를 돌아본 적이 있는가?
- 내 한계는 무엇이었고, 돌파한 경험이 있는가?
질문 하나하나 턱턱 막히죠?
괜찮아요, 정상입니다!
세상에 꿈을 이뤄본 사람이 몇이나 있을 거고.
1년 뒤도 모르는데, 20년 30년까지 어떻게 알 수 있겠어요~
한계를 돌파하기 위해 폐관수련 해 본 것도 아니고.
그렇지만!
꼭 혼자만의 시간을 가져서, 답을 해보셨으면 좋겠어요.
먼저, 메모장이나 노트에 질문을 모두 쓰는거죠.
방해받지 않고, 오로지 나를 위한 시간을 정해서
그 시간만큼은 돌아보는거죠.
나를 더욱 알아가는 의미있는 시간이 될 겁니다.
물론 개발 캠프를 수료한다고 해서,
모두 답할 수 있는 사람이 되는 것도 아닙니다.
그러나!
본격적으로 '개발자'로 사회에 진출하기 전에,
개발자로서 목표와 성장을 '관리' 하여 내 것으로 만드는 경험을 해보고 싶다!
벽에 부딪힌 내 한계를 깨부수고 싶다!
하는,
모든 분에게 개발 캠프를 추천합니다.
위와 같은 생각으로 성장 경험을 한 여러분과
그렇지 않은 또래와는
차원이 다른 성장 곡선을 그리리라 확신합니다.
📑 서류 평가 과정이 궁금해요!
거창하게 말했지만...
진입 장벽이 높은 곳은 절대로 아닙니다.
모든 대학생을 존중하는 곳이, 바로 개발 캠프입니다.
오히려 여러분들이 저보다 더 나을 수 있어요. 😁
2023년에 진행한 스마일게이트 개발 캠프는 11월 초까지 서류 지원을 받았습니다.
한국인을 위한, 공격적인 일정이 인상적이었어요.
모집 마감 이후 며칠 안으로 서류 결과를 받고, 면접을 봅니다.
또 며칠 후에 합격 결과를 받습니다!
어라, 벌써 11월 말입니다..!
그리고 12월부터 바로 시작합니다.
서류를 자세히 설명드리진 못하는 게 아쉽네요.
팁을 몇 가지 드리겠습니다!
기본적인 양식은 지켰는지 꼼꼼히 확인해 주세요.
필수 자료는 제출했는지 확인하기!
체크리스트로 만들어서 다시 확인하는 것, 추천합니다~
서류에 신경을 많이 쓰기, 꼭 명심해주세요!
캠프의 취지도 마음 속에 새겨둡시다!
몇 번을 강조해도 모자릅니다.
아직 고민을 해보지 않았다면...
아직 시간이 남은 후배님은 정말 행운입니다!
오늘부터라도 고민하고
그 답을 찾아가는 경험을 해보길 바랍니다.
일기나 블로그에 기록까지 해봐요!
꼭 개발 캠프가 아니더라도 여러분에게 반드시 도움이 될 겁니다.
막 서류 준비하다 급하게 이 글을 본 후배님도 계실 거예요. 😁
후배님의 경험을 꼼꼼히 돌아보고
진솔한 답변을 써 내려가기를 바라요.
서류에 신경 많이 쓰기!
개발 캠프 취지에 맞게 고민 많이 해보기
💬 면접 과정이 궁금해요!
서류 평가에 통과한 후배님!
서류 통과를 진심으로 축하드립니다.
여러분만의 개발 캠프에 대한 진심이 닿았을 겁니다.
마지막 관문만 남았는데요.
바로 면접이 남았습니다. 😁
면접은 다대다 PT 면접입니다.
잠시만요, 다대다 면접은 아는데, PT 면접은 뭔가요?
말 그대로 PT, 프레젠테이션입니다.
네... 같은 그룹 팀원과 발표해야 합니다, 발표...
총 면접 시간은 4시간입니다.
크게 PT 준비 시간과 면접 시간으로 이뤄집니다.
서로 인사는 하는데, 친해질 새가 없습니다...
화장실 같이 간 타이밍에 친해진(?!)
진짜 정신 차려보면 면접 보러 가야 합니다. 🤣🤣
세상에서 가장 빠른 시간이었습니다.
이론적으로는(?) 준비가 가능한 시간입니다.
나름 재미도 있었습니다.
후배님도 꼭 경험해보면 좋다고 생각합니다.
'와, 이걸 실제로 하네?' 의 신선함이었습니다.
면접은 PT 면접과 개인 면접으로 진행됩니다.
PT 면접은 함께 과제를 수행하면서 어떻게 협업했는지를 중심으로 봅니다.
갈등은 없었는지, 역할 분배는 어떻게 했는지, 서로 싱크가 잘 맞게 소통했는지 등등 ~
제 생각에도 협업을 중심으로 물어볼 것 같았어요.
터무니없이 짧은 시간에 완성도를 볼 것 같진 않았죠.
저의 전략은 타직군과의 협업이었습니다.
실제 발표도 그 부분을 강조했었습니다.
( 의리 없게 몰래 저만 한 것 아니고, 언급했습니다... 😅 )
저희 PT 면접 어땠냐고요?
나쁜 의미로 물어볼 게 없다고...
바로 개인 면접으로 넘어갔습니다. 🤣🤣
꿈과 희망이 가득 찬 행복 회로를 돌렸지만, 현실은 그렇지 않은 느낌일까요.
정말로! 준비 시간이 짧아요. 갈등이 있을 틈이 없어요. ㅋㅋㅋ
아마 의도대로 된 팀이 있을까 싶긴 한데... 현업자끼리 있으면 가능할수도...?
어쨌든 개인 면접으로 넘어가 볼까요.
여느 다대다 면접이 그렇듯, 질문 하나 당 모든 지원자가 대답하는 식입니다. (순서는 유동)
개인 면접은 카메라만 없을 뿐, 정말 가벼운 인터뷰 분위기였어요.
편안한 분위기로 유도해 주셔서 스몰 토크라고 생각해도 무방합니다.
개발 예능 유튜브로 올라간다(?), 라고 생각하면 마음이 편하지 않을까 싶네요.
그럼에도 사람에 따라서 긴장될 수도 있지만... 압박 면접은 아니었습니다.
후배님에게 아주 좋은 소식이 있습니다.
바로 기술적인 질문을 크게 안 합니다.
'크게' 안 하는 거지, 할 수도 있습니다. 😁
따로 달달 외울 정도로 준비하지 않아도 될 정도라고 보면 되겠습니다.
서류 평가에서 제출한 것 정도만 물어봐요.
그것도 당황스러울 수 있겠지만...
CS 따위는 안 물어 봤다는 것, 굉장한 희소식이죠?
저한테 한 질문이 어떤 건지 기억을 떠올려 보겠습니다.
면접관님 : 오우. 서버 개발잔데 이것 저것 많이 하셨네요? Swift 도 있고, React 도 있고.
면접관님 : React 프로젝트는 어떤 역할 하셨어요?
다람쥐 : 현업자 사이에 낀 생초짜라 눈치로 코딩하고, 잡부(?) 역할 했습니다! 👍 (중략)
네, 그만 떠올려 보죠.
저한테 시선이 안 왔으면 좋겠는데...
대학생 사이에 경력이 있다 보니 어그로(?)가 자연스레 끌리더라고요.
열심히 웃고 리액션(?)하면서 지원서에 적지 않은 진솔한 답변도 했습니다.
면접관님 : 캠프는 보통 개발 시작한 지 얼마 안 된 대학생이 많이 와요~
면접관님 : 다른 지원자와 다르게 경력이 있으신데 캠프에 지원한 특별한 이유가 있을까요???
예상한 질문입니다. 😎
물론 예상만하고 답변은 임기응변이었어요.
'이런 경험이 있었지만, 이러한 상황으로 어떤 기술적인 벽에 막혀있는 상태이고 앞으로 캠프에서 이렇게 해결을 해 볼 생각이다.'
'이러이러한 상황으로 멘토가 필요한 상황이다.'
라고 답변했었어요.
의식하지는 않았지만, 결과적으로 개발 캠프의 취지와 연결되게 답변했네요.
그래서 합격한 게 아닐까 생각이 듭니다.
유튜브 홍보 영상 많이 보면 좋은 점이, 내적 친밀감이 쌓인달까요.
실물이 훨씬 좋으셨습니다. 😁
면접에서도 유튜브로 봤었다고, 저의 마음(?)이 담긴 소심한 👍 최고를 보냈습니다.
저도 면접이 오랜만이라 굉장히 떨리더라고요. 또 소심한 편이기도 하고요. 😅
다행히 개인 면접부턴 그럭저럭 괜찮아졌어요.
분위기에 몸을 맡기고, 상체를 면접관님 쪽으로 기울이고, 리액션도 열심히 하면서 긴장이 좀 풀렸습니다.
앞 면접관님과 똑같이 고개가 돌아가서 옆 친구 이야기를 들었습니다.
그... 같이 발표 준비하면, 없던 동료애도 생기더라고요.
미소를 지으며 고개를 끄덕이면서 '잘하고 있어!'라는 텔레파시도 보냈습니다.
오히려 이러면 저한테 질문이 안 들어오더라고요??? 위장인가
제일 기억나는 질문이 있는데요.
면접관님 : 개발에 몰입하면서, 내가 이것까지 해봤다? 싶은 게 있을까요. ㅎㅎ
아~ 너무 많아서 뭘 이야기할까 한참 고민했네요. 😂😂
그냥 생각나는 거 다 이야기 했어요. ㅋㅋㅋ
고등학교 기숙사 때 노트북 반입이 안되는데, 몰래 들고 가서 안들키게 개발한 썰.
퇴근하다 서버 터져서(?) 지하철에서 노트북 펴서 작업하고, 그 날 새벽까지 카페에서 작업한 썰.
정도 이야기 했던 기억이 나네요.
해커톤을 돗자리 깔고 종이 박스에 노트북 두고 해봤다 라든지...ㅋㅋㅋ,
다음 날 쓰러질 때(?)까지 해봤다 라든지...
(뭔가 걱정하실 것 같아서 안했습니다...)
(+추가 그 일이 실제로 일어났습니다...?)
명절에 친척집 가서, 친척집 컴퓨터에 개발 툴 깔아서 개발 해봤다 라든지... (그러고 망가뜨린...)
훨씬 많은데, 당시에 저것 밖에 기억이 안나더라고요~
(속닥) 개발 캠프를 하면, 다음부턴 이 질문에 반드시 대답할 수 있을 겁니다!
저는 개발에 몰입하느라, 하루에 점심 저녁 안먹고 세미나까지 발표하고, 저녁 9시까지 안 풀리는 거 해결했었어요. 😁😁
뭔가 안쓰럽긴 하지만...? 그래도 정말로 몰입한 건 맞으니까요 ㅋㅋㅋ
자, 이제 면접 꿀팁을 소개할게요.
'최대한 편하고 재밌게 진솔하게 보면 돼요!'
... 라고만 하면 욕 하겠죠~?
그 당시에 느꼈던 점 몇 가지를 소개할게요!
첫 번째, '할 말, 안 할 말을 구분하기'
굳이 안 해도 될 말은 안 하는 게 좋습니다.
당연한 소리라고 느끼겠지만, 당시 제 옆 친구에겐 아니었던 것 같네요.
'너무 솔직하지는 말라',라는 조언과 비슷합니다.
진행중인 다른 교육이 입으로 나온 순간 속으로 '헉...' 했습니다.
아마, 저만 '헉...' 한 건 아닐 겁니다.
그거 사실 저도 했는데... 일부러 면접자끼리만 있을 때도 이야기 안 했습니다. 😅😅
두 번째, '재질문을 하지 않게 하기'
방금 대답한 질문과 똑같은 질문을 다시 받는다, 그러면 적신호입니다. 🚨
머릿속이 하얘져 다른 대답이 생각이 안 난다면, 잠깐 생각할 시간을 달라고 하는 게 좋습니다.
또는 정말 의도를 모르겠다면, 죄송한 모습과 함께 솔직하게 물어보는 게 좋습니다.
같은 대답을 계속 다시 하는 건, 모두의 머릿속에 물음표를 띄웁니다. ❓
어떻게 보면 눈치와 같은데요.
쉽지 않지만... 상대방이 원하는 대답이 무엇일까, 재빨리 캐치해서 명확하게 이야기하는 게 좋습니다.
A를 답했는데, 재 질문을 받는다면 A는 절대 아니라는 뜻입니다...!
A 말고... A1, A2, A3 말고... B, C, D,... 안에서 말해달란 뜻입니다.
보통, '왜 그렇게 생각하세요?'라는 질문에서 이런 현상이 나타납니다.
면접관님 : A 라고 하셨는데, 왜 그렇게 생각하세요?
면접관님 : ~~~ 이었어서, A1 때문인 것 같습니다.
일동 : ?
지금 누워서 보는 후배님(?)에게도 일어날 수 있는 일입니다.
한 번에 퉁쳐 버리는, 상대방이 할 말을 잃게 만드는, 답변 말고
객관적으로 질문의 의도를 분석해 보고, 본인의 진솔한 의견과 이유로 답하기를 바라요!
여기서 팁을 드리자면, 최대한 긍정적이고 건설적으로 생각하는 겁니다.
부정적인 사고는 최대한 하지 않는 게 좋습니다.
부정적인 A 만 말한다면... 긍정적이고 건설적으로 생각하지 않는 사람이라는 걸 모두에게 알리게 됩니다.
세 번째, '질문거리 챙겨가기'
질문할 수 있는 시간이 있습니다.
그래도 먼 길 왔는데...
어쩌면 마지막(?)일수도 있는 기회를 챙겨가면 좋겠습니다.
개발 캠프에서 궁금한 점,
면접에서 이해가 되지 않았던 점,
아까는 생각이 안났는데 생각난 답변 등등...
개발 캠프와 면접에서 못 다한 이야기를 나눌 수도 있습니다.
개발 캠프와 면접에서 질문이 없다면...
TMI 일수도 있지만
개인적인 개발자 진로 고민,
앞으로 어떤 공부를 하면 좋을지,
제가 실력 또는 성격이 이러 이러한데 잘 할 수 있을지 등등...
긴 답변을 받지 못하겠지만,
멘토링을 받는다! 라고 생각하면 좋을 것 같아요.
당시엔 생각이 안날 수도 있으니, 이것만큼은! 따로 준비해가면 어떨까 싶습니다.
면접관님도 후배님을 더 알게 되고, 고민에 진심으로 귀기울여 주실겁니다.
저는 '개발 캠프를 왜 하는지! 개발 캠프의 취지' 를 물어봤었어요.
뭔가 기계적인 답변이 돌아오긴 했는데.. 🤣🤣
그래도 제가 알고 있는 게 맞는지 확인을 했었네요.
남들이 모르는 정보도, 우연치 않게 듣고???
면접으로 최대한 많은 걸 얻어가시길 바랄게요.
부디 저의 개발 캠프 후기를 보고
많은 궁금증을 가져가셨으면 좋겠어요. 😁
블로그 후기 보고 개발 캠프를 알게 됐고...
다람쥐님 후기 글에서 많이 봤다고...
저의 안부(?)도 전해주세요. 😂😂😂😂
길고 긴 면접이 끝나고, 면접비도 받고, 남은 간식도 챙겨가고(?)
즐겁게 집으로 가는 후배님이 되었으면 좋겠네요.
위에 써놓은 사례와 다르게, 전체적으로 면접 분위기는 나쁘지 않았습니다. (진짜로)
물론 계속 '하하 호호' 한 분위기는 아니었는데, 적당한 '하하 호호'는 있었습니다.
끝나고 같은 면접을 본 친구와 버스를 탔어요.
자기 진로에 확신도 있고, 붙임성도 좋고, 본인만의 목표가 확실한 친구였는데요.
같이 붙었으면 좋았을 텐데, 아쉽네요.
( 혹여 이 글을 보고 연락 준다면 밥 한 끼 사줍니다. 😊😊 )
여담으로 학교 후배에게 남은 간식들 줬는데,
비싸고 맛있는 간식들이라고 하더라고요.
저는 전혀 몰랐던...
---
24년 5월 업데이트
저도 요새 면접을 막 보러 다녀서 그런지
어떻게 해야 면접을 좋게 볼 수 있는지 고민하고 있습니다. 😁
'대화'를 하는 게 핵심인 것 같아요.
앞서 말했다시피 '면접관님' 뿐 아니라 '다른 지원자'의 말에도 귀를 기울이고
일방적인 소통이 아니라, 상호 소통이 일어나고 비언어적인 요소도 활용하고
편안한 분위기를 만들어주는 진짜 '대화'를 한다면 마음이 갈 수 밖에 없는 것 같습니다.
경험이 없는 대학생 2~3학년(또는 4학년)을 대상으로 하다보니 경험이 유의미하지는 않을 수도 있어요.
스스로를 돌아보고 개발에 깊은 고민을 하며 진솔한 대화를 하는 사람이
더욱 눈에 띄지 않을까 싶습니다.
꼭 면접관님 입장 뿐 아니라, 지원자 입장에서도 대화가 되고 있구나를 느껴야
저도 더욱 애정이 생기더라고요. 😁😁
'개발 캠프를 위해 프로젝트를 더 해야 해!', '개발 실력을 더 키워야 해!' 보다는
스스로를 깊게 돌아보고, 개발자가 왜 되고 싶은지, 개발이란 무엇인지 몇 날 며칠을 고민해보고
많은 사람과 이야기를 하면서 이야기에 살을 붙여보는 게
개발 캠프 뿐 아니라 면접에서 합격하기 위한 진정한 '꿀팁'이 아닌가 싶습니다.
특히 회사 면접은 매일 봐야 하는 같이 일할 사람을 뽑는 거기에
면접 시간 때 의미가 있었고 즐거웠던 사람에게 마음이 더욱 갈 수 밖에 없어 보여요.
'대화'를 하는 것 만으로 다른 지원자와 확연히 다른 '차별점'이 된다는 게...
사회가 너무 삭막한가 싶으면서 뭔가 씁쓸하기도 하네요.
면접은 편한 분위기!
인사하고, 리액션 잘하고, 잘 웃고, 모든 사람에게 경청 잘 하기!
깔끔하게, 담백하게, 답변하기
긍정적으로 생각하기
질문거리 미리 생각하고 가기!
'대화'를 하기, 나와 개발을 충분히 깊게 고민해보기
🔥 서류 / 면접 탈락자를 위한 MINI CAMP DAY
서버 개발 캠프가 모든 대학생을 만나겠다는 포부가 있다는 사실 알고 계셨나요?
홍보 영상에서도 잠깐 나왔었는데요.
이번 5기가 시작되기 전에
서류 / 면접 탈락자를 위한 피드백과 진로 고민을 해소해주는 행사를 열었다고 합니다!
'개발자로 어떻게 성장해야 하는가?' 가 주된 내용이었다고 하네요.
어떻게 공부하고, 나아가야 하는지 특강을 듣고,
여러 멘토분이 멘토링도 해주는 시간을 가졌다고 하네요.
앞서 면접에서 피드백을 못 받았더라도
이 행사에서 많은 걸 얻어갔으면 좋겠네요. 😊
많은 사람들이 참석했고 많은 질문이 오갔다고 하네요.
서버 개발 캠프 5기도 '이런 행사가 있었다!' 라는 사실을 지나가듯 알려주셨는데요.
스마일게이트가 개발자가 꿈인 대학생에게 아주 진심인! 곳이라고 자신할 수 있습니다.
2023년에는 이런 행사가 있었지만,
2024년 이후부터 같은 행사가 열릴지는 잘 모르겠네요..!
위와 같은 행사가 열리지 않았고 피드백을 받고 싶은 분이 계시다면,
메일로 정중하게 한 번 요청해 보는 것 추천드려요. (밑져야 본전이니...!)
<후기>
🏁 오리엔테이션엔 뭐 했어요?
면접까지 합격한 후배님!
고생 많으셨어요. 👏👏👏
제 조언이 도움이 되었다면 좋겠네요. 😄
이제 캠프를 즐길 일만 남았습니다.
OT 오리엔테이션부터 첫 시작입니다.
면접 본 곳에서 OT를 진행합니다!
PTSD가 올 뻔했지만, 사소한 건 넘어가죠.
재밌는 아이스 브레이킹도 하고,
로비 투어도 하고,
맛있는 점심 식사도 했습니다.
스마일게이트 개발 캠프와 관련한 임직원분들은 다음과 같아요.
- 이사님
- 개발 캠프 총괄 책임자입니다. 아까 개발 캠프 유튜브 홍보 영상에서 뵀었죠!
- 개발 캠프 5기 사이에선 분위기를 압도하는 카리스마를 가지고 계십니다.
- 붕어빵을 행복하게 주문하시는 모습을 목격했다는 제보가 있습니다.
- 캠프장님 (이하 멘토)
- 개발 캠프 취지에서 잠시 제쳐뒀던, 기술멘토님입니다. 멘토링과 교육을 지원하고, 전반적인 캠프를 진행합니다.
- 개발 캠프 5기 사이에선 캠프의 아버지라고 불립니다.
- 클로바노트로 통계를 내면 말의 지분이 8할을 넘는 기록을 보유하고 계십니다.
- 인재영입팀
- 개발 캠프 생활을 지도하고, 멘탈을 케어해 주고, 불편한 점이 없는지 늘 물어봐 주시는 고마운 분들입니다.
- 부탁을 드린다면 기꺼이 취업을 위한 첨삭도 진행해 주십니다.
- 개발 캠프 5기를 담당한 과장님은, 개발 캠프 5기 사이에선 캠프의 어머니라고 불립니다.
각 팀장님들도 계시지만 자주 만나거나, 이야기를 나누진 못했습니다.
저의 존재는 알까 싶네요. 😅
어쨌든, OT 오후 일정으로 이사님과 캠프장님의 강연을 들었습니다.
이사님은 키노트 / PMP 강연을 하십니다.
참고로 PMP 강연 무진장 중요합니다.
뭔 소린지 잘 몰라도, 꼭 메모하며 듣는 걸 추천드립니다.
멍 때리면 길지 않은 순간에 저처럼 후회할 수도...
캠프장님의 캠프 일정과 팀 빌딩이 진행됩니다.
3개월간 함께 할 팀원과 만나게 됩니다.
서로 인사도 나누고, 팀명도 전하고, 앞으로 회의는 어떻게 할지 등등을 정합니다.
캠프와 관련한 서류를 처리하면 귀가합니다!
끝나고 시간 맞는 사람끼리 치킨을 먹으러 갔습니다. 🍗
저는 판교에서 친구와 선약을 잡은 터라, 아쉽게도 못 갔어요.
⛄️ 12월엔 뭐 하나요?
12월은 온라인으로 진행해요!
개인 과제와 PMP 리뷰 일정이 있습니다.
개인 과제
개인 과제는 세 가지 주제가 있습니다.
URL 단축, 인증, 블로그로 나뉩니다.
직군 구분 없이 모든 캠프원이 같은 과제를 진행합니다.
개인 과제로 본인의 한계를 보여줘야 합니다.
내가 가장 익숙한 도구로, 난 이런 것까지 할 수 있다, 를 자신 있게 보여주는 과제입니다.
참고로 저는 SNS 프로필 링크를 만들어보자,라는 거창한 계획을 세웠다가
연말 약속과 예상치 못한 거대한 PMP 리뷰에
URL 단축과 프론트 작업, 블로그 NoSQL 연동하고 끝났습니다. 😇
지금이라도 해볼까요?
PMP ( Project Management Plan )
PMP는 Project Management Plan의 약자입니다.
PMP 준비에 생각보다 시간을 많이 쓰게 될 겁니다.
1. 프로젝트를 소개하고,
2. 어떻게 프로젝트를 완성까지 관리할 건지,
3. 구체적인 계획을 작성해야 합니다.
위 세 가지 중에 하나라도 빠지면, PMP 가 아니라고 합니다...!
여기서 아주 중요한 근본이 빠졌습니다.
바로 '여러분의 목표'와 '마감 시간'입니다.
즉, 프로젝트는 나와 내 팀원의 '목표'를 달성할 수 있게 도와줘야 합니다.
프로젝트는 '마감 시간'이 정해져 있습니다.
'마감 시간' 안에 프로젝트로 어떻게 나의 '목표'를 달성할 건지 구체적인 계획을 세웁니다.
팀원과 함께 달성할 수 있는 나의 '목표'가 있을 거고, '나만의' 목표가 있을 겁니다.
팀원과 어떻게 함께 달성하고, 나만의 목표는 어떻게 달성할 건지 시뮬레이션을 해야 합니다.
여기에는 기간도 함께 포함됩니다.
학습에 초점을 둔 목표라면, 어떻게 학습할 건지 구체적인 계획을 작성합니다.
어떤 콘텐츠를 언제까지 볼 거고, 어떻게 공부할 거고, 어떻게 프로젝트에 기간별로 녹여낼 건지 등을 자세하게 작성합니다.
태도에 초점을 둔 목표라면, 어떻게 측정할 건지 구체적인 계획을 작성합니다.
특정 기간마다 팀원의 피드백을 받는다든지, 회고 문서를 며칠마다 남긴다든지, 측정 기준은 어떨지 등을 작성합니다.
팀원과 같이 달성하는 목표라면, 팀원과 어떤 과정으로 목표를 달성할 건지 구체적인 계획을 작성합니다.
나의 역량을 숨김없이 소개하고, 팀원과 역할을 나누고, 기간별로 어디까지 기여할 건지 등을 자세하게 작성합니다.
PMP 준비로 다음과 같은 사실을 알 수 있습니다.
이대로 진행해도 문제없을 정도로 설득이 되는,
목표와 성장을 '관리' 해보는 계획을 세워봅니다.
개발 캠프에서 만큼은 프로젝트는 나의 '목표'와 '성장'을 위한 '재료' 일 뿐입니다.
팀원과 협업하는 경우, 나의 역량을 숨김없이 말하고, 역할을 나눠, 기여할 계획을 세우는 게 핵심입니다.
역량 / 역할 / 기여에 대한 충분한 근거를 고민해보세요.
위 정리글은 수 십 번 따라 하시길 바라요. 😎
아무리 강조해도 지나치지 않습니다.
PMP는 물론 이후 프로젝트 진행에서, 위와 같은 사실을 깨닫지 못하면 말짱 도루묵입니다.
PMP를 준비하는 후배님은 널리 알려주세요.
설령 다른 팀원은 모른다 해도, 후배님 만큼은 명심해 주세요. 😊
후배님의 목표만큼은, 개발 캠프에서 챙겨가길 바라요.
두 달은 굉장히 짧은 시간입니다.
말이 두 달이지, 가용 시간을 따져보면 한 달 보름도 안 되는 시간입니다.
추석도 있고, 주말에 놀아야 되고(?), 장표 준비해야 하는 시간도 고려해야 합니다.
다시 강조하지만
짧은 시간 안에 달성할 수 있는 나의 '목표'를 만듭니다.
이를 '프로젝트'라는 수단으로 달성하는 계획을 세워 '관리' 하는 게 핵심입니다.
하루하루 내가 목표에 도달하고 있는지, 스스로 회고해 보세요. 문서로 남기면 베스트!
추가 요구사항
자, 여기까지 잘 따라오셨나요?
여기까지는 이사님의 요구사항입니다.
이제 캠프장님의 요구사항이 추가되기 시작합니다.
한계에 부딪힌 기술 역량의 벽을 부수기
나의 성장을 위한 목표를 세우고 관리하기도 머리 아픕니다.
프로젝트는 수단일 뿐인데, 내 한계까지 넘어서야 한다니...
한계를 넘어서는 것 자체가 큰 목표인데, 이 목표 하나만으로도 벅차요.
기껏 내가 세운 목표까지 바꿀 정도로 영향을 줘요.
어느 장단에 맞춰야 하나요? 😭😭
괜찮아요.
개발 캠프 5기 전원도 혼란을 겪었습니다.
이 목표는 분명히 큰 목표입니다.
큰 목표는 더 이상 개인의 레벨이 아닙니다.
팀원끼리 나눠야 합니다.
여기서 여러 문제가 발생하게 됩니다.
바로 '프로젝트'는 개인의 소유가 아니라 '공유자원' 이기 때문입니다.
- 나의 기술적인 한계는 무엇인가?
- 나의 한계를 부수려면 어떤 목표를 가져야 하는가?
- 기존의 내 목표에 녹여낼 순 없을까?
- 한 달 보름이라는 시간에 맞게 목표를 다시 조정해 볼까?
- 내 한계를 부수는 프로젝트가 다른 팀원에게도 설득이 될까?
내 기술적인 한계를 돌아보고, 내 목표를 다시 조정하는 것까지는 할 수 있습니다.
그러나 마지막 항목은 더 이상 내가 통제할 수 있는 영역이 아닙니다.
팀원과 많은 이야기를 나누고, 매 번 각자가 1~5번을 반복해야 합니다.
공유자원인 프로젝트가 변경되는 순간, 내 목표도 '리밸런싱' 되어야 합니다.
사실 5번에서 한계를 다른 사람이 간섭하기가 어려워요.
한계가 큰 사람에게 맞춰질 수밖에 없어요.
한계가 큰 사람이 적게 가져간다면, 오히려 난이도가 낮아집니다.
그 프로젝트는 더 이상 한계에 부딪힌 프로젝트가 아니게 됩니다.
즉, 요구사항 자체를 만족하지 못하게 됩니다.
5번에 관한 해결책으론 다음과 같습니다.
- 팀원과 같이 통나무 들기
- 나만 추가 통나무 들기
1번은 팀 목표로 가져간 케이스입니다.
다만 개인 목표 비중이 줄어들 수 있습니다.
물론, 개인 목표가 부족했던 사람에겐 좋을 수 있어요.
2번은, 1번을 선택할 수 없을 때 선택할 수 있습니다.
개인 목표의 비중을 더 크게 잡아갈 수 있습니다.
같이 하면 물론 좋지만, 혼자 해야 하는 상황도 있기 마련입니다.
( 얼마든지 충분히 일어날 수 있는 상황이니, 이상한 현상은 절대 아닙니다. )
내가 감당 가능한 나의 목표의 총량은 정해져 있습니다.
개인 목표와 팀 목표의 적절한 밸런스를 맞춰가길 바랍니다.
아래 수식을 수치화해서 팀원에게 보여주세요.
내 목표 총량을 10으로 두고, 각 목표에 내가 생각하는 감당 가능한 숫자를 부여해 보세요.
감당 가능한 숫자는 난이도에 비례할 수도 있고, 심리적인 부담감에 비례할 수도 있습니다.
각 목표는 개인 목표와 팀 목표로 카테고리화합니다.
모두가 개인 비중이 높은 프로젝트도 존재할 수 있고,
모두가 팀 비중이 높은 프로젝트도 존재할 수 있습니다.
가장 중요한 건 '내가 감당 가능한가'입니다.
감당 가능한 내 목표 총량 ≧ 개인 목표 + 팀 목표
총량 : 10
[개인] 게이트웨이 : 2
[개인, 팀] Kafka : 3
[팀] CRUD : 0.5
[개인] NoSQL : 1
[개인,팀] Streaming : 3
[개인] 새로운 프레임워크로 간단한 마이크로서비스 만들기 : 0.5
개인 비중 : 95%, 팀 비중 : 65%
그다음 문제가 있습니다.
바로 한계를 넘는 목표는 계획을 세우기가 굉장히 애매합니다.
왜냐면 모르기 때문이죠!
리서치를 해서 억지로 정할 순 있습니다.
그러나 그게 그대로 적용되리라곤 기대할 수 없습니다.
예상치 못한 병목이 발생할 수 있기 때문이죠.
그렇지만, 계획을 억지로라도 세워야 합니다.
행복회로를 돌렸을 때, 이 기간엔 여기까지 되어야 해! 가 명확해야 할 필요성이 있습니다.
실제로 그 기간에 거기까지 되지 않았을 때가, 바로 벽에 막힌 순간이라는 걸 알려주기 때문입니다.
벽에 막힌 순간, 바로 요구사항의 근원(?)인 캠프장님과의 멘토링을 요청합니다.
멘토링할 때도, 계획이 있어야 되는 이유가 있습니다.
우리의 계획이 이거고, 지금 여기까지 되어야 하는데, 이런 상황 때문에 진행이 안되고 있다, 를 빠르게 전달할 수 있습니다.
그렇지 않다면, 8할이 넘는 애정어린 잔소리(...)를 들을 수 있습니다.
저도 이 사실을 알고 싶지 않았지만...
후배님은 돌파구를 찾거나 계획을 조정하는, 만족스러운 피드백을 받기를 바랍니다.
다만, 후배님이 알아야 할 점은 멘토링이 만능이 아니라는 점입니다.
직접적이고 본질적인 해결책을 못 받을 수 있습니다.
우회하거나 돌파할 수 있는 '계획을 정하는' 멘토링이지, 실제로 디버깅을 해서 기술 이슈를 고쳐주는 멘토링은 아닙니다.
그건 같은 캠프원에 천재 한 명은 있을 테니깐, 고쳐달라고 하면 됩니다. (?)
( 알게 모르게 천재 전형이 있을 수도? )
어쨌든 후배님이 겪을 혼란이 줄어들었으면 하는 마음입니다.
이렇게 정리하지 않았다면, 내가 왜 혼란을 겪는지도 몰랐을 겁니다.
고통받는 캠프원 동료가 있다면 이 글을 소개해 주세요. ( 광고도 눌러주시고 )
PMP 리뷰
이렇게 준비한 PMP는 12월 말에,
직설적인 화법으로 폭풍 카리스마를 가진 이사님께 발표합니다.
이쯤 되면 PMP 리뷰의 악명을 듣게 될 겁니다.
이전에 받은 사람들이 PMP 리뷰를 받고 울었다더라, 팩폭을 맞아서 표정이 안 좋더라, 등등...
아마 여러분의 미래가 될 수도 있습니다.
괜찮아요.
다른 캠프 사람도 그랬고, 저희 팀도 이게 무슨 PMP 냐고 들었습니다.
그러고 나서 이어지는 '역할'과 '협업'의 관한 장대한 대서사를 듣고 왔습니다.
네, 제가 괜히 이 글에서, PMP 항목에 많은 투자를 한 게 아닙니다.
부디 후배님은 '나쁘지 않았다' 정도는 받기를 바랍니다.
칭찬받고 누가 알려줬냐 하면, 저라고 소개해주세요. 😁
제가 본 이사님은 놀라운 분입니다.
잠깐의 휴대폰 메모 / 패드 필기로
모든 피드백과 해주고 싶은 말을 정리해서 알려줍니다.
그냥 알려주는 게 아니고, 귀를 넘어서 가슴까지 직격(?)합니다.
예전에 이사님도 개발 캠프에 직접 관여하신 걸로 알고 있어요.
대학생과 사회 초년생의 특징을 제대로 알고 계십니다.
겸손한 태도로 배우고 온다고 생각하면, 마음이 한결 편해질 겁니다.
저는 소심해서 '그 분위기'에 대답하는 게 쉽지 않았는데,
철판 한 번 깔아보는 것도 좋은 경험일 것 같네요.
개발 캠프 후배님이 직접 겪으신다면,
제가 말한 '그 분위기'가 무엇인지 바로 알게 될 겁니다. 😁
⭐️ 본격적인 오프라인 시작 전, 개인적인 조언
❗️ 주의. 굉장히 꼰대 같은 조언일 수 있습니다.
1월부터 본격적인 오프라인이 시작됩니다.
저희 팀원에게도 넌지시~ 했던 말인데. 아마 아무도 눈치를 못 챘을 겁니다.
여러분에게도 무슨 소리인 걸까, 잘 와닿지 않을 수 있습니다.
실제 캠프를 하면서 아래와 비교해 보는 것도 추천합니다.
또는 나라면 어떻게 할까, 를 고민하는 것도 좋습니다.
1. 개발 캠프는 나의 커리어의 시작점
개발 캠프가 여러분의 커리어의 '시작점'이라고 생각해 주세요.
비유가 아니라, 정말로 '시작점'입니다.
이는 다양한 의미가 있어요.
여기서 나는 대학생이 아닙니다.
그렇다고 동아리를 하는 것도 아닙니다.
정말 '개발자' 신분으로 마음 가짐을 잡는 거죠.
'개발자' 신분이란 건 뭘까요?
'일'을 하고 있는 사람입니다.
'일'을 하고 있단 건 '직장인'이라는 말도 성립합니다.
'평판'도 꼬리처럼 따라오게 됩니다.
2. 개발 캠프는, 마음껏 실험할 수 있는 샌드박스 환경
실제로 나는 '개발자'도 아니고, '직장인'도 아니지만
그렇다고 치고, '연습' 해 보는 겁니다.
개발 캠프는, 시행착오를 마음껏 실험할 수 있는 샌드박스 환경입니다.
'개발'과 '일'은 같을 수도, 다를 수도 있습니다.
일을 잘하고, 일머리가 좋다는 건 개발 실력과 관계가 없을 수 있습니다.
하드 스킬보단 소프트 스킬에 속하겠죠?
일을 잘하는 사람, 즉 '일잘러'가 되기 위해 어떻게 해야 하는가?
( 유튜브에 많이 나와 있으니 참고해 보세요. )
소프트 스킬도 개발 캠프 내에서 충분히 길러볼 수 있는 영역입니다.
특히 커뮤니케이션 연습을 마음껏 할 수 있습니다.
인재영입팀과의 소통으로, 타 부서와 어떻게 해야 잘 소통하는지 연습할 수 있습니다.
실제와 다른 점은, 개발 캠프 인재영입팀은 우리에게 아주 많은 호감을 갖고 있는 상태입니다.
실수를 해도 귀엽게 봐주신다는 게 가장 큰 차이점입니다. 🥰
보통은 다른 직원분처럼 어색한 인사를 나누는 사이가 디폴트입니다. 😅
( 그래도 인사 잘하기! )
미래의 팀 또는 부서에 나이가 많은 분이 계실 수 있습니다.
주변에서도 "우리 파트에 앞자리가 '4' 또는 '5'인 분들이 있어서 걱정이야"
라는 고민이 실제로 꽤 있습니다. (농담이 아닌 찐 고민) 😅😅
그런 분과의 커뮤니케이션도 미리 연습해 볼 수 있습니다.
어떻게 해야 좋은 관계를 유지하고 배려를 하며 커뮤니케이션을 할 수 있을까, 여러 가지 실험해 볼 만합니다.
개발 캠프에 아주 좋은 분이 계시죠?
인재영입팀과 비슷한 이유로, 커뮤니케이션 난이도는 '하'입니다.
실험을 하는 것도 좋지만, 피드백도 받는 걸 추천드립니다.
당연히 좋은 피드백을 남겨 주실 겁니다.
피드백 요청 별 거 없습니다.
'이번에 이렇게 해봤는데 어떠세요?'만 물어봐도 됩니다.
또 다른 예로 상대방 시간을 배려하는 걸 들 수 있습니다.
상대방의 시간을 존중하기에, 일을 할 때 어떻게 효율적으로 커뮤니케이션을 할까?,
회의 시간은 어떻게 줄일 수 있을까?, 요청을 주고받는 시간을 어떻게 줄일까?,
라는 걸 자연스레 고민하게 됩니다.
마지막으로 '평판'을 쌓아보는 연습을 마음껏 할 수 있습니다.
평판은 곧 어떤 조직에서 영향력을 얼마나 끼치는 사람인가, 를 알려주는 척도입니다.
조직에서 평판이 나쁘다는 건, 한 마디로 같이 일하기 싫은 동료라는 거죠.
반대로 평판이 좋다는 건, 같이 일하고 싶은 동료고 기여도가 높고, 영향력이 강한 사람입니다.
'좋은 평판'을 쌓으려면 어떻게 해야 할까? 도 고민해 볼 만합니다.
첫 번째로, 조직에 '기여'를 한다면 평판이 좋아집니다.
'어떤 기여를 해야 한다는 걸까?'부터 시작입니다.
내게 어떤 강점이 있고, 현재 조직엔 무엇이 부족한지 문제를 분석하고,
내 강점으로 어떻게 부족한 부분을 채울 수 있을지,
고민하고 '실행' 합니다. 기회가 된다면 '피드백'도 받고요.
이것이 '기여'입니다.
저는 어떤 '기여'를 했을까요?
- 과장님이 만든 출석 시트를 매주 시트를 업데이트하고 공지
- 팀 간의 경계를 허물기 위한, 자기소개 세미나 운영
- 캠프 공통으로 쓰이는 기술 향상을 위한, 기술 세미나 준비 격려(?) 및 운영
- 기술 멘토링 1차 캐시 역할
- 미팅 / 전달사항 정리
- 궁금한 점 대신 커뮤니케이션하기
- 디스코드 커뮤니티 활성화
추후 에필로그로 자세히 서술하도록 하겠습니다. 😁
'내 강점이 무엇일까?'
개발 캠프 중에 충분히 돌아볼 수 있습니다.
'강점'이라 함은, 남들보다 적은 노력으로도 큰 효과/성과를 낼 수 있는 걸 뜻 하는데요~
여러분의 강점, 곧바로 생각 나시나요?
별 다른 노력을 하지 않았는데도, 칭찬을 받았던 경험이 있으신가요?
생각이 나지 않아도, 개발 캠프를 하면서 꼭 찾아내보시길 바랍니다.
강점을 찾고 나서 '기여' 를 해봐도 되고, 우선 '기여' 를 해보고 내 '강점' 을 찾아봐도 됩니다!
'강점'을 찾으면 어떤 점이 좋을까요?
내가 가진 '무기' 가 무엇인지, 알게 됩니다.
내 약점을 찾기 보다는, '강점'을 찾아 나의 진정한 '무기'로 발전 시킵니다.
비로소 그 때가 되어서 '나다움'을 다른 이들에게 어필할 수 있게 됩니다.
내 '강점'은 나보다 다른 사람이 더 잘 알 수도 있어요!
팀원에게도 물어보고, 다른 팀원에게도 물어보고,
또는 우리보다 경험이 훨씬 많은 개발 캠프 어른들에게도 물어봐도 됩니다.
음... 저도 물어봤지만, 아직 답변을 받진 못했는데요. ㅋㅋㅋ
조만간 답변을 받지 않을까, 고대하고 있습니다.
두 번째로, '태도'도 평판이 됩니다.
신입 개발자를 볼 때 무엇을 많이 보나요? 물어보면
'태도(Attitude)'라고 답한 경우를 많이 봤습니다.
그분들이 말한 태도가 무엇일까요?
긍정적인 모습과 배우려는 자세가 핵심입니다.
긍정적인 모습을 빠르게 파악할 수 있는 건 무엇일까요?
바로 '표정'입니다. 표정이 안 좋은데 긍정적인 모습을 비출 순 없죠.
무표정(?)으로 긍정적인 모습을 비추려면, 말을 잘해야 합니다...
최대한 웃고 밝은 표정으로 대하는 분들과 이야기하면, 활력이 드는 경험을 해보셨을 거예요.
우리도 연습하면 할 수 있습니다.
배우려는 자세는 어떻게 해야 할까요?
'질문'을 많이 하는 겁니다. 멘토님도 언급한 내용인데요.
사실 질문하는 게 쉽지는 않아요.
이런 것까지 질문해도 되는 걸까? 괜히 방해하는 건 아닐까?
어떻게 해야 질문을 잘할 수 있을까? 온갖 생각이 다 들죠.
개발 캠프는 안전망이 튼튼한 샌드박스 환경이니까, 괜찮습니다.
일단 지르고(?) 선을 조절해 보는 연습을 거치면 됩니다.
어렵게 설명했지만, '평판'에 너무 매몰될 필요는 없습니다.
단순하게 '좋은 태도로 캠프의 모든 사람과 사이좋게 지내려고 노력해라!'를 말한 거였습니다.
모든 사람과 관계가 좋아야 할 필요는 꼭 없습니다! 비현실적일 수도 있죠.
다만 2~3개월만 보면 되니, 굳이 나쁜 감정을 표현할 필요도 없어요.
어차피 캠프원끼리는 또래다 보니 공감대가 통해서 금방 친해집니다.
아직(?) 때 묻지 않다는 것도 한몫하는 것 같습니다. ( 저도 본받고 싶은 점입니다. 😊 )
길지 않은 시간에 같은 업계에서 만날 사람들인데
아무리 대외활동이라도 2~3개월 만에 평판이 나쁘면...
잔인한 말일 수도 있지만, 그 평판 따라갈 확률이 큽니다.
세상도 좁은데, 개발 업계는 훨씬 많이 좁습니다. 물론 그런 사람은 없겠지만요!
설령 개발 캠프 내에서 평판이 나빠졌다 해도 괜찮습니다.
진심으로 다가가면 평판도 금방 회복됩니다.
우리 모두 성장하는 시기를 함께 보냈으니까요.
일을 잘하려고 노력하는 것과 평판을 쌓아보는 것,
두 가지 경험은 다른 조직에서도 소중한 자산이 될 겁니다.
직장인 되고 깨지면서 배우기보다는, 지금 배워두면 좋죠.
주변에 물어볼 좋은 어른도 계시고요. 😊
다시 강조하듯, 개발 캠프는 비유가 아닌, '내 커리어의 시작점'입니다.
'내가 개발자가 된다면 어떤 개발자가 될 것 인가'에 대한 답을
캠프 기간에서 마음껏 도전하고 찾으시길 바랍니다.
이런 기회 다시는 안 올 수도 있습니다. 😄
3. 처음부터 끝까지 '목표' 중심으로 생각하기
목표와 성장을 관리한다,라는 말을 아직까지도 계속하고 있죠?
맞습니다.
처음부터 끝까지 '목표' 중심으로 생각하고 나아가길 바랍니다.
이 말은 곧, 판단의 근거가 '목표'여야 한다는 점입니다.
팀 프로젝트를 하면서 많은 의사 결정이 이뤄질 텐데요.
이 글을 본 후배님 만큼은, 의사 결정의 근거를 '목표'로 잡으면 좋겠습니다. - '이건 우리 목표와는 안 맞는 것 같은데?'
팀에서 한 명쯤은 '목표지킴이'가 있어야 하는 것 같아요.
그 역할을 후배님이 힘써 주시길!
목표가 수정되면, 다른 이의 목표 수정도 전파된다는 점! 명심하시길 바랍니다.
캠프 기간 동안 나는 '개발자' 라고 생각해보기!
좋은 '개발자', 좋은 '동료'는 어떤 걸까, 마음껏 고민하고, 실컷 실행하고 피드백 받기!
꽁꽁 숨겨진 나의 '강점'을 적극적으로 찾아보기!
목표 중심으로 생각하기!
⛄️ 1월, 오프라인 시작
새 해가 밝았습니다!
본격적인 캠프가 시작됩니다.
앞으로 친해질 모든 캠프원과 만나게 됩니다.
1월의 일정은 다음과 같아요.
- 아키텍처 피드백
- 캠프장님의 기본 강의
- 중간 발표회
- 개발
개발 캠프 5기는 인원 구성이 특별합니다.
바로 서류 ~ 면접으로 들어온 5기와, 작년 온라인으로 진행한 윈터데브캠프 2기에서 온 리캠프로 구성됩니다.
리캠프는 별도 신청 프로세스로 모집을 받았습니다.
리캠프, 우리의 경쟁률이 힘들었던 주범입니다. 일단 맞고 시작을...
농담입니다. 🤣
아키텍처 피드백
이사님과의 🔥 지옥의 불맛 🔥 PMP 리뷰를 한 여러분!
정말 고생 많으셨습니다. 👏👏👏👏
저희는 PMP 리뷰 한 번이면 됐었는데, 리캠프는 두 번을 했다고 하더라고요?
여러분도 혹시 두 번을 하게 된다면 큰 축복이다!라고 생각하시면 좋아요. 😇
중간 발표회 전까지 아키텍처를 확정해야 합니다.
아키텍처는 또 무엇인가요...
쉽게 말하면 전체 시스템이 어떻게 구성할 건지를 정합니다.
저희 팀의 아키텍처입니다.
여기서 앞단에 게이트웨이가 추가되고 공통 메시지 플랫폼으로 카프카도 있습니다. (우측 최신 아키텍처 사진)
데이터베이스도 무엇을 쓰는지도 포함하면 좋습니다.
전체 시스템에 어떤 구성요소가 있고, 어떤 서비스가 있는지,
각각 어떤 기능을 하는지 한눈에 알아볼 수 있는 구성도가 필요합니다.
각 서비스마다 자세한 구성 요소는 오히려 가독성을 헤치므로, 전체 아키텍처에선 지양해 달라고 피드백을 받았습니다.
개발 캠프에서 아키텍처는, 프로젝트를 처음 보는 개발자가 보았을 때
한 번에 파악할 수 있는 정도면 충분합니다.
나중에 포트폴리오로 사용할 때에도 생각해 보아요.
여러분의 목표가 듬뿍 담긴, 프로젝트가 생겼을 겁니다.
여러분의 한계를 넘어설 프로젝트 아키텍처는 어떨까, 저도 궁금해지네요.
나중에 소개해주시면 구경하러 가겠습니다. 😁
캠프장님의 기본 강의
캠프장님의 기본 강의는 2주간 진행합니다.
그 외 강의는 별도로 진행됩니다.
대략적으로 아래 내용을 들었습니다.
- 개발 관련 ( 트렌드, 공부법, 도구 등 )
- 협업 관련
- 과제 코드 리뷰 (1월 초)
- 이력서 / 포트폴리오 팁 (2월 중순)
개인적인 소감은 '재밌다!'입니다.
강의인데 그게 끝인가요?
(해맑게) 네! 😁
라고 말하면, 멘토님께 끌려갈 것 같군요.
어차피 안 보실 거라 괜찮습니다.
농담이고,
아무래도 Windows 1.0(???)과 함께한 분이고,
최근 기술 트렌드의 발전을 몸소 겪은 분이라
우리에게 큰 숲과 방향성을 보여줍니다.
내가 모르는 기술이 어떻게 발전이 되었는지,
현재 기술 트렌드는 무엇이고,
당연하게 사용하는 도구가 어떻게 발전했는지,
앞으로 개발자로 어떤 마음가짐을 가져야 하는지,
배울 수 있는 귀중한 시간입니다.
돈 주고도 못 배우는 거죠~
딱딱한 내용은 절대 아니고, 흥미로운 내용과 재밌는 입담이 조화를 이룹니다.
진짜 빈 말이 아니라 재밌어요.
이번 프로젝트에도 적용해 보고 싶다는 생각이 절로 들 정도입니다.
주제와 소재 선정이 대학생도 이해할 수 있도록 고민을 많이 한 흔적이 보였고,
지루하지 않게 중간중간 유머 포인트의 타이밍도 좋았고,
최대한 많은 걸 알려주고 싶은 마음도 느껴졌습니다. 😊
매 강의마다 재밌는 개발 유튜브 한 편 본 느낌입니다.
아쉬운 점은 메모하고 복습(?)하지 않으면,
세미나실을 나가는 순간 휘발됩니다.
그래서 '재밌었다!'라는 좋은 기억만 남게 되는? 😇
또한 요즘 친구들이 공감이 많이 될까 싶은 생각도 들긴 합니다. ㅋㅋㅋ
오랜만에 봐서 반가운 게 많았었는데, 주변을 둘러보면 O_O 표정이더군요. (저게 뭐야)
나중엔 다들 체념하고 그렇구나~ 받아들이는 모습이 재밌었습니다. 😂
자료도 좋지만...
강조하기 위한 썰과 멘토님이 느낀 깨달음을 이야기 해 주신 게 더 중요하다고 느꼈어요.
'이 이야기도 자료에 있으면 좋을 것 같은데.' 하는 생각이 들 때가 많았습니다.
자료야, 어차피 나중에 파일 돌려 보면 되니까요~
( 물론, 정말 중요한 메시지는 자료에 있긴 합니다. 😊 )
예를 들어 볼까요?
"여러분도 본인만의 도구를 직접 만들어서 오픈 소스화 해봐라!" 라는 이야기가 있었습니다.
예전에는 뭐랄까, 당연한 분위기에다 활발했는데. 어느 순간 뚝 끊긴 느낌이랄까요.
물론 깃허브에 오픈 소스는 넘쳐나지만, 어떤 곳에서도 예전만큼 쉽게 찾아볼 수 없는 씁쓸함이 남아있습니다.
나만의 도구를 직접 만든다는 건, 다 쓰고 남은 에너지조차 개발에 몰입하는 열정을 가져보라, 라고 생각했고.
오픈 소스화 해보라는 건, 내 열정으로 누군가에게 도움을 주는 뿌듯함과, 피드백과 응원을 받는 경험이 소중한 밑천이 될 것 이다,
라고 받아들여졌습니다.
꿈보다 해몽일 수 있지만, 살면서 마음 한 편으로는 개발에 대한 열정과 남과 나누는 기쁨을 유지하고 있어라!, 라고 느꼈습니다. 😁
우리 캠프 5기 여러분도 복습 한 번 해봅시다.
아래는 선배님이 작성한 강의 후기입니다.
개인 과제도 코드 리뷰 해주십니다!
모두 모여서, 사례를 모아서 리뷰했습니다.
URL 단축, 인증, 블로그 개인 과제가 있었는데요.
코드 리뷰에 당첨(?)된 사람이 설명을 하고, 피드백을 받는 방식이었습니다.
이번 기수의 주요 피드백으로는 네이밍과 예외/오류 처리인데요.
클래스, 변수, 메소드 네이밍이 진~짜 고민이 많이 되죠...
그런 고민하는 시간을 최대한 줄일 수 있도록
개발 업계에서 표준으로 쓰이는 용어를 익혀라, 라는 피드백과
긴 메소드보다 짧게 줄일 수 있으면 짧게 줄여라, 라는 피드백이 기억에 남습니다.
예외로 처리할 건지, 오류로 처리할 건지에 관한 피드백도 기억에 남습니다.
예외 처리와 오류 처리를 비용 관점에서도 바라볼 수 있었고요.
각각의 장점과 단점도 알아봤습니다.
간단하게 설명해 보자면 다음과 같습니다.
예외는, 예외를 발생시키고 언어단에서 인식하여 서블릿 응답으로 넘기기까지의 일련의 과정이 비싼 대신에 코드가 간결해진다!
오류는, 호출자가 바로 처리할 수 있어서 비용이 낮지만, 반환되는 객체가 복잡한 경우엔 다루는 게 어려울 수 있다!
정도가 있겠습니다.
이 밖에도 다양한 피드백을 많이 들을 수 있습니다.
당연히 기능을 어떻게 구현하는 게 더 효율적인지도 듣는데요.
개발 캠프에 오셔서 꼭 들어보시길 바랍니다.
🎤 중간 발표회
재밌는 강의를 들은, 여러분께 청천벽력 같은 소식이 들려옵니다.
바로 다음 주에 중간 발표회가 있다는 소식인데요.
아니, 뭐 했다고 벌써 '중간' 이야?
아키텍처 피드백받고, 개발 환경 세팅만 하고, 발표 자료 준비한 것 밖에 없는데!
중간 발표회는 여러분의 목표가 담긴 프로젝트를, 다른 캠프원과 임직원에게 소개하는 자리입니다.
'우리 이런 거 할 거예요!'라고 자랑하는 시간입니다.
피드백이라고 해봤자, 한 게 없는 걸 너도 나도 잘 알고 있거든요.
캠프원끼리 큰 질의응답은 없을 수도 있습니다.
이사님이 들어오시기 전까진 말이죠. 😇
중간 발표회는 이사님이 오시기 전과, 후로 나뉩니다.
PMP 리뷰와 더불어, 중간 발표회에서 아낌없는 피드백을 나눠 주십니다.
아마 프로젝트를 발표하며, 여러분의 목표가 보이지 않는다면
프로젝트의 핵심은 무엇인지, 그게 여러분의 목표가 어떻게 연결되어 있는지, 여러분의 목표는 무엇인지를
돌아보게 만드는 질문을 해주실 겁니다.
이 관점은 프로젝트가 무엇인지가 중요하지 않습니다.
오직 여러분의 '목표' 만을 바라봐 주십니다.
💻 개발 시작
본격적은 개발 캠프가 시작됩니다.
이제 더 이상 발표 자료를 만들지 않아도 되고!
개발에만 몰입할 수 있습니다.
캠프원과의 추억도 많이 쌓는 기간입니다.
저희는 다트와 내기를 참 많이 했는데요.
프로그래밍 다트 말고, 진짜 다트요. 🎯
여러분은 어떤 추억이 있을지 기대되네요.
저는 다트를 해 본 적이 거의 없어서, 블랙홀을 담당했습니다. 😂
맛있는 것도 많이 먹었습니다.
너무 논 이야기만 했나요?
개발 일정이 시작되면 캘린더부터 펼쳐봅니다.
어라? 왜 기간이 한 달하고도 보름이 남은 거죠? 😂😂
정확히는 5주 하고도 5일이네요.
설날이랑 공휴일을 뺀다면 28일, 한 달도 안 되는 시간입니다.
마지막 주엔 최종 발표 자료 만드느라 정신이 또 없겠죠?
여러분께도 좋은 교훈이 될 겁니다.
우리가 개발할 수 있는 시간이 이것밖에 없습니다!
프로젝트를 계획할 때 꼭! 우리에게 주어진 시간은 이만큼이다,라는 걸 알아주세요.
이 시간 안에, 내 목표들을 감당할 수 있는 범위로 산정해 주세요.
저희 팀은 그나마 1월 아키텍처 피드백과 중간발표 자료를 만드는 와중에,
프로젝트 환경 설정이나 주요 서버 기초 작업(유저, 인증, 음원, 차트 등)을 한 상태긴 합니다.
이제 각자 달리기만 하면 됩니다.
앞서 말했듯이 예상치 못한, 수많은 난관과 벽이 기다리고 있을 겁니다.
감당할 수 없는 벽을 만났을 때, 계획을 조정하는 멘토링을 요청하여 우회한다든지,
개발 캠프 내에 있는 천재 한 명에게, 해결해 달라고 하면 됩니다. ( 해줘 )
꼭 천재가 아니더라도, 팀 구분 없이 여러 캠프원과 같이 문제를 보면 신기하게 해결이 됩니다.
저희 팀은 팀 목표와 비교해서 개인 목표의 비중이 큰 팀이었습니다!
12월 회의부터 각자 도전하고픈 기술이 있어서, 이를 토대로 목표를 설정했어요.
팀 목표로는 우리 모두 처음인 서비스가 많은 MSA의 생태계를 경험해보자! 가 있었습니다.
그에 대한 계획으로, 여러 마이크로 서비스를 먼저 만든 다음에 MSA 생태계의 오픈소스를 사용해보자가 핵심이었습니다.
백엔드 모두 스프링 부트를 사용해서, MSA 생태계의 오픈소스는 스프링 기반으로 채택이 되었어요.
Spring Cloud Gateway 으로 여러 마이크로 서비스에게 라우팅을 해주고,
Spring Cloud Netflix Eureka 으로, 등록된 마이크로 서비스의 주소를 조회하는 서비스 디스커버리 패턴을 사용했어요.
서비스 디스커버리와 연동(!)되는 OpenFeign 으로 마이크로 서비스 간 REST 통신했어요.
마이크로 서비스간 결합도를 낮추고 이벤트 기반 비동기 처리를 위해 메시징 플랫폼을 채택했습니다.
Redis 와 Kafka 중 어떤 걸 쓸까, 고민했는데 Kafka 를 도입했습니다.
Redis Streams 으로도 가능하다고, 멘토님께서 피드백을 주셨었는데요.
저희가 판단했을 때, 업계에서 Redis Streams 보다 아직은 Kafka 로 이벤트를 발행하고 처리하는 게 기술블로그를 보면 더 대중적이라고 판단했어요.
Redis 를 이미 쓰고 있던 상황도 아니었고, 캐싱을 위한 작업도 목표 우선순위가 떨어졌고,
채팅 Pub/Sub 과 같은 특수한 목적으로만 쓰이고 있었는데요.
같은 기능을 지원하지만, Kafka 를 학습하는 게 (특히 취업!) 목표에 도움이 되어 채택했습니다.
팀 목표를 잡고 수립하는 것도 굉장히 많은 것 같죠~?
여러분도 곧 경험하시게 될 겁니다. 😁
저의 개인 목표는, PMP 목표 예시에서 봤던 것과 거의 동일합니다! ㅎㅎ
🍯 비개발 리소스 관리 꿀팁
어쩌면 개발보다 '비개발' 쪽에 리소스를 많이 투자할 수도 있습니다.
깃 문제를 해결하지 못한다든지, 도커와 씨름을 한다든지,
최신 버전을 썼다가 피를 본다든지, 학습에 어려움이 있다든지,
팀원과 갈등이 있다든지 등등이 있을 겁니다.
이 글을 보는 후배님은, '비개발'에 투자를 안 했으면 좋겠어요.
명심! 해주세요.
우리의 모든 5기 캠프원도 공감하지 않을까, 싶은 말입니다.
앞서 말한 천재는, 이런 '비개발' 문제를 만나더라도 아무렇지 않게(???) 금방 해결합니다.
그걸 보며 나도 해봐야지 싶다가 피를 볼 수 있습니다.
안 그래도 시간이 없다는 사실, 글만 봐도 알겠죠?
짧은 팁을 나누고자 합니다.
1. Git
Git 은 각자가 1월이 되기 전까지 학습해 오는 수밖에 없습니다.
브랜치를 나누고, 커밋 메시지를 남기고, PR을 올리는 것만 할 줄 알면 됩니다.
단, GUI 프로그램을 꼭 사용하기를 추천합니다.
명령 프롬프트, 터미널로 많은 파일을 관리하기 어렵습니다.
여러분이 작업하며 수많은 커밋을 '잘' 남기는 습관이 없다면 꼭 GUI 프로그램을 설치하세요.
GUI는 파일에 특정 라인만 커밋할 수 있습니다.
터미널로도 가능하지만, GUI로 하는 게 훨씬 빠릅니다!
Git 충돌이 일어날 때도 빠르게 파악이 가능합니다. (중요)
GUI는 브랜치 히스토리를 빠르게 파악할 수 있습니다.
아주 시각화가 잘되어 있어요.
git log으로 10개가 넘는 브랜치의 히스토리를 파악하는 당신, 멈춰!
저도 터미널로도 많이 씁니다만, 기본적인 커밋은 GUI 프로그램으로 합니다.
터미널을 쓸 경우엔, 창을 옮기지 않고 IDE 단에서 해결할 수 있을 때 씁니다.
브랜치를 옮긴다든지, 삭제한다든지, 머지를 한다든지, 리베이스를 한다든지, 체리픽을 한다든지 등등은 터미널로 합니다.
GUI로 할 수 있지만, 숨겨져 있는 메뉴를 찾는 게 귀찮습니다...
2. Docker
서버 개발자는 도커와 씨름을 할 겁니다.
물론 연동할 때 프론트엔드 개발자도 엄청난 씨름을 하게 됩니다. (도커가 뭔데 ㅡㅡ)
기본 개발 환경은 각자 '로컬' 환경에서 작업합니다.
캠프 가이드에서도 로컬 환경으로 권장합니다.
많은 리소스를 설치하려면, 도커만 한 선택지가 없긴 합니다.
팀원 노트북마다 똑같은 버전의 MySQL, Redis, MongoDB, RabbitMQ, Kafka, ElasticSearch, Neo4j 따위를 깔게 시킬 순 없잖아요?
물리적인 폭력(?)이 동반된다면 가능할 수도...
여기서 꿀팁을 드립니다.
첫 째, 인프라 코드는 한 곳에 관리하세요.
둘째, 서버 애플리케이션은 도커로 띄우지 마세요.
2.1. 인프라 코드 관리
인프라 코드라 함은, Dockerfile, docker-compose.yml, 이를 보조할 스크립트 파일을 뜻합니다.
마이크로서비스 개발이면, 프로젝트가 여러 폴더로 분산되었을 겁니다.
폴더별로 인프라 코드가 분산되어 있으면, 일일이 도커로 실행시켜야 할 겁니다.
저희는 스크립트 파일로 해결을 했다만, 이럴 거면 처음부터 하나로 짜면 되는 거 아닌가?라는 생각이 강력하게 들었어요.
서비스별 DB(RDBMS, NoSQL, GraphDB, Elasticsearch 등), 인프라 플랫폼(Kafka, Zipkin 등)을 한 파일로 관리합니다.
그러면 폴더 이동 없이, 한 파일만 도커로 실행하면 됩니다.
환경 변수와 포트가 겹치는지 파일을 이리저리 옮겨가며 비교할 필요가 없습니다.
물론, 당장 사용하지 않는 리소스도 실행될 수 있습니다.
Docker Desktop에서 사용하지 않는 리소스만 정지 처리 하면 됩니다.
이런 불편함이, 여러 폴더를 동시에 관리해야 하는 불편함보다 훨씬 적습니다.
2.2. 서버 애플리케이션 실행 방법
서버 애플리케이션은 도커로 띄우지 마세요.
되도록 IDE으로 띄우는 걸 추천드리고, 배포할 때만 Jar 파일로 하는 걸 추천드립니다.
프론트엔드는 어떻게 하냐고요? IntelliJ를 깔면 됩니다!
장담건대, IDE 깔아서 직접 실행시키는 수고가, 도커로 띄우는 과정에서 만나게 될 수고, 보다 훨씬 훨씬 적을 겁니다.
왜냐하면 프론트엔드 한 두 명만 희생하면 되어서...
는 농담이고요.
서버 애플리케이션을 도커로 띄우면
다음과 같은 문제점을 만나게 될 겁니다.
2.2.1. IDE에서 개발한 것과 다른 DNS 체계
이거 열불 납니다. 🔥
로컬 설정 파일과 도커 환경 설정을 동시에 관리하고 적재적소로 바꿔줘야 해요.
아주 아주 번거로운 작업입니다.
심지어 docker-compose 가 분리되어 있으면, 같은 네트워크도 연결해야 합니다.
각 애플리케이션마다 다른 서비스에 접근할 때, 도커 네트워크의 DNS 명명을 따라야 합니다.
우리 이러지 말고, 127.0.0.1, localhost으로 통일 하자고요!
도커 컨테이너를 껐다 켜고, 껐다 켜고,..., 를 반복하며 테스트하는 과정은
여러분은 느끼지 않았으면 좋겠네요.
도커를 잘 알고 계신 분이 있다면, 미리 공유를 해주시면 좋아요. 😁
2.2.2. 프론트엔드 개발자의 러닝커브
프론트엔드가 백엔드보다 도커를 잘 안다? 당신은 행운입니다!
그러나 대부분은 아닐 겁니다. 😭😭
서버 IDE에서 오류가 나면, 몰라도 트레이스스택 보며 클릭해서 디버깅이라도 할 수 있지...
도커를 전혀 모른다면, 무엇이 문제인지 파악하기가 쉽지 않습니다.
도커가 문제인 건지, 서버 애플리케이션이 문제인 건지~
서버 개발자를 호출! 해야 합니다.
도커를 팀원과 같이 학습을 하는 방안도 있겠지만,
그럼에도 실제 연동할 때엔 쉽지 않을 겁니다.
물론 인프라가 있어, 도커를 쓰긴 써야 합니다.
그러나 하나의 인프라 도커 파일만 실행하는 게
서로의 멘탈에 도움이 될 겁니다.
참고로 저희 팀 도커를 프론트엔드 PC에서 띄웠다가
메모리가 부족한(!) 현상이 비일비재했습니다.
세상에... 이런 참사가 일어나지 않기를 바랍니다.
3. 피를 부르는 최신 버전
아마, 이미 많은 경험을 한 멘토님도 강조해 주실 겁니다.
기술은 최대한 '대중적인 걸' 써라!
적어도 캠프에선 힙스터가 되지 말아라(...)
대중적이다!라는 건 뭘까요.
대부분의 기업에서 사용하는지를 보면 됩니다.
Spring Boot를 예를 들면, Spring Boot 3 이 많을까요, Spring Boot 2 가 많을까요?
Java 17 이 많을까요, Java 11 이 많을까요?
스프링 이니셜라이저에선 Spring Boot 2.7의 지원이 끊겨
강제로 3 버전을 쓰게 만들었지만...
저희 캠프원 모두 Spring Boot 3 버전을 쓰지만..
Spring Boot 2.7으로 만드는 것도 꼭! 고려해 보세요.
취업에 도움이 되는 부분도 있겠지만, 자료도 훨씬 많을 겁니다.
프론트엔드도 마찬가지입니다!
학습에 대한 어려움도 일부 포함됩니다.
최신 버전을 사용하면, 자료를 얻기 힘듭니다.
자료를 얻기 힘드니, 학습도 더딥니다.
기존 자료를 보며 마이그레이션을 하든지,
아니면 기초 튜토리얼만 보고 확장해야 합니다..!
저처럼 다양한 최신 언어와 프레임워크를 경험해 보는 게 '목표' 라면
민폐 끼치지 않는 선에서 도전해 볼 수도 있습니다.
다만, 이런 어려움이 있을 수 있다, 정말 집중해야 할 거를 못할 수 있다,라는 걸 인지하면 좋습니다.
만약, 최신 버전의 어려움이 내 '목표'에 발목을 잡는다면
과감하게 포기하는 선택을 추천드립니다.
4. 학습의 어려움
'학습' 자체가 어려울 수도 있습니다.
프로젝트의 요구사항이 '내 한계에 부딪히는' 프로젝트라고 해도,
'내 한계'가 내 생각보다 낮을 수도 있죠.
저처럼 '학습'을 깔끔하게 포기하는 방법도 있고요. 😂
뭐, 캠프 끝나고 하면 되죠~
팀원에게 헬프 요청을 한다든지,
다른 캠프원 중에 잘 아는 사람에게 개인적으로 물어봐도 좋고요.
더 나아가 지인에게 요청해서 방법을 물어봐도 좋습니다.
캠프장님과의 멘토링을 받는 것도 방법입니다.
쉬운 기술의 대체제를 같이 고민하지 않을까, 하는 생각이 듭니다.
저처럼 전략적인 방안도 소개해 주실 수도 있고요.
캠프장님도 잘 아는 기술이면, 친절하게 설명해 주시겠지만
그렇지 않은 경우가 더 많을 겁니다...! (특히 최신 기술이면)
중요한 건 멘토링을 받는다고, 코드가 작성되고 그 지식이 내 머릿속에 들어오지는 않는다는 점이죠.
5. 팀원과의 갈등
팀원과의 갈등이 언제 일어나도 이상하지 않습니다.
내부 해결이 되지 않을 땐, 재빠르게 캠프장님께 멘토링을 요청하는 게 좋습니다.
음... 여태 멘토링의 한계만 주야장천 이야기 한 것 같은데요. 😂😂
절대로 멘토님의 실력을 의심하는 건 아닙니다. 😅
그. 러. 나. 갈등 상황만큼! 멘토링이 적합한 상황은 없을 겁니다.
어린 시절 놀이터에서 싸우다, 어른이 등장하면 바로 중재되는 것처럼(?)
어른의 지혜를 톡톡히 보여주십니다.
아주 든든합니다.
'다른 팀은 잘 되어 가는 것 같은데, 우리 팀만 싸우는 것 같아.'
아닙니다.
다른 팀도 무진장 싸웠습니다. 🤣
저희 팀도 마찬가지고요.
고로, 꽁꽁 숨길 필요가 없다는 점, 후배님 만큼은 명심했으면 좋겠습니다.
6. 기획 / 보안 = '비개발'
이상합니다.
분명 '개발'에 집중을 하고 싶은데
'기획'에 신경을 쓰는 기현상이 벌어집니다.
우리는 '기획자'나 '디자이너'가 되려고 온 게 아닙니다!
우리에게 필요한 건 복잡한 비즈니스 로직이 아닙니다.
예쁘고 이목을 끄는 UI 디자인도 아닙니다.
고객도 없습니다. 지극히 실무적으로 고객의 요구사항을 맞출 필요가 없습니다.
어떤 기술을 학습하고, 어떻게 학습할 건지,
그 기술을 어떻게 사용하고, 어떤 문제를 겪을 건지,
어떻게 문제를 해결하고, 어떤 성장을 할 건지.
위 과정을 경험하기에도
굉장히 짧고 촉박한 시간입니다.
저도 언젠가 솔직하게 말했어요.
예쁜 디자인과 기가 막힌 아이디어를 가진 서비스를 만들려고 온 게 아니다.
여기가 아니라, 디자이너와 기획자가 있는 연합 동아리에 갔을 거다!
세상의 문제를 해결하고,
감각적인 디자인을 가진
상용 서비스 개발을 원한다면,
개발 캠프와는 거리가 멀다고 생각합니다.
개발 캠프는 비개발에 시간을 쏟길 바라지 않습니다.
기술 위주의 프로젝트를 선정하는데요.
상용 서비스를 참고하는 걸 권장합니다.
기획과 디자인이 해결이 됩니다.
'보안' 도 마찬가지입니다.
보안도 '기획'과 비슷한 영역입니다.
애초에 보안 사고가 일어나지 않는다고
가정을 해야만 합니다.
대표적으로 아래와 같은 피드백을 받았어요.
6.1. 레디스 캐싱은 NO
첫 아키텍처 피드백 받을 때였어요.
서비스마다 빠른 응답성을 위해 레디스 캐싱을 도입했어요.
다닥다닥(?) 붙어있는 레디스를 보며...
"너무 실무 같다." 라는 피드백을 받았습니다.
실무처럼 보인다, 라고 하면 좋아해야 하는데
캠프에선 좋아하지 않아야 합니다. 😅
결국 빠른 응답성도 고객의 요구사항이며,
이는 '기획'에 해당됩니다.
후배님은 이제 기획 사고를 버리고, 기술 사고를 체득하셔야 합니다.
레디스 캐싱을 '기술적으로' 어떻게 접근해야 할까요?
레디스 캐시를 운영하며 생길 장애를 분류하고, 경험해봅니다.
24년 3월 기준, 최근에 토스 Tech 에서 '캐시 문제 해결 가이드 - DB 과부하 방지 실전 팁' 포스팅이 나왔습니다.
이러한 문제를 의도적으로 만들고, 해결해보는 과정을 경험해보는거죠.
( 포스팅이 1개월만 빨리 나왔으면 우리도 해봤을 텐데 아쉽네요. 😭😭 )
레디스 캐싱 자체는 단순 key, value 저장/조회로 기술적으로 큰 난이도가 아닙니다.
더욱 큰 기술적인 도전을 위해, 레디스 캐싱은 지양하라는 피드백을 받을 수도 있습니다.
캐싱 말고, Pub/Sub, Streams 를 쓰는 식으로 말이죠.
여러분의 의미 있는 기술 확장을 응원합니다. 🥰
6.2. UI 작업을 '팀 목표' 으로
프론트엔드 개발자도 '기술' 에 집중해야 합니다.
그러기 위해, 단순한 UI 채택을 이야기했는데요.
다만 왠지 모르게 UI 에 책임감이 있고, 부담감을 느끼는 것도 사실입니다. 😭
이런 작업을 '팀 목표'로 설득해 보는 경험도 좋습니다.
그냥 부탁하면... 아무래도 설득이 안되겠죠?
"필요한 컴포넌트와 글로벌 Axios 래퍼는 내가 만들게
이 부분 단순하게 퍼블리싱으로라도 UI 만들어줘!"
캠프에서도 백엔드 개발자가 프론트 작업을 해 보는 걸 권장합니다.
왜냐하면... 요즘 취업 시장이 그렇거든요. 😅
놀랍게도 백엔드 개발자도 React (또는 VueJS) 으로 어드민 정도는 만들어야 한다는...
바람이 불고 있습니다.
백엔드 개발자가 UI 작업 하는 것 자체가 '기술적인 도전' 입니다.
이 글을 보는 후배님 중, 백엔드 개발자를 희망하는 분이 계실까요?
'과연 내가 React 로 어드민 정도는 만들 수 있을까?' 를 고민해 보시고,
프론트엔드 도전도 꼭 고려해보시는 걸 추천합니다. 😁
( 물론, 백엔드 개발보다 더 많이 하면은 배보다 배꼽이 더 커질수도... )
최대한으로 기여한다고 해도, 설득이 안되면...
어쩔 수 없죠. 화이팅입니다. 😭😭
팀에 프론트엔드 개발자분이 계시다면, 큰 축복입니다.
프론트엔드 개발자가 없다면...
백엔드 개발자가 UI 작업하는 건 당연할 겁니다. (오히려 좋아...?)
이 때, 난생 처음 보는 프론트엔드 개발에 할애할 때
꼭 다른 팀의 프론트엔드 개발자에게 개발 일정을 논의해 보시는 걸 추천드려요.
정말로 배보다 배꼽이 더 커질 수도 있습니다...!
(감동 실화입니다.)
어쨌든,
UI 작업을 '팀 목표'로 할당하는 방법도 있다는 점
알고 계시기를 바랄게요.
6.3. 철통 보안에 있다고 가정하기
언젠가 JWT 토큰 탈취에 관한 이야기를 나눴어요.
HTTP Secure Cookie 등등... 열심히 찾아봤는데요.
멘토님께 아주 명쾌한 답을 들었습니다.
"토큰 탈취를 가정하는 것 부터 잘못됐다."
와... 다시 생각해도 전율이 돋는군요.
갑자기 머리가 맑아지면서
기쁜 마음으로 '진짜 개발'에 집중하러 갔습니다.
아래는 이전 기수분의 사진을 발췌했습니다.
여담으로 글만 봐도 누가 썼는지 알겠군요. 😂
6.4. 그럼에도 기획에 신경을 쓰고 싶다면...
그럼에도 세상의 문제를 해결하고픈 욕구가 있을 수 있습니다.
팀원 전부 말이죠.
세상의 문제를 해결하면서,
기술적인 도전이 되는,
'무언가' 를 창조하는 건 어려운 일입니다.
저희 캠프 5기도 새로운 아이디어로 도전하는 팀이 있었습니다.
의외로 기술적인 도전이 될 것 같다! 라는 긍정적인 피드백도 받았습니다..!
캠프는 이왕 하는 것, '제대로' 를 기대합니다.
'기획'에 집중했다면, '기획'에 관한 피드백을 집중적으로 받을 수 있습니다.
누가요?!
카리스마 넘치는 이사님이 적극적으로 해주십니다...!
이게 왜 문제를 해결하는지,
다른 서비스는 무엇이고 왜 차별점이 있다고 생각하는지,
이 서비스로 이 팀이 어떻게 성장했는지,
정말 이 팀에게 의미가 있는 경험이었는지,
다방면으로 피드백을 해주십니다.
피드백을 겉으로 바라봤을 때
'뉴스'에 나올 만한 아이디어를 기대하는 건가..? 싶었는데요.
아니나 다를까, 끝은 항상 우리가 '성장' 했는지로 끝납니다.
개발캠프는, 여러분만의 개성있는 도전도 응원합니다. 😊
마지막으로...
명심을 남발하는 것 같지만,
제가 명심해 달라는 건, 진짜입니다!
얼른 '명심' 키워드 찾아서 메모하세요. 😎
🏃♂️ ED. 2월, 결승선까지 달리기
자, 이제 2월입니다! 야호.
2월에 추석도 있네요? 야호~
추석 끝나고 돌아오니 한 주가 남았네요???????
더 이상 미룰 수 없습니다.
'결승선'을 바라볼 시간입니다.
개발 캠프라 다행인 점이 있습니다.
바로, '결승선'은 우리가 언제든 정하기 나름입니다.
그래서 실패는 없습니다! (두둥)
최종 발표까지 '이것 만큼은 보여주자!'에 관한 이야기가,
모든 팀 사이에서 나오기 시작할 겁니다.
현재 작업 상황을 공유하고, 내 목표와 결승선을 재설정합니다.
그리고 밤을 새웁니다. (?)
캠프에서도 강조합니다.
여태 글에서 '내 목표' 만을 바라보라고 말씀을 드렸지만,
팀원과 함께 결승선을 '통과' 했다는 점도 중요합니다.
기존에 세웠던 '결승선' 과는 거리가 멀 수도 있지만,
생각해 보면 캠프가 끝나고 나서도 도달할 수 있습니다.
스마일게이트 개발 캠프는 여러분을 놓지 않기 때문이죠...
그렇습니다.
비로소 마지막에 가서야 알 수 있죠.
팀원과 함께 한 2개월의 고생이 어떻게든 마무리가 될 때,
우리가 성장을 했구나, 를 경험할 수 있습니다.
뭔진 몰라도 적어도 캠프 시작 하기 전과 다르지 않겠어요~?
다사다난한 '한 텀'을 무사히 마치고,
'한 텀'을 되돌아 본 다음에,
다음 '한 텀' 을 준비하는 힘을 가지는 것,
그게 캠프가 주는 메시지가 아닐까 싶습니다.
다시 한번 개발 캠프의 취지를 되새겨 볼까요?
결국 목표 관리도 앞으로 계속되는 '한 텀'을 이겨내는 일종의 수단입니다.
계속 강조한 목표 관리지만, 사실 이 방법이 맞지 않는 사람도 있을 수 있어요.
그러나 '맞지 않다는 사실'을 깨달은 것만으로도 충분히 의미가 있다고 생각합니다.
되돌아 봤기에, 그런 깨달음을 얻을 수 있었기 때문이죠.
생전 처음으로 연습해 본 경험이죠.
의도적으로, 의식적으로, 한 발자국 떨어져서 '나의 삶'을 돌아보고 관리해 본 적이 없을 겁니다.
개발 캠프로 나를 더 잘 알게 되고,
내 삶을 주도적으로 이끌 수 있는 방법을 체득한 게 가장 큰 수확입니다.
뭔가 마무리가 급격히 훈훈하게 끝난 것 같은데요.
마지막 문단만 보시는 분은, 아마 위 내용을 못 보겠네요. 😆
긴 글 끝에 정말 제가 하고 싶었던 말이니, 명심! 해주세요~
뒷 내용은 가벼운 썰 위주입니다.
아직 못 이야기한 에필로그가 남았으니 보고 가주세요.
🐿️ 에필로그 1. 개발 캠프에 기여한 걸 소개합니다.
기여한 걸 다시 한번 가져와 볼까요?
- 과장님이 만든 출석 시트를 매주 시트를 업데이트하고 공지
- 팀 간의 경계를 허물기 위한, 자기소개 세미나 운영
- 캠프 공통으로 쓰이는 기술 향상을 위한, 기술 세미나 준비 격려(?) 및 운영
- 기술 멘토링 1차 캐시 역할
- 미팅 / 전달사항 정리
- 궁금한 점 대신 커뮤니케이션하기
- 디스코드 커뮤니티 활성화
1. 출석 시트
첫 번째로, 출석 시트입니다.
매주 오프라인으로 참석할 건지를 여쭤보는데요.
금주 출석 시트를 복사해, 차주 출석 시트로 변경합니다.
차주 출석 시트로 업데이트되면, 디스코드로 공지합니다.
다음 주 일정을 확인해 각자 참석 날에 초록색으로 색칠합니다.
이런 일은 사실 누가 하더라도 할 수 있는 일입니다.
주기적으로 하지만, 굉장히 사소한 일이라 깜빡할 수 있다고 느껴졌는데요.
그러면 내가 생각 나는 김에 하자! 가 되었습니다.
처음에는 몰래~ 다음 시트를 만들었어요.
금방 들켰지만, 마니또(?)가 된 느낌이었습니다.
당황스러울 수 있었지만, 잘 받아 주셔서 감사했어요.
그다음부턴 당당하게(?) 노티 걸고 업데이트 공지했습니다.
구글 시트 스크립트 코드와 디스코드 API로 알림까지 자동화를 한 번 해봐도 재밌을 것 같네요. 😁
2. 자기소개 세미나 운영
두 번째로, 자기 소개 세미나 운영입니다.
자기 소개 세미나는, 말 그대로 나를 소개하는 10분~30분가량의 세미나입니다.
같은 공간 바로 근처에 있는 소통이 부족하다!
팀 간의 친목이 필요하겠다, 싶어서 진행했습니다.
혹시 싫어하는 사람이 있을 수 있어서 조심스럽게 수요 조사를 물었는데요. 🥹
긍정적인 반응이 많아서 다행이었어요.
밑도 끝도 없이 번뜩이는 아이디어로 민 건 아니고,
여러 곳에서 다수의 진행 경험이 있었고, 그 효과도 나쁘지 않았기에 진행해 보았습니다.
당연히 처음은 제가! 먼저 했습니다. 😆
같이 처음 하는 친구가 엄청 짧게 한다길래, 길게 준비했어요.
이번엔 어떤 이야기를 해볼까, 굉장히 설레는 시간이었어요.
거의 1시간을 했었네요. 😯
영상도 촬영해서 유튜브로도 올렸습니다!
세상에 멋진 사람이 너무 많은 것 같아요... 어쩜 다 개발 캠프 5기에 모였는지! 🥰
두고두고 추억 회상이 되지 않을까 싶습니다.
핫클립(?) 영상으로 편집하면 재밌을 수도?
( 개발 캠프 5기 중에서 편집자 구합니다. )
제 발표 자료는 심의(?)에 걸려서 아쉽게도 영상은 없습니다.
신기하게도 자기 소개 세미나를 하면서,
우리 만의 문화가 만들어졌는데요.
나만의 퀴즈를 만든다든지,
왠지 모르겠는데 발사이즈 적는 게 유행이 됐더라고요?
매일 웃음벨 포인트였습니다.
짧은 두 달이지만,
우리만의 추억을 만들었다는 점이
의미가 있지 않았나 싶네요.
캠프가 끝나고도 기억에 많이 남았다, 이게 없었으면 어떡할 뻔 했을까, 싶은
반응이 많아서 뿌듯했습니다. 😊
개발 캠프에서도 큰 회의실을 대여해주시는 등,
긍정적으로 바라봐 주셔서 감사했어요. 😁
후배님 기수만의 추억도 마음껏 쌓아갈 수 있도록
많은 지원을 받을 수 있을 겁니다. 👏
3. 기술 세미나
세 번째로, 기술 세미나입니다.
자기소개 세미나 노션 만드는 김에, 기술 세미나 시트도 만들었습니다.
지원서에도 적었듯이, 저도 한 번은 해보고 싶었어요!
리캠프 선배님의 발표로 스타트를 끊었어요.
역시 모범을 보이는 선배님들..! 👏👏
모든 팀이 마이크로 서비스 간 메시지 브로커 용도로 카프카(Kafka) 이벤트 스트리밍 플랫폼을 사용하는데요.
모두가 우왕좌왕(?)하기 보단, 같이 공감하고 떠들고 학습을 해보자!
싶어서 '카프카'로 주제를 정했습니다. 😁
카프카 기초와 Consumer 클라이언트의 내부 구조를 발표했어요.
Naver D2의 KafkaConsumer Client Internals을 정리했어요.
다소 재미없는(?) 세미나였지만, 카프카 내부 구조는 이렇게 생겼구나! 를 공부해서 공유했습니다.
무엇보다! 좋았던 건
다른 캠프원과 같이 준비한 점인데요.
같은 주제를 밤까지 이야기 하면서
함께 학습을 했던 게 추억이 됐네요. 😁
여러분도 꼭, 개발 캠프에 오셔서 세미나를 같이 진행해보시는 걸 추천드려요!
4. 기술 멘토링 1차 캐시
네 번째는 기술 멘토링 1차 캐시입니다.
이거는 자의가 아니라, 타의로 기여하게 됐습니다. 😂
평소 디스코드 '테크-공유'에, 쉬는 시간에 잠깐 본 글을 정리하곤 합니다.
또는 누군가 잘 안 풀릴 때 슬쩍 공유하고 갑니다.
덕분에 '장문충' 이미지가 되어 버렸어요. (그러고 보니 이 글도...?)
저도 잘 모르는데 그냥 정리한 거예요~
이렇게 디스코드에 정리하고 나니, 나중에 최종발표회 준비할 때도 편하더라고요.
내가 어떤 문제가 있었지, 쉽게 돌아볼 수 있었어요.
저 말고도 많은 분들이 기술을 공유해 주셨어요.
후배님도 개발 캠프에 오시면 이런 경험해보실 수 있습니다. 😊
어쨌든 기술 세미나도 하고, 테크-공유에 많이 올리다 보니, 많이 물어보러 오더라고요.
뭔가 거쳐가는 느낌이랄까요. '얘도 모르네? 이제 물어보러 가야지.'
덕분에 누군가는 편해지지 않았나 싶습니다. 🤔
우리 팀을 제외하고, 특히 저한테 많이 여쭤보러 온 고마운 분들이 있습니다.
그러면서 또 친해지지 않았나 싶네요.
3. 미팅 / 전달사항 정리
다섯 번째는, 미팅 / 전달사항 정리입니다.
단순히 전달사항을 정리했습니다.
'아니, 이 중요한 걸 왜 말로만 하지?'라는 생각도 아주 잠깐 있었지만...
다 생각이 있으셨겠죠. 좋은 게 좋은 거죠.
6. 궁금한 점 대신 커뮤니케이션 하기
여섯 번째는, 궁금한 점 대신 커뮤니케이션 하기입니다.
그거 아시나요?
저는 뒤에도 눈이 달려 있답니다.
무슨 말을 하는지 다 듣고 있습니다. 😁
캠프원의 궁금한 점을 캐치해서 대신 물어봤습니다.
뭔가 제가 점심 메뉴와 시간에 민감한 사람이 되어버린 듯 하지만...
고백하자면, 점심 메뉴에 관심도 없고...
저는 4시 30분 미팅이 5시로 미뤄져도 아무 상관이 없습니다.
막말로 슈카월드 한 편 보면 되는데요 뭐. 😎
고로, 미안할 필요가 없습니다. (?)
그래도 점심 메뉴 꾸준히 올려주셔서 감사합니다.
7. 디스코드 활성화
일곱 번째는, 디스코드 활성화입니다.
이번에 처음! 디스코드를 도입하면서, 커뮤니티 활성화를 해보고 싶다는 인재영입팀의 목표를 듣게 됐습니다.
디스코드는 사실 대중에게 익숙지 않은 플랫폼이에요.
디스코드를 활성화한다는 건 꽤나 어려운 일입니다.
어떻게 아냐고요? 저도 디스코드 서버를 운영해 봤기 때문이죠! 아, 사람들 정말 안 써요. 🤣🤣
그런 고민을 저도 해봤기에, 공감이 많이 갔었어요.
더군다나 직원분과 함께 있는 공간 자체가 부담스럽기도 하고요.
뭔가 동물원 우리에 있는 느낌이랄까요.
직원의 인원이 많아질수록, 솔직하게 부담스럽고 감시당하는 느낌도 있는 건 사실입니다.
저는 괜찮습니다. 관종이라서요. 😎
자, 지금까지의 모든 기여는...
결국 '디스코드 활성화'를 위한 거였습니다!!! (두둥)
네, 당연히 농담입니다! 😂
다만, 아주 조금의 기여는 했다고 생각합니다.
우리도 캠프 5기끼리만의 카톡방, 당연히 있습니다. 크크...
다만, 우리만 디스코드에 적응하려고 노력하는 건 아니기에,
공동 퀘스트로 달성해 보는 것도 재밌는 경험입니다.
저는 디스코드 활성화를 위해 의도적으로 메시지를 남겼어요.
제가 평소에도 저런 줄 아는 분은 없으리라 믿습니다. 🤣🤣
매일 아침 인사도 건네고,
우리 팀 콘셉트에 맞춰서 제 취향이 200% 담긴 노래도 공유하고,
일상생활도 일기장처럼 TMI로 막 올리고,
캠프원의 사진을 찍어서 인스타 스토리처럼 올리고,
정리한 기술 공유 글도 올리고,
요새는 음성 채널에 하루 종일 있습니다. 몇몇 애들이 들어와서 가끔 얘기하고 있어요.
다음 기수엔 디스 코드에 아무도 채팅 안 하고,
다 카카오톡으로 도망갈 수도 있어요.
아무도 모를 일이죠. 😂
직원분만 있는 메시지 내역이라니, 마음이 아프군요.
이 글을 후배님 만큼은, 디스코드 활성화를 도와주는 마니또가 되어 주기를!
나름 콘셉트 잡고 콘텐츠 생산하는 것도 재밌습니다.
진짜로, 두 명 정해서 몰래 스파이(?)로 디스코드 활성화 마니또하면 재밌겠네요. 😁
🤔 에필로그 2. 개인 멘토링
'개발 캠프에서 어떤 좋은 분과 커뮤니케이션을 연습해 봐라!'라고 말을 했었죠.
사실 일부러 연습해야겠다! 마음을 먹지 않아도,
어차피 많이 소통하게 되어 있습니다.
다만, 목표를 의식적으로 관리하듯, 커뮤니케이션도 의식적으로 관리해 보는 거죠~
여러 번의 멘토링으로 많은 조언을 얻어갈 수 있습니다.
어떤 조언을 해주시는지 궁금하지 않으신가요?
다른 팀 두 명의 개인 멘토링에 따라가 밀착 관찰해 봤습니다.
물론 보자마자, 넌 뭐냐는 말부터 나왔지만,
저는 굴하지 않죠. 😎 ( 일일 (다른 팀명) 팀입니다. ^o^ )
감사하게도 협조(?) 해주셨습니다.
개인 멘토링이라 함은, 캠프를 잘하고 있는지 점검받고, 보통 취업 쪽 이야기로 흘러갑니다.
현재 하고 있는 캠프 프로젝트가 취업에 현실적으로 얼마나 영향이 갈지, 를 꼼꼼하게 알려주시는데요.
졸업을 앞둔 학생은 아무래도 취업에 도움이 되는 목표를 세울 수밖에 없죠.
후배님이 그러한 목표를 세울 때, 꼭 멘토링을 받으시는 걸 추천합니다.
내가 알고 있는 것과, 실제 업계에서 생각하고 있는 게 다를 수가 있기 때문인데요.
그 간극을 메우는 걸 최우선으로 생각하면 좋을 것 같습니다.
꼭 서버 개발자만 멘토링을 받을 수 있는 건 아닙니다.
프론트는 물론, 모바일 개발자도 멘토링을 받을 수 있습니다.
다만, 현재 모바일 개발을 하지 않으셔서 자세한 기술적인 멘토링은 어려운데요.
그 대신 현직자와 연결을 해주는 쪽으로 이야기가 됩니다.
기술적인 멘토링만 어려울 뿐이지, 업계 동향은 파악하고 계십니다.
빠른 모바일 취업을 위해서, 플러터와 RN도 노려보라는 조언을 해주시기도 했습니다.
도중에 제 생각과는 다른 부분이 있는 것도 말씀드리곤 했습니다.
저 멀뚱멀뚱하게 듣기만 하지 않았습니다...! 😅😅
피드백할 수 있으면 흐름을 방해하지 않는 선에서 조그맣게 의견을 말했습니다.
이런 대화 자체가, 대학생에게 소중한 기회입니다.
저도 주변에 아무나 5~10년 차 개발자 붙잡고 이야기할 순 있지만,
업계 동향을 잘 파악하는 분은 주변에 없는 것 같아요.
아주 좋은 대화 경험이었습니다. 👍
개발 캠프를 생각만 하고 있는 후배님이 계시다면
주변에 이런 대화를 할 수 있는지 곰곰이 돌아보시죠.
이것만으로도 개발 캠프에 지원할 동기 부여가 됩니다. 😄
멘토링 막바지에, 같이 간 캠프 친구가, 제 고민을 알려달라고 하더라고요.
음... 이미 고민 스트림에 flush를 한 상태라, 없다고 했습니다. 😂
다람쥐 : 저요..? 음... 진짜 없어요. 😎
캠프원 : 에이 뭐예요, 재미없게~
🎉 에필로그 3. 대망의 최종 발표회
최종 발표회날은 시원섭섭했었어요!
드디어 끝났다,라는 해방감과
여기 다시 못 오겠네,라는 아쉬움이 공존하더라고요.
전날까지 데모 영상 찍고 편집하고, 최종 발표 자료 만들었죠..!
막차가 끊겨서 집에 새벽에 2시쯤에 들어갔었어요.
같이 고생한 팀원들에게 박수를 👏👏
그 와중에 생일이었던 같은 팀원에게 축하를 🥳
중간 발표회와 비슷하게 흘러갔습니다.
다만, 최종 발표회는 조금 더 수고했다는(?) 훈훈한 분위기였어요. 😊😊
임직원분들도 함께 자리를 빛내주셨고, 좋은 피드백도 많이 받았습니다.
데모도 잘할 수 있을까, 걱정이 됐었는데
'결승선'에는 통과해서 뿌듯했습니다.
끝나고 공식적인 회식(!)도 했습니다.
저는 컨디션 이슈로 아쉽게도 맛만 좀 보다가, 입을 대지 않았는데요.
( ??? : 형네 음식은 풀만 먹고 있는 거야? )
아... 지금도 아른아른거립니다. 😁😁
모두가 감탄하면서 먹었어요.
여기서 술게임을 하게 될 줄은 몰랐는데,
술게임도 야무지게 했습니다.
직원분들의 분위기 띄우는 능력이 아주 환상적이었습니다. 👍👍
다시 한번 감사해요~
수료증도 받고, 롤링페이퍼도 다 같이 썼습니다! ㅎㅎ
볼 때마다 제 자존감 올려주는 마법의 종이입니다. 이게 나야
나름 캠프를 하면서, 모범이 되려고 노력했습니다.
나이도 많고, 경험도 많고, 경력도 아주 조금 있고.
좋은 개발자란 뭘까, 좋은 동료란 뭘까,
좋은 태도는 뭘까, 좋은 커뮤니케이션은 뭘까,
일을 바라보는 관점은 어때야 할까, 등등.
여태까지 많은 사람과 개발자를 만나며, '이거는 좋았다' 싶은 장점만 흡수해서,
캠프원에게 간접적으로 알려주려고 노력했어요.
적게나마 좋은 영향을 받고, '나도 저러고 싶다!' 싶은 동기부여가 되었으면 하는 바람입니다.
물론 가짜로 연기한 수준까지는 아니에요. 🤣
🐿️ 에필로그 4. 내가 얻었던 것
제가 캠프를 하며, 이전과 성장했다고 생각한 점을 소개합니다.
카테고리로 '기술', '사람'으로 나눌 수 있습니다.
🤖 기술
1. 시스템을 바라보는 시야 확장
예전에 클라우드 서버리스 환경에 관심을 가졌었는데요.
바로 구성요소끼리 레고 블록을 맞추듯, 상호작용으로 시스템을 구성하는 게 신기했습니다.
AWS를 예를 들면, AWS S3를 트리거로 AWS Lambda를 실행시켜 AWS DynamoDB에 데이터를 쌓을 수 있습니다.
각 문제를 해결할 수 있는 구성요소끼리 레고 블록처럼 맞추는 거죠.
서버 개발 캠프에서도 마찬가지입니다.
시스템을 구성하는 요소가 많다는 사실을 깨달았어요.
서버만 하더라도, 단순 REST API, gRPC로 JSON, XML, Protobuf 등을 주고받는 서버가 아니라
어떤 '역할'을 하는 구성요소인지를 따지게 됐어요.
데이터베이스(InMemory, RDBMS, NoSQL), 메시징 플랫폼, 로깅 등도 무척 다양하다는 사실도 깨달았어요.
상황에 맞는 구성요소를 택하는 고민을 많이 할 수 있었어요.
이 서버(구성요소)와는 어떤 데이터베이스가 어울릴까 고민했죠.
예를 들어, 1위부터 100위까지 보여주는 차트는 RDBMS로도 충분히 보여줄 수 있지만,
Document 로 한 번에 조회하는 게 어울리겠다, 으로 발전했습니다.
우리 시스템의 결합도는 얼마나 되는지,
이러한 결합도를 낮추기 위해서 어떤 시스템을 구축해야하는지를 고민해서,
이벤트를 발행하는 시스템이 필요하다는 결론도 내릴 수 있었죠.
즉, 현재 상황과 '컨셉'이 어울리는 시스템이 무엇인지 알게 됐어요.
기술 영역으로 들어가면, 성능이 어떻고, 확장이 어떻게 편리한지, 운영은 어떻게 하는지 등을 따지겠지만,
시스템을 바라보는 시야가 넓어졌다는 사실만으로 큰 수확이었어요.
이전에는 무조건 애플리케이션단으로 해결하려고 노력했었는데,
이제는 많은 구성요소를 알게 됐고 시스템으로 문제를 해결할 수 있다는 걸 알게 됐습니다.
2. MSA(Micro-Service Architecture) 이해도 상승
MSA 환경을 찍먹(?)하는 게 가능합니다.
기간이 짧은 만큼 완벽하게 소화하는 건 불가능하지만,
이해도는 높아진다고 자신있게 말할 수 있습니다. 😊
대학생 때의 프로젝트로는 이정도 규모의 프로젝트를 경험할 수 없고
여러 사람, 여러 팀과 함께 MSA 를 논의해보고
높은 수준의 기술 멘토링도 기대할 수 없는데요.
다른 서비스와 어떻게 연동할 지,
HTTP, WebSocket, gRPC 등 프로토콜은 어떤 걸 쓰고,
우리 프로젝트와 어떤 시스템 아키텍처가 적절한지,
같은 목표를 가진 다른 팀과 어떻게 협업을 할 지 등등...
이런 경험을 하는 것 만으로도 굉장한 차별점이 될 겁니다.
아무래도 신입/주니어 입장에선 쉽게 할 수 없는 경험이죠.
이미 환경 설정을 마친 프로젝트에 투입되는 상황이 많기 때문인데요~
A부터 Z까지 MSA 프로젝트를 진행해 큰 매력을 느꼈습니다.
기간이 짧은 게 아쉬울 정도였어요. 🥹
3. '기술' 그 자체에 집중
캠프는 '기술' 그 자체에 깊게 집중합니다.
흔히 '딥 다이브' 라고도 표현하기도 하는데요.
기술에 집중할 수 있는 '주제'를 선택하는 걸 권장합니다!
저는 '스트리밍' 이라는 기술에 집중을 했었어요~
스트리밍을 오픈 소스로 사용하지 않고 웹소켓으로 구현을 했는데요.
여러 트러블 슈팅을 겪은 게 문제 해결 능력에 좋은 영향을 줬었어요.
다른 주제로는 '인증', '피드', '채팅' 등이 있어요.
깊은 기술 고민을 할 수 있는 '주제'를 선택합니다.
사실 '주제'를 선택하는 건 이미 '베스트 프랙티스' 라 할까요?
기술적인 고민이 대중화가 되어 있기에,
많은 레퍼런스 자료로 벽을 뛰어 넘고 성장을 이룰 수 있게 도와줍니다.
주제 뿐 아니라 우리가 흔히 아무렇지 않게 사용하는
'기술'을 '직접 구현'하는 것도 권장합니다.
예를 들면 오픈 소스로 많이 사용하는 'Redis', 'Kafka' 등을 직접 구현하거나,
TCP/UDP 서버로 비동기 기술을 익힐 수 있는 'Netty' 로 구현할수도 있습니다.
'기술'적으로 접근하면서 자연스레 여러 문제를 경험할 수 있고,
이를 해결하는 과정으로 내공이 쌓이는 경험을 할 수 있습니다.
같은 주제로 하는 다른 사람과 기술적인 이야기를 하면서
시야가 넓어지는 경험도 할 수 있습니다.
이런 도전과 경험에 두근대시는 분들은 딱 '개발 캠프' 체질이십니다. 👍
👥 사람
좋은 동료를 만나고, 다방면으로 도움을 받을 수 있는 분들과 인연을 맺을 수 있었어요~
'기술'을 얻는 것과 동일하게 '사람'을 얻는 것도 중요하다고 생각하는데요..!
이후에 스터디도 같이 하고 여러 가지 다양한 질의 응답을 나눌 수 있어서
좋은 하루 하루를 보내고 있습니다!
🛫 에필로그 5. 캠프 그 이후
저는 열심히 놀면서(?) 취준 중입니다. 기관총 날릴 준비 하고 있습니다.
캠프원끼리 운영체제 스터디도 매주 목요일마다 4월까지 할 것 같아요.
근래 어떤 연락을 받고, 갑작스레 취준 태스크에 마감일이 정해진 느낌이랄까요.
캠프 이후 다들 어떻게 살고 있을까요?
사실 끝난 지 보름밖에 안 됐습니다. 😂
저희의 이야기는 지금부터 시작이죠~
이 글을 보는 후배님들과 언젠간 볼 수 있으면 좋겠네요.
부디 개발 캠프로 앞으로 나아가는 원동력을 얻어갔으면 좋겠습니다. 👍
이만 줄이겠습니다.
S 군 (Front) : OOO에 사실상 2일 차! 근데 벌써 PR 몇 개 올리고 왔음 ㅋㅋㅋ.
다람쥐 : 와.. 괴물 신입;;; 그만큼 능력 있다는 거지~ 고생하는구먼
S 군 (Front) : 실력과 무관하게 쉽지 않은 곳인 듯 ㅋㅋㅋ
H 군 (Front) : ICT 학점 연계 인턴쉽 중입니다 ㅎㅎㅎ
다람쥐 : 오, 적응할 만 해?? 어때???
H 군 (Front) : 프론트, 백 둘 다 처음보는 기술 스택이라 공부해볼 건 많은데... 캠프 1트 더 하는 느낌??? Next.js 쓰고 있습니다.
다람쥐 : SSR 고수가 되겠구먼
H 군 (Front) : 캠프 끝나기 전에 프론트 대담 때 언젠가 알아야 된다고 했던 게 플래그 일 줄이야..
다람쥐 : 나중에 모르면 디코에 공유 ㄱㄱ, 나는 모르는데(?) 잘 아는 사람들한테 대신 물어봐 줄게
K 형 (Front) : 학교에서 하스켈을 시켜서 어지러움
다람쥐 : 머리가 부서지겠구먼... 이번에도 자스로 답안지 써보시죠
K 형 (Front) : 이 교수님은 지인짜 큰일 나 그럼. 까안깐 하시잖아~
D 군 (Backend) : 판교 대신 집 앞 카페에서 지내는 중, 사실 뭘 할지 막막했는데, 기존 캠프원들끼리 스터디도 하고, 캠프 프로젝트도 더 디벨롭하려고요. 다시 불을 지피는 시간을 보내고 있습니다.
다람쥐 : 오, 좋네 좋네. 이력서 멘토링은 잘 받음?
D 군 (Backend) : 엄청 꼼꼼하게 봐주시더라고. 손 볼 거 조금만 더 다듬으려고.
다람쥐 : 굳굳. 그나저나 저 문구는 너 답장에도 있네. ㅋㅋㅋㅋ
Y 형 (Backend) : ?
다람쥐 : 아잉 해줘
Y 형 (Backend) : 아잉
Y 군 (Backend) : 학교 4-1 중이에요! 이것저것 취준 해보려고요. 캡스톤이랑 CS 스터디도 하고, 기존 캠프 프로젝트도 디벨롭하려고요. (요약)
다람쥐 : ㅋㅋㅋㅋ 아니 챗지피티인 줄. 답변 감사! 랩업(기존 프로젝트 디벨롭) 다들 하는구나.
Y 군 (Backend) : ㅋㅋㅋㅋ 인터뷰라길래 인터뷰 톤으로 말해봤습니다. 아쉬운 게 있어서 리팩터링 좀 해보려구여.
다람쥐 : 나중에 리팩 하면 공유점!
J 군 (Backend) : 형도 알다시피 CS 스터디하는 중! 게임 프로젝트로 포트폴리오 쌓고 있어.
다람쥐 : 캠프에서 한 걸로 거기 붙었으면 좋겠네. 포폴 만들면 캠프장님한테 검토받아봐 봐. D 군 겁나 꼼꼼하게 봐주셨던데.
J 군 (Backend) : 도전! 안 그래도 그러려고 한 번 부탁드려 봐야겠다.
A 군 (Backend) : 이번 캡스톤 주제로 제가 했던 디코 클론 그대로 할 것 같아요. 여기에 집중하고 있습니다.
다람쥐 : 와 진짜? 그냥 그대로 갖다 쓰면 되는 거 아녀?? 새로 하는데 따로 도전하고픈 게 있는 거야?
A 군 (Backend) : 이번엔 STOMP 안 쓰고 채팅 구현해보고 싶더라고요. 다른 기능도 구현해보고 싶고.
다람쥐 : 아직 못 해 본 게 있구나. Netty로 TCP/IP 서버 먹어보는 건 어때? ㄴㄴ 웹플럭스 말고.
A 군 (Backend) : ?! 한 번 레퍼런스 찾아보겠습니다. 씁 뭔가 당기네요. 맛있어 보이는데요?
H 양 (Android) : 저도 졸업하고 취준하고 있어요 ㅋㅋ 포트폴리오 멘토링받고 알고리즘 공부, 코틀린 공부 이것저것 하고 있어요!!
다람쥐 : 저랑 비슷하군요! 저도 코틀린 코루틴 정리하고 있는데. 나중에 정리하면 공유하겠습니다 ㅎㅎ 백엔드 캠프원 중에선 코틀린 하는 사람이 없어서 😂 열심히 물어보겠습니다.
H양 (Android) : 헉 제가 잘 답변할 수 있을지는 모르겠지만..!!ㅎㅎㅠ 코틀린 화이팅합시다~!!
다람쥐 : 👍
⭐️ 명심 포인트
[ 서류 / 면접 ]
서류에 신경을 많이 쓰기!
면접은 편한 분위기!
인사하고, 리액션 잘하고, 잘 웃고, 모든 사람에게 경청 잘 하기!
깔끔하게, 담백하게, 답변하기
긍정적으로 생각하기
질문거리 미리 생각하고 가기!
'대화'를 하기, 나와 개발을 충분히 깊게 고민해보기
[ PMP ]
PMP 의미 팀원에게 공유하기
의사 결정의 근거를 '목표'로 잡기!
목표가 수정되면, 다른 이의 목표 수정도 전파된다는 점
[ 프로젝트 ]
'비개발'에 투자 안 하기 (줄이기)
갈등은 꽁꽁 숨기기보단, 재빠르게 멘토링 받기
[ 캠프 ]
개발 캠프로 나를 더 잘 알기
내 삶을 주도적으로 이끌 수 있는 방법을 체득하기
🙋♂️ 마무리. 질문 있으신 분?
질문은 댓글로 달아주세요!
공개글, 비밀글 모두 괜찮습니다.
양이 많다면, 아래 메일로 보내주세요.
Email : rhj4862@gmail.com
빠른 답도 못해드릴 수도 있고, 아예 답장을 못할 수도 있습니다.
솔직하게... 커뮤니케이션 비용이 높을 것 같거나, 뭐라 답장하면 좋을지 생각나지 않으면 스킵할 수도 있습니다.
물론, 저의 답장의 퀄리티도 기대하신 것보다 절대 높진 않을 겁니다. 😅
때리지 마시고...
주인장이 '여유가 없고 바쁘구나!' 라고,
너그럽게 양해를 부탁드립니다.
답을 못할 경우를 위해서, 나름 매뉴얼을 생각해봤어요.
만약 아는 후배가 물어봤다면, 이렇게 물어볼 듯 합니다.
여러분도 스스로 답변을 해보시길 바랄게요!
'현재 상황이 어떻고, 너의 고민이 뭐야?'
이 질문의 답에 따라서, 방향이 달라질 것 같아요.
다른 교육 단체도 마찬가지겠지만, 개발 캠프가 만병통치약은 아니니까요~
지인들에겐 정말 맞는 분한테만 추천을 해줄 수도 있습니다. 😊
긴 글 읽어주셔서 감사합니다!
많은 도움이 되었길 바라면서, 줄이겠습니다. :)
+ 5월 업데이트
원래 3월 초에 작성하고 검토 받고 작성하려고 했는데,
시간이 오래 지나서 그냥 오픈합니다!?
관계자분들은... 문제 되는 부분 있으면 언제든 디코, 카톡, 문자, 전화 주시기 바랍니다. 크크.
3월 초에 받았던 에필로그를 조금 더 보충하자면
여전히 중간 고사를 무사히 마치고 학교 열심히 다니는 친구들도 있고,
좋은 기회를 얻어서 인턴 하고 있는 친구들도 있고,
또 열심히 면접 보러 다니는 등 취준하는 친구들도 있습니다.
저도 4월 중순? 말? 부터 시작해서 5월 초부터 면접 보러 다니고 있습니다.
5월동안은 한창 면접만 보고 결과도 늦게 나올 줄 알았는데,
예상보다 프로세스가 빨라서 당황하고 있어요. ㅋㅋㅋ
좋은 소식은 멘토님께 바로 알렸네요. 실시간으로 이벤트 발행되자마자 소비하셨습니다. 🤣
그러고보니 조만간 받을 줄 알았다는 평가는 여전히 못 받았군요.
눈치껏 말로 하지 않아도(?) 마음으로 전달 받았습니다.
더 참고할 후기 모음
- [SMILEGATE] 2022 winterDevCamp 후기 -1
- [Smilegate] 2023 스마일게이트 개발 캠프 후기
- 2023 스마일게이트 Mini Camp 후기
- 스마일게이트 서버개발캠프3기 후기
- [서버개발캠프4기]2달간의 짧은 여정을 마치고..
- [스마일게이트 서버개발캠프] 캠프를 통해 느낀 점 - 첫번째 이야기
- [윈터데브캠프] 드디어 쓰는 2022윈터데브캠프 후기
- 스마일게이트 서버개발캠프 4기 합격
- [스마일게이트 서버 개발 캠프 4기]#6 후기
- Smilegate 서버개발캠프를 통해 배운 것!
- 스마일게이트 STOVE DEV CAMP 2기를 마치며
- 스마일게이트 2022 겨울 캠프 회고
- 스마일게이트 윈터데브캠프 회고🎯
- 🏕 스마일게이트 온라인 서버개발 캠프 회고
- [서버개발캠프4기] 스마일게이트 서버개발캠프4기를 마치고
- [면접] 2020 4기 스마일 게이트 서버개발 캠프 면접 후기
- 코로나로 마무리된 서버개발캠프
- 2022 윈터데브캠프 후기 프로젝트에서 배운것
- 스마일 게이트 서버개발캠프 끝!!
'자유 > 대외 활동' 카테고리의 다른 글
대학생 IT 연합 동아리 총정리 (24년 9월 업데이트) (0) | 2024.08.27 |
---|---|
한빛미디어 도서 서평단 <나는리뷰어다2024> 신청 방법 / 서평 노하우 방출 (2) | 2024.01.04 |
대학생 IT 연합 동아리 총정리 (23년 9월 업데이트) (1) | 2023.08.29 |
[SOPT] 솝트 SOPT 32기 YB 서버 파트 서류 탈락 후기 / 지원서 공개 (1) | 2023.03.16 |
[혼공학습단 9기] #11. 혼공학습단 9기, 최우수 혼공족 선정 (0) | 2023.02.24 |
댓글