조준장 개발자 생존기

2024년 회고 (feat. 우아한테크코스) 본문

Memoir

2024년 회고 (feat. 우아한테크코스)

JunJangE 2024. 11. 22. 20:54

우아한테크코스로 시작해서.. 우아한테크코스로 끝나다..

2024년은 개발자로서 큰 변화를 경험한 한 해였다. 특히, 우아한테크코스 6기에 참여하면서 단순한 기술 학습을 넘어 협업, 문제 해결, 그리고 성장하는 방법을 배울 수 있었다. 이번 회고에서는 한 해 동안 겪었던 주요 경험과 배운 점을 정리하고자 한다.

"우아한테크코스를 통해 가장 크게 달라진 점은 문제를 해결하는 과정에서 구조와 원칙을 고민하며 코드를 바라보게 되었다는 점이다." 이전에는 기능을 빠르게 구현하고 결과를 내는 데에만 집중했다면, 이제는 “이 구조가 정말 최선일까?”, “왜 이렇게 동작할까?” 같은 질문을 스스로에게 던지며 개발에 임하게 되었다. 단순히 정답을 외우는 방식이 아니라, 눈앞의 문제를 해결하기 위해 설계와 구조를 고민하고 적용하는 과정을 반복하면서, 책에서 봤던 디자인 패턴이나 원칙들이 실제 문제 해결에 도움이 되기 시작했다. 마치 밥을 꼭꼭 씹어 먹듯 코드의 의미와 역할을 되새기며 작성하다 보니, 어느 순간 반복적으로 마주치는 구조나 상황 속에서 “이게 바로 전략 패턴이었네?”, “이게 상태 패턴이네?”라는 인식이 자연스럽게 떠올랐다. 단순히 개념을 외워두었다가 꺼내 쓰는 것이 아니라, 문제를 해결하려다 보니 그 패턴이 필요해졌고, 그러다 보니 자연스럽게 원칙과 구조가 몸에 익어갔다.

"안드로이드 개발을 통해 기술의 발전을 실감했다." 처음에는 남들이 사용하는 최신 기술이나 유행하는 기술들을 무작정 적용하려 했지만, 스스로 그 근본적인 이유가 부족하다는 것을 깨달았다. 이 점은 네이버 부스트캠프에서 많은 고민을 하면서 알게 되었고, 그 후 우아한테크코스에서 더 깊이 생각하게 되었다. Android 프레임워크와 Kotlin을 활용해 MVC에서 MVP, MVVM 구조로 프로젝트를 리팩터링하면서, 각 상황에 맞는 적합한 아키텍처를 선택하는 것의 중요성을 알게 되었다. 특히, 리스트 목록을 구현할 때 ListView 대신 RecyclerView를 사용하는 이유를 알게 되었고, 이는 단순히 ‘좋은 기술’을 사용하는 것 이상의 의미가 있다는 점을 깨달았다. 기술 선택은 언제나 그 선택에 대한 명확한 근거와 맥락을 필요로 한다는 교훈을 얻었다. 결국 기술은 단지 도구일 뿐, 그 도구를 언제, 어떻게 사용할지가 진정한 실력의 차이를 만든다는 것을 실감했다.

"코드 리뷰는 단순히 오류를 지적받는 과정이 아닌, 개발자 간 관점을 나누고 성장하는 대화의 장이었다." 초기에는 리뷰의 중요성을 몰라 상대방의 리뷰를 받아들이기 급했다. 하지만 리뷰를 통해 ‘왜 이 방식이 더 적합한지’를 스스로 설명하고 설득하는 연습을 하면서 논리적 사고와 표현 능력을 함께 키울 수 있었다. 특히 내가 남긴 리뷰가 동료에게 도움이 되는 방식으로 전달되도록 고민하며, 단순한 지적이 아닌 대안을 제시하는 방식으로 피드백을 남기게 되었다. 단순히 “이 부분이 잘못되었습니다”가 아니라 “이 방식은 특정 조건에서 예상치 못한 동작이 발생할 수 있으니, 이런 구조는 어떨까요?”라고 말하는 습관이 생겼다. 이러한 경험은 단지 코드 품질을 높이는 데 그치지 않고, 팀 내에서 신뢰받는 개발자로서의 책임감을 기르는 데 큰 도움이 되었다.

"Android와 Kotlin 모두 테스트가 가능해졌다." 이전부터 테스트 코드를 작성해보고 싶다는 욕구가 있었는데, 이번 기회에 제대로 배우게 되었다. 우아한테크코스는 테스트 코드가 빠지면 섭섭한 교육인 것 같다. 테스트 코드를 작성하면서 가장 크게 느낀 점은, 단지 오류를 잡는 도구가 아니라, 내 코드가 올바르게 설계되었는지를 확인하는 거울이라는 것이었다. 특히 ViewModel이나 UseCase 레벨의 테스트를 작성하면서, 코드가 외부 의존성과 어떻게 분리되어야 하는지를 자연스럽게 학습할 수 있었다. 또, 테스트를 작성하면 이후 리팩토링이나 기능 확장 시에도 안정감을 가지고 작업할 수 있다는 점에서, 테스트는 단순한 품질 확보 수단을 넘어 개발자의 자신감을 키우는 역할을 한다는 것을 체감했다. 앞으로 어떤 프로젝트를 하더라도 테스트 코드를 우선순위에 둘 수밖에 없는 이유를 스스로 납득하게 된 시간이었다.

동아리원에서 심사위원까지..

"올해, 나는 한국대학생IT경영학회 큐시즘에서 동아리 심사위원을 맡게 되었다." 이 경험은 예전에 내가 GDG on Campus에서 해커톤을 기획하며 심사위원을 섭외했던 때와 비교되는 큰 변화였다. 당시에는 심사위원을 구하는 것이 쉽지 않았고, 많은 노력이 필요했지만, 올해는 내가 직접 심사위원 역할을 맡게 되어 조금은 벅차기도 했다. 큐시즘은 기획자, 디자이너, 개발자가 한 팀을 이루는 방식으로 진행되었고, 학생들의 실력이 매우 뛰어나 직장인들이 포함된 동아리와 비교해도 손색이 없을 정도였다. 심사위원으로 처음 맡게 되었을 때는 내가 이 역할을 잘할 수 있을지 의문이 들었지만, 그동안 쌓아온 개발 경험을 바탕으로 최선을 다해 평가하고 피드백을 제공했다. 이 경험을 통해, 기술과 협업 능력을 갖춘 참가자들의 실력을 직접 느낄 수 있었고, 심사 과정에서 내가 배운 점도 많았다. 결국, 이번 경험은 내 자신에게 큰 도전이었고, 더 나아가 내가 가진 지식과 경험을 공유하는 기회로서 값진 시간이 되었다.

앞으로의 계획..

내가 부족하다고 느낀 CS 분야를 안드로이드 개발과 연관지어 학습할 것이다.
그동안 안드로이드 폰 사용자만 이용할 수 있었던 서비스의 한계를 KMP 기술을 활용하여 해결할 것이다.
꾸준히 진행할 서비스를 새롭게 개발할 것이다.

2024년은 나에게 정말 많은 성장을 안겨준 해였다. 우아한테크코스를 통해 개발자로서의 기본적인 태도를 정립하고, 다양한 프로젝트 경험을 통해 실력을 키울 수 있었다. 앞으로도 계속해서 배우고 도전하며, 더 나은 개발자로 성장해 나가겠다.