🌱 들어가며
8기 크루들도 어느덧 수료를 앞두고 있습니다. 10개월을 보낸 우아한테크코스(이하 우테코)는 우리에게 무엇을 남겼을까요? 이 질문을 먼저 수료한 선배 크루들에게 던져봤습니다.
이번 호에서는 7기 안드로이드 지오와 6기 안드로이드 오둥이를 만났어요. 두 분은 우테코에서 가장 크게 배운 것과 그 뒤로 달라진 점, 지금 후배들에게 해주고 싶은 말을 들려줬습니다. 🎓
🙋 7기 지오, 모르는 걸 드러내야 배울 수 있어요
지오는 넛지 헬스케어에서 일본 캐시워크 안드로이드 앱을 개발하고 있습니다. 한국 서비스와 일본 서비스를 아예 따로 운영한다고 해요. 나라마다 상품권 종류와 광고 정책이 다르고, 이벤트도 따로 열어야 하기 때문입니다. 일본어를 조금 할 줄 알아서 사용자가 알려준 에러 메시지를 가타카나나 한자로 검색할 때 도움이 된다고 하네요.
가장 크게 남은 건 용기였어요
지오는 우테코에서 가장 크게 남은 것으로 기술이 아닌 용기를 꼽았습니다. 7기 레벨 1에서 객체지향 수업을 들었을 때의 일이 아직도 기억에 남는대요. 수업에서 "프로퍼티가 뭐예요?"라는 질문이 나왔고, 지오는 "클래스 안에 있는 변수입니다"라고 답했습니다. 그러자 "그럼 필드는요?"라는 질문이 돌아왔어요. 지오도 정확히 답하지 못했습니다.
그래도 100% 정확하지 않은 답이라도 꺼냈기 때문에 필드와 프로퍼티가 어떻게 다른지 생각해볼 기회가 생겼다고 해요. 가만히 있었다면 그냥 지나갔을 거라고요. 상대방도 모든 걸 먼저 알려줄 수는 없으니, 모른다는 걸 보여줘야 알려줄 기회가 생긴다는 게 지오의 생각입니다. 이 경험을 계기로 공부를 시작했고, 발표까지 직접 준비했다고 합니다.
패턴 이름보다 먼저 배운 건 이유였어요
두 번째는 기본 원칙이었어요. 지오는 우테코에 오기 전에도 동아리 프로젝트에서 멀티 모듈과 컴포즈를 써봤습니다. 하지만 MVVM이 왜 좋은지 물어보면 늘 "MVC나 MVP보다 좋다"는 답이 돌아왔다고 해요. 지오는 그 대답이 늘 아쉬웠다고 해요.
우테코는 달랐어요. "MVC를 공부해보세요"라고 하지 않고 "테스트할 수 있게 만들어보세요"라고 했거든요. 계산기를 만들고 테스트 코드를 짜려는데, readLine으로 입력을 받고 있어서 테스트가 안 됐습니다. 입력을 받는 함수와 결과를 돌려주는 함수로 나누다 보니 모델에서 뷰를 떼어내게 됐고, 그제야 모델과 뷰를 분리하는 이유가 와닿았다고 해요. 외워서 아는 게 아니라 문제를 풀며 직접 쌓은 지식이었어요.
회사에서도 이 경험이 이어집니다. "MVVM으로 리팩터링해주세요"라는 요청은 오지 않고, 어떤 문제가 있는지만 전달받는대요. 지오는 문제를 직접 정의하고 해결 수단을 찾은 뒤, 수단마다 장단점을 비교합니다.
진짜 해결해야 할 문제였을까요
프로젝트에서 겪은 실수도 들려줬어요. 지오의 팀은 러닝 코스를 보여주는 서비스를 만들었는데, 오프라인에서도 쓸 수 있도록 로컬 데이터 소스에 캐싱을 붙이자는 이야기가 나왔습니다. 그때 팀원이 "그걸 왜 만들어?"라고 물었고, 지오는 틀에 박힌 답밖에 하지 못했어요.
돌아보면 아직 사용자도 없는 서비스였습니다. 사용자를 어떻게 모을지 고민해야 하는 때에, 배운 아키텍처를 써보고 싶어서 이유를 갖다 붙였던 거예요. 지오는 문제 해결력이 결국 이런 질문이라고 정리했습니다. 이게 진짜 문제가 맞는지, 지금 풀어야 하는 문제인지, 여러 방법을 비교해봤는지, 고른 방법에 근거가 있는지요.
우테코 전과 후
기초는 더 단단해졌습니다. 예전에는 컴포즈의 LazyColumn을 쓰는 방법만 알았다면, 지금은 RecyclerView가 어떻게 변해왔는지 알고 있어서 "비슷한 문제가 생기겠구나" 하고 미리 짐작합니다. 클린 아키텍처도 외우던 규칙이 아니라 본질을 이해하고 판단하는 대상이 됐어요.
무엇보다 문제를 보는 시선이 달라졌습니다. 예전에는 기획이 내려오면 그대로 구현하고 "멋있다"는 말을 듣는 게 좋았다고 해요. 이제는 기획이 풀려는 문제부터 짐작합니다. 기획 쪽에서 "버튼을 누르고 1초 뒤에 팝업을 띄워주세요"라고 하면 지오는 "왜 1초인가요?"라고 되묻습니다. 알고 보니 애니메이션이 팝업에 가려지지 않게 하려는 의도였고, 그렇다면 애니메이션이 끝나는 시점에 콜백을 거는 편이 예외 상황도 적고 더 간단하죠. 이렇게 의도를 물어서 문제를 단순하게 만들면 집에도 일찍 갈 수 있다며 웃었습니다.
모른다고 말하는 태도도 이어졌어요. 대화 중에 모르는 패턴 이름이 나오면 부끄러워서 그냥 넘어가기 쉽습니다. 그래도 물어보면 상대방도 잘 모르는 경우가 많아서, 지금은 의식적으로 용기를 내 묻는다고 합니다.
수료한 사람들, 그리고 우테코가 없었다면
수료생들의 공통점을 묻자 지오는 자기가 말하기엔 어렵다고 했어요. 다른 집단 사람들의 이야기도 들어봐야 하니까요. 다만 우테코 수료생과는 개발 용어로 소통하기가 편하고, 근거를 들어 이야기하는 사람이 많았다고 느꼈다고 합니다.
수료 후에 가장 가까운 사이는 크루들입니다. 같은 프로젝트를 한 6명 중 4명이 같은 회사에 다니고 있어서 자주 만나 고충을 나눈대요. 생산적인 목적보다는 그냥 술 한잔하는 사이라고 합니다.
우테코를 경험하지 않았다면 어땠을지도 물었습니다. 지오는 겉모습은 크게 다르지 않았겠지만, 지금보다 같이 일하기 어려운 사람이었을 것 같다고 답했어요. 기술에 집착했을 거라는 이유였습니다. 레아 코치가 알려준 '놀람 최소화 법칙'이 떠오른다고 했어요. 다른 사람이 코드를 볼 때 덜 놀랄수록 좋은 코드라는 뜻입니다. 기존 기능과 같은 구조로 짠 PR은 쓱쓱 넘길 수 있지만, 새 아키텍처를 들고 오면 리뷰어는 하나하나 읽어야 하죠. 지오는 우테코를 거치며 협업을 조금 더 잘하는 사람이 됐다고 생각합니다. ✨
🗣️ 6기 오둥이, 많이 묻고 많이 부딪혔어요
오둥이는 2년 차 안드로이드 개발자입니다. 우테코에 오기 전에는 비전공자로 프론트엔드 회사에서 6개월 정도 일했어요. 신입에게 알려주는 사람이 없어서 혼자 해결하다 보니, 자기 생각이 맞는지 확신할 수 없었다고 합니다. 10개월 동안 코치와 크루들에게 의견을 물을 수 있는 환경이 필요했고, 취업보다 소프트웨어 세계에 영향을 줄 수 있는 개발자를 키운다는 우테코의 방향도 마음에 들어서 지원했습니다.
코치도 크루도 많이 괴롭혔어요
오둥이는 가장 큰 영향을 준 경험으로 질문과 토론을 꼽았습니다. 스스로 "코치님들과 크루들을 엄청 괴롭혔다"고 표현했어요. 수업 중에 궁금한 게 있으면 바로 물었고, 미션을 하다가도 크루들에게 의견을 묻고 시비를 걸듯 반박하기도 했다고 합니다. 이렇게 치열하게 토론하며 얻은 인사이트가 성장의 바탕이 됐고, 사회에 나와서도 그때 경험을 근거로 이야기할 수 있었대요.
달라진 점으로는 커뮤니케이션도 꼽았어요. 실력도 늘었지만 개발자는 개발만 잘해서는 안 된다는 걸 알게 됐거든요. 현업에 나오면 디자이너와 PM, 팀장, CTO와도 이야기해야 합니다. 우테코에서는 현업 경험이 많은 코치들에게 미리 의견을 말해보고 인정받아본 덕분에 자신감 있게 말할 수 있었다고 해요.
수료한 사람들은 대화가 돼요
오둥이는 수료생의 공통점을 "대화가 된다"고 답했습니다. 이전 회사에 6기와 7기 크루를 여러 명 추천해서 데려오기도 했어요. 10개월을 함께 지내서 "뇌가 싱크되어 있다"고 표현할 정도로, 말을 길게 하지 않아도 서로 알아듣는다고 합니다. 더 좋은 방향을 제안해도 각자 근거를 갖고 고민한 사람들이라 이야기가 잘 통했대요. 오둥이는 지금도 6기 친구들과 연락하고, 심심하면 레아 코치에게도 안부를 묻는다고 합니다.
우테코를 경험하지 않았다면 어땠을지 묻자 오둥이는 잠깐 생각하다 바로 답했어요. "노잼 개발자였을 것 같아요." 원래 주도적인 성격이 아니어서 시키는 일만 했을 거라고요. 우테코는 주도성을 강하게 요구하는 곳이고, 그 덕분에 발표도 하고 의견도 내는 사람이 됐다고 합니다.
가장 힘들었던 순간
남들 앞에서 계속 의견을 말하는 일이 가장 힘들었다고 해요. 모르는 걸 다 물어보다 보니 속으로는 바보처럼 보일까 걱정했다고 합니다. 질문을 하면 레아 코치가 "그럼 내일 발표하시면 되겠네요"라고 하고, 제이슨 코치가 "왜 그렇게 생각하세요?"라고 되묻기도 했고요.
그래도 오둥이는 우테코의 방식이 좋았다고 말합니다. 떠먹여 주지 않는 것 같지만 돌이켜보면 스스로 답에 닿도록 이끌어줬다는 거예요. 사회에 나오면 알려주는 사람이 없고, 알려주는 사람을 만나면 그건 운이 좋은 경우니까요. 그걸 미리 배워서 다행이라고 했습니다.
수료를 앞둔 후배들에게
곧 면접을 많이 보러 다닐 후배들에게는 이런 이야기를 건넸어요. 면접관도 솔직히 잘 모를 때가 많으니 겁먹지 말고 소신 있게 말하라고요. "근거만 있으면 틀려도 됩니다." 좋은 면접관은 틀렸을 때 올바른 방향으로 이끌어주기도 하고요.
오둥이는 크루들과 모의 면접을 하며 서로 세게 압박했던 경험이 지금까지도 도움이 된다고 했어요. 우테코가 끝난 뒤에도 크루들과 계속 함께하라는 조언도 덧붙였습니다. 면접을 앞두고 서로 먼저 봐주던 것처럼, 힘들 때 도와주는 소중한 커뮤니티가 되거든요. 🤝
🌿 마치며
7기 지오와 6기 오둥이는 서로 다른 이야기를 했지만 닮은 점이 있었어요. 모르면 묻고, 말할 때는 근거를 대며, 문제 앞에서는 왜 풀어야 하는지부터 따져본다는 점이에요. 이 습관은 우테코에서 부딪히고 토론하며 몸에 뱄다고 입을 모았습니다.
수료를 앞둔 8기 크루들에게도 이 말이 닿았으면 좋겠습니다. 모른다고 말하는 건 부끄러운 일이 아니라 배우는 첫걸음이라는 것, 그리고 지금 곁에 있는 크루들이 수료 후에도 오래 남는다는 것을요!