푸딩캠프 이야기
프레임워크 없는 프론트엔드 개발 스터디 참가자 모집
스터디캠프 2기에 이어 바로 이어지는 3기는 제가 추천하는 책인 “프레임워크 없는 프론트엔드 개발”입니다. 프론트엔드 프레임워트를 뜯어보고 직접 구현해보는 내용인데, 이 책을 학습하고 나면 리액트 등 현대적 웹 UI 프레임워크/라이브러리 사용에 더 능숙해지실 겁니다.
오리엔테이션을 포함해 총 5주 동안 진행하며, 노쇼 및 당일불참 통보를 예방하는 목적으로 소정의 참가비가 필요합니다.
소프트웨어 엔지니어 가이드북 스터디 참가자 모집
스터디캠프 2기는 여러 사람에게서 추천 받고 있는 “소프트웨어 엔지니어 가이드북” 책으로 스터디를 진행합니다. 저도 좀 봤는데, 좋은 내용이 정말 많더라고요. 오리엔테이션을 포함하여 총 5주 간 진행하며, 무료와 유료로 진행합니다.
먼저 무료 캠프부터 시작합니다. 이 책에 관심 갖고 있었는데 혼자 학습하기 부담을 느끼셨다면 함께 학습해요!
사수가 있지만 사수가 필요한 주니어의 성장 계획 - 2/2
지난 1편에서 이어집니다.
2부. 문제 해결안 찾기
내게 필요한 단 한 마디, 그렇게 하면 돼요.
🍮 한날 : 근데 다행인 점은, 사수님이 고인물이라든가 말이 안 통하는 분은 아닌 것 같고, 그 분도 상황에 함께 휩쓸려가는 상황인 것 같아요.
🧑🏻 유남주 : 그런 것 같아요.
🍮 한날 : 아무리 회사 일 쳐내기 바쁘더라도 유남주님은 회사 안에서 동료들과 스터디만 해도 지금 느끼시는 불안이 많이 줄어들 거예요. 근데 현실은 동료는 유남주님처럼 일 쳐내기 바쁜 사수님 뿐이죠. 만약 사수님이 A/B 테스트 할 때마다 코드 바꾸는 비효율이 발생하니, 구글 태그 매니저가 효율을 제공하는 것처럼 보다 효율적으로 A/B 테스트를 할 수 있는 도구를 함께 연구하자고 하면 참 좋았을 거예요. 마케팅팀과 협업하기도 좋고. 소위 돈 받으면서 공부하는데, 그 공부한 성과가 회사 일에 기여하는 것이니 목표 달성할 때 유남주님이 얼마나 성취를 느끼겠어요.
🧑🏻 유남주 : 맞아요.
🍮 한날 : 왜냐하면, 기여라는 피드백을 유남주님이 받는 거니까요. 그런 피드백 순환고리 하나라도 찾아내면 만족도가 많이 올라가실 거예요. 더 직접적인 피드백이라면 사수님이 “유남주님, 이거 한 번 보실래요?” 라고 한 뒤에, 한 1~2주 뒤에 “그거 해보셨어요? 해보니 어때요?”라고 상기 시켜주듯 피드백 주는 게 있어요. 이런 구체적인 걸 직접 요구하시면 좋아요.
🧑🏻 유남주 : 아, 그런 거를요?
🍮 한날 : 네, 구체적인 행동을 요청하면 요청 받는 사람 입장에선 복잡하게 생각할 필요가 없어요. 일주일 간격으로 개인면담보다 훨씬 부담이 적은 행동, 즉 상태 진단 한 번 해주고 피드백 해주면 되는 거죠.
🍮 한날 : 사수라고 해서 다 코칭 역량이 있는 건 아니에요. 코칭 연습도 하고 훈련도 해야 해요. 근데 수 년 동안 커리어를 쌓으면 경력자가 된 거지 리더로, 코치로 충분한 훈련을 받았다는 걸 뜻하진 않거든요. 그래서 본인이 리더로서 뭘 해줘야 하는지 모를지도 몰라요. 단지 MSA 못해서 불만인가 보다, 라고 피상적으로 생각할지도 모르죠.
🧑🏻 유남주 : 이해됐습니다. 확실히 좀 피드백이 없었던 것 같긴 하네요.
🍮 한날 : 피드백이 없으면, 특히 사수가 없는 주니어들이 무척 힘들어해요. “내가 구현해서 돌아가긴 하는데, 이렇게 하는 게 맞나? 이렇게 해도 되나?”라는 질문에 “그렇게 하면 돼요”, “그렇게 하지 말고 다르게 해보세요” 이런 한 마디를 원하거든요.
🧑🏻 유남주 : 그렇죠, 그렇죠. 맞는 거 같네요. 피드백 자체가 없었다 보니까 그런 감이 커지지 않았나 싶어요.
🍮 한날 : 그러니 피드백을 요청해보시고, 목표를 정해달라고 해보세요. 뻔한 거라도. 아까 말씀하신 일정을 맞출 수 있지만 새롭게 시도해본다고 했잖아요.
🧑🏻 유남주 : 네.
🍮 한날 : 시스템에 대해서 좀 더 아는 사람이 그 범위 내에서 작은 목표를 정해주고 한번 이렇게 해보세요 하고, 유남주님은 학습할 때 목표를 종이에 써서 붙여놓고 보는 것처럼 목표를 가시권에 둬보세요. 사람의 마음이 또 다르죠. 누군가와 상호작용한다는 기분이 드니까.
🧑🏻 유남주 : 이게 너무 알고 있었던 내용을 제가 적용 안 하고 있었다는 생각이 드네요.
🍮 한날 : 고립되어 점점 갇혀가서 그래요. 점점 갇힌다는 얘기는 나의 시선이나 관점이나 생각이 내 안으로만 향하는 거예요. 그러면 주변에 있는 자원들을 내가 활용할 생각을 못하죠.
🧑🏻 유남주 : 그렇죠. 맞아요. 맞는 말씀인 것 같아요.
🍮 한날 : 지금 단계에서는 아마 아까 말씀하신 새로운 프로젝트를 한다거나 큰 뭔가를 하기에는 제가 봤을 때는 아직 내부 시스템에 대한 이해도와 숙련도는 좀 더 필요해 보여요.
🧑🏻 유남주 : 맞아요.
🍮 한날 : 그래서 사수님의 활약을 이끌어 내기 참 좋은 거예요. 시스템에 대해 아니까 내가 소화하기엔 조금 어려운 수준으로 과제를 내주실 수 있을 거예요. 유남주님은 시스템 기반으로 큰 걸 만들 때에 일정 추정이 안 될 거 같거든요. 일정 추정이 안 되면 사수가 됐든 누가 됐든 그 일을 맡길 수가 없어요. 리스크가 되기 때문에.
🍮 한날 : 내 스스로 일정에 대해서 확신할 수 있는 정도의 스펙을 기준으로 계속 사수를 끌어들여서 한 10 % 정도 더 도전적인 거를 목표를 세워달라고 하는 거죠. 너무 어려우면 일정도 어기고 포기하고, 너무 쉬우면 지금의 심리 상태가 계속 반복될테죠. 살짝 어려운 정도로 과제를 내주는 건 기존 시스템과 레거시를 잘 아는 사수이기 때문에 오히려 더 잘할 수 있어요. CTO나 이런 분보다.
🍮 한날 : 사수님이 정해준 목표, 조금 어려운 난이도를 풀어보고, 중간 단계 완성할 때까지 혼자 일하지 말고요. 과정에서 주요 마일스톤 단위로 계속 사수분하고 얘기를 나누세요. 이렇게 하면 되나요? 이렇게 해도 시스템에 문제가 없을까요? 이런 식으로 하면 일을 조금 더 유남주님이 사수분하고 재밌게 하실 수 있을 거예요. 무엇보다도 사수님은 자연스럽게 유남주님의 상태를 자세히 인지하게 돼요. 어쩌면 사수님도 그걸 몰라서 못했던 걸 수도 있어요. 본인이 혼자 일을 해왔는데, 그분이 자기의 부사수를 어떻게 지지하고 지원해야 되고, 같이 협업해야 될지를 말이죠. 온보딩이 없었다는 얘기를 들어보니까 조금 더 확신이 드는데, 어쨌든 모를 수 있어요.
🧑🏻 유남주 : 이거는 당장 다음 주부터라도 써봐야 할 것 같아요. 그럼 만약 제 사수님이 그런 지원에 대해 협조하시지 않으면 어떡해야 할까요?
🍮 한날 : 예상을 깨고 비협조한다면, 비협조를 상수로 놓는 거죠. 비협조가 상수인 환경에서 고립의 틀을 깰 방법을 모색하면 돼요. 아쉽긴 하지만 변수보다는 상수가 나아요. 지금 유남주님을 힘들게 하는 요소 중 하나는 불확실성이니까요.
🧑🏻 유남주 : 아...
내가 구축하는 피드백 순환 고리
🍮 한날 : 유남주님에게 좋은 만족감을 주었던 성취 요소를 찾으려 노력해야 해요. 아무리 일이 몰아치듯 바빠도 밥 먹을 시간은 있잖아요.
🧑🏻 유남주 : 그렇죠.
🍮 한날 : 유남주님과 비슷한 고민하는 동료를 찾아내서 점심 시간에 샌드위치 먹으며 독서 모임을 갖는다든가 스터디를 하면서 숨쉴 틈을 찾아내고 창출할 수 있어요.
🧑🏻 유남주 : 좋은 것 같아요. 궁금한 게 있는데요. 아까 말씀하신 것 중에 결국은 목표를 조금씩 높이는 걸 말씀해주셨는데, 예시가 있을까요?
🍮 한날 : 예를 들어서, 기존에 A라는 걸 구현할 때 손으로 테스트 했는데, TDD(Test Driven Development)를 해본다든가, 리팩토링을 병행하며 구현한다든가. 저는 작업할 때 리팩토링을 함께 해요. 그래서 날 잡고 크게 리팩토링하는 일이 잘 없죠.
🧑🏻 유남주 : 맞아요. 같이 하라고 하더라고요.
🍮 한날 : 이렇게 하면 인지 부하가 걸려요. 그 대신 구현하면서 리팩토링을 염두에 두니 숙제가 밀리질 않으니까 일단 심리적으로 스스로에 대해서 안정감과 안전감이 같이 들어요.
🧑🏻 유남주 : 이해됐습니다. 그럼 여기서 제가 좀 더 궁금한 게 있는데요. 경력이라는 기준이 제가 생각하는 기준도 있고 밖에서 생각하는 기준이 있다고 생각해요. 예를 들어 1년 차 했을 때는 나는 정도 보여줬으니까 됐어, 라고 하지만 사회에서는 이 정도 년차에 기대하는 게 있다고 생각하거든요. 지금 말씀하신 목표를 조금씩 높이는 건 제가 느끼기에는 내가 이렇게 더 개발 빨리 잘할 수 있어, 라는 거는 포커싱이 된 것 같은데, 외부에서 이걸 어떻게 보지? 그리고 이게 외부에서는 좀 인정해주는 그런 가치가 있는 일인지가 좀 궁금해요.
🍮 한날 : 그런 자신의 커리어에 관한 내용을 정량적인 일로 바꿔야 돼요. 수치로 말해야 된다는 거죠. 측정을 해야 돼요. 측정을 하지 않으면 사실은 자신이 통제할 수 없는 일인 거예요.PM이 혹시 사용자 스토리나 이런 거 쓰나요? 어떤 식으로 PM하고 업무를 정리하세요?
🧑🏻 유남주 : 되게 작은 태스크가 여러 개 만들어요. 프로덕트 디자인이 먼저 나오면 거기에 맞춰서 서로 태스크를 할당하는데, 딱히 스토리를 구분하지 않는 것 같아요.
🍮 한날 : 그러면 태스크는 예상 시간 같은 걸 설정하나요?
🧑🏻 유남주 : 네, 맞습니다. 예상 시간을 설정하고, 측정합니다.
🍮 한날 : 그럼 유남주님은 어느 정도 이행을 하세요?
🧑🏻 유남주 : 저는 처음에는 여유를 좀 둬가지고 거의 100% 또는 90 % 정도 계속 맞추고 있다고 생각은 하거든요. 여유를 둬서 그런 것 같아요.
🍮 한날 : 여유를 뒀다고 해도 잘 지킨다는 점은 훌륭하네요. 그러면은 그거 하나 하나를 전부 다 기록을 하시면 돼요. 사전, 사후로 상태를 구분한단 얘기는 비교할 수 있다는 거고, 그럼 차이를 부각시킬 수 있죠.
🧑🏻 유남주 : 그렇죠.
🍮 한날 : 내가 업무 수행을 수치화 한다고 했을 때 예를 들면, 1시간은 평균 3이다. 근데 코드 에디터의 활용도를 높였더니 3이 4가 됐어. 그걸 전부 다 측정할 수가 있죠. 그리고 그거는 나중에 이력서 쓸 때 떠올리려하면 기억이 안 나니까 평소에 이력서를 계속 업데이트를 하면서 그런 내용을 쓰는 거죠. 꼭 이직을 염두에 두지 않더라도 이력서를 평소에 관리하는 거예요.
🧑🏻 유남주 : 이걸 안하고 있었다는 게 너무 아쉽네요.
🍮 한날 : 그러게요. 시간까지도 예상 시간까지 하셨다면서 그걸 안 하셨네.
🧑🏻 유남주 : 그러게요. 이거 했으면 좀 표현할 수 있는 게 좀 많았을 것 같은데.
🍮 한날 : 그렇죠. 그리고 본인의 성장도 눈에 보이고, 자기 스스로 피드백을 받을 수 있는 거죠. 테스트 코드가 좋은 게 피드백을 굉장히 빠르게 좋은 정보와 함께 받을 수가 있잖아요. 그런 자기 피드백 시스템을 구축하는 게 중요해요.
🧑🏻 유남주 : 제게 필요한 거 같아요.
🍮 한날 : 생산성을 높일 수 있는 거는 조금만 둘러봐도 되게 많아요. 하다못해 툴(tool) 작업이 될 수도 있고 방금 예를 든 것처럼 에디터 활용도와 숙련도를 높이는 방법도 있죠.
🧑🏻 유남주 : 기록을 좀 확인했어야 됐네요. 다 해야겠어요.
🍮 한날 : 사실 그 역할을 해주는 게 사수긴 해요. “최근에 조금 퍼포먼스가 떨어진 것 같은데, 지난 번 몸살 감기 이후로도 계속 그런 거 보면 다른 이슈가 있는 것 같네요. 뭐 고민하는 거 있어요?” 뭐, 이런 형태로 하겠죠.
🧑🏻 유남주 : 아까 스토리 얘기하실 때 궁금했었는데, 예를 들어 개발을 하다가 코드 에디터를 좀 더 익숙해져서 개발을 빨리 했다고 하셨잖아요. 그러면 그 과정에서 우리가 코드 에디터를 배우는 시간도 어떻게 따로 측정을 하시나요?
🍮 한날 : 업무 수행 시간으로 측정하지는 않고요. 그 대신 시간을 한정해서 학습을 하죠.
🧑🏻 유남주 : 아, 시간을 따로 잡으시는군요.
🍮 한날 : 그 시간 안에 학습한 양만큼을 일종의 기준으로 삼는 거죠. 예를 들어서 러스트(Rust)를 학습하는데, 진도를 조금 밖에 못 나가면 지금 러스트가 나한테는 난이도가 10 정도 어려운 게 아니라 한 30, 40 정도 높은 거구나. 그러면 더 할지 아니면 기반이 되는 다른 걸 할지 판단할 수가 있죠.
마치며
🧑🏻 유남주 : 굉장히 흥미로운 걸 알게 됐네요. 재밌어요.
🍮 한날 : 사수님과 이런 대화를 나누시면 더 좋았을텐데 말이에요. 또 궁금한 것 있을까요?
🧑🏻 유남주 : 아니요, 없습니다. 오히려 빨리 해보고 싶다는 생각밖에 없습니다.
🍮 한날 : 인지적 과제 분석(Cognitive Task Analysis)라는 게 있어요. 얼마 전에 푸딩캠프에서 워크숍도 했었는데요. 쉽게 설명하면, 전문가의 전문성을 추출해서 다 같이 학습하는 데 목표를 둔 인터뷰의 일종이에요. 예를 들면, 소방관은 극단적인 환경에서 생존하면서도 불을 끄고 구조도 하잖아요. 남들은 감지 못한 작은 소리를 듣고 폭발 위험을 알아챈다든가. 그런 전문가의 경험을 최대한 조직에 퍼뜨려야 되거든요. 그래야 한 명이라도 더 살리고 소방관도 안전하고. 그런데 전문가일수록 본인의 전문성이 암묵지에 있어요. 본인이 왜 그렇게 했는지 본인도 잘 몰라요.
🍮 한날 : 그런 암묵지에 있는 지식을 추출하기 위한 인터뷰 방법인 거예요. 이 말씀을 드리는 이유는, 사수는 그동안의 레거시에 대해서 이런 상황이 생겼을 때 바로 문제 정리를 했던데 어떻게 그렇게 문제 정리를 할 수 있었지? 그걸 알아내는 식이죠. 그러면 레거시 코드를 다 들여다보고 이해할 때까지 시간이 걸린 게 아니라 훨씬 앞질러 갈 수 있어요. 사수분의 입장에서는 본인의 전문성을 존중하면서 진행되는 인터뷰이기 때문에 유남주님과 이뤄지는 라포 형성에도 도움이 될 거예요. 이런 활동들을 식사하면서 하는 게 바쁘고 정신없을 수 있지만, 같이 식사를 하는 행위 자체가 되게 서로 간에 친밀감을 높이는 행위니까.
🧑🏻 유남주 : 이해 됐습니다. 감사드려요. 뭔가 해결이 된 느낌이에요.
🍮 한날 : 제가 봤을 때 그런 느낌 받으시는 게 딴 것도 딴 거지만, 실행 안이 제시돼서 조금 더 그런 기분을 느끼시는 것 같아요.
🧑🏻 유남주 : 정말 그렇습니다. 맞아요. 이게 뭘 더 해야 될지 고민했었거든요. 요구사항 치는 거 이상으로 뭘 더 해야 될지 고민했었는데, 이런 것들을 해볼 수 있겠네요.
🍮 한날 : 그렇죠. 긍정적으로 보면, 일이 막 몰아치는데 그 일들은 내 전두엽을 강하게 쓰지 않고 손가락으로 해도 해결할 수 있는 일이다. 그러면 내 전두엽 인지 부하가 안 되는 거니까 내 의지력을 아끼는 거잖아요. 이 의지력을 아껴서 뭐에 써먹지? 이런 고민을 해보세요.
🧑🏻 유남주 : 감사합니다. 진짜 너무 많은 걸 얻은 50분이었네요. 이렇게 처음 보는 사이에서 그렇게 딱 집어내신다는 게 되게 신기한 것 같아요. 저는 진짜 이런 건 절대 못할 거예요. 이런 멘토링 나중에 절대 못하지 않을 것이네요. 오기 전에 되게 긴가민가 했었던 게, 너무 처음 보는 사이에 이런 걸 말해도 도움이 될까? 라는 걸 생각했었는데, 되게 놀라운 경험인 것 같아요.
🍮 한날 : 그렇게 피드백 주신다니 저도 기쁩니다. 수고하셨습니다.
🧑🏻 유남주 : 감사합니다!
의견을 남겨주세요