
우아한테크캠프에 합류한 지 2주가 흘렀다. 이 짧지만 의미 있는 시간 동안 경험하고 배운 것들을 되돌아보며 회고록을 남기고자 한다.

우아한 테크캠프에 들어오면 매주 미션을 받게 된다. 이 미션들의 요구사항은 의외로 간단하다. 강사님 말씀으로는 예전에는 미션 요구사항이 엄청 많았다고 한다. 하지만 우리의 성장을 위해 대부분 걷어냈다고 한다.
미션을 위해 필요한 모든 것을 우리가 알아서 해야 한다. 공부할 자료, 설계 방식, 구현 방법, 심지어 각 단계에 얼마나 시간을 쓸지도 우리가 정해야 한다. "틀린 답은 있지만, 정답은 없다"라는 말이 이 상황에 정확히 들어맞는다. 물론 완전히 잘못된 길로 가면 바로잡아 주시긴 한다.
대부분의 미션들은 서로 이어지게 된다. 이번 주에 작성한 코드가, 다음 주 코드의 토대가 될 경우가 많다. 하지만 요구사항은 계속 변경된다. 그래서 현재 요구사항을 만족시키면서도 나중에 바뀔 것을 대비해 유연하게 코드를 작성하려고 노력 중이다.
정답은 없지만, 미션을 하나씩 해결하면서 내가 생각하는 좋은 코드의 기준을 만들어가고 있다. 이것이 바로 이 캠프에서 얻고자 하는 것이다. 틀릴 수도 있겠지만, 계속 도전하면서 나만의 방식을 찾아가는 것이 목표이다.
캠프 입소 전, 나는 Java와 Spring 프레임워크만을 사용해 웹 개발을 했다. 최근 WAS 만들기 미션을 수행하면서, 무의식적으로 Spring 프레임워크를 모방한 복잡한 구조를 만들고 있음을 깨달았다. 이는 단순한 요구사항에 비해 과도하게 복잡한 설계였다.
우아한 테크캠프에는 다양한 배경을 가진 사람들이 모였다. 여기서는 서로의 코드를 직접 보고 설명을 들을 수 있는 기회가 많다. 다른 캠퍼들과 대화를 나누면서, Spring뿐만 아니라 JavaScript의 Express.js, Go의 Gin 프레임워크 등 다양한 프레임워크에서 영감을 받은 설계들을 볼 수 있었다.
이 캠프가 Java언어로 진행되지만, 기술은 항상 변한다. 다양한 언어와 프레임워크를 접하면서, 나는 깊은 고민에 빠졌다. “과연 나는 Java 개발자가 되고 싶은 것인가, 아니면 웹 개발자가 되고 싶은 것인가?” 이 질문은 나에게 큰 도전이 되었다.
결국 중요한 것은 특정 언어나 도구에 얽매이지 않고, 문제를 효과적으로 해결할 수 있는 능력이라는 것을 깨달았다. 이 캠프를 통해 기술적 다양성의 가치를 배우고, 더 넓은 시야를 가진 개발자로 성장하고 있음을 느낀다. 언어는 단순한 도구일 뿐이며, 그 도구를 어떻게 활용하느냐가 더 중요하다는 사실을 깊이 이해하게 되었다.