시지프 탐구생활#1
나는 최근 재밌게 보는 블로그가 있다.
그것은 바로바로 우아한 테크코스의 코치 시지프의 블로그 행복한 시지프이다.
우테코의 사뭇 다른 미션
나는 이번 주 타입스크립트와 학습 루틴에 대한 미션을 보고 의문이 들었다. 미션은 타입스크립트 예제를 주고 그것을 자기만의 학습루틴을 찾아 풀 수 있는 미션이었다.
평소 내가 알던 우테코라면 매일 매일 자판기를 만들고 편의점을 만들며 도메인 지식과 객체지향 중점의 교육을 하는 곳으로 알았는데, 어째서 한 달이 지난 지금, 학습 루틴을 점검하라고 하는 것일까?
타입스크립트에 대한 공부를 할 수 있어 불만은 없었지만 의문은 생겼다. 그래서 시지프의 블로그를 찾아보기로 했다.
문제 중심 교육

Tech/우아한테크코스 카테고리로 글이 하나 올라와있었다.
글의 제목은 오늘이 아닌 10년 후를 위한 교육, 글의 내용은 문제 중심 교육에 대해 설명한다.
객체 지향을 배우려면 어떻게 해야할까?
누구는 책을 읽으며 배우고 누구는 강의를 통해 배우지만 누구는 경험을 통해 배운다. 여기서 경험을 통해 배우는 사람은 누구일까?
당연하게도 객체지향이 없었을 때의 불편함을 겪은 사람일 것이다. 먼저 문제를 풀어내는 경험을 해보고, 그에 대한 방안을 토론하며 수많은 방법론들이 나왔을 것이다.
그러다 한계에 부딪혔을 때, 객체지향을 겪었다면 어땠을까? 우아한 테크코스는 그러한 토론을 할 수 있는 곳이었다.
내가 잘 못하고 있었던 것
나는 어떤 문제를 풀 때, 정확한 답을 찾길 원했다. 프리코스 때도 레벨1 미션들도 평균보다 많이 과하게 설계를 했다. 학습할 때 오버 엔지니어링을 해보는 것은 좋다곤 하지만 나처럼 너무 과하게 오버 엔지니어링을 하면 어떤 문제가 생길까?
정답은 "SOLID의 필요성을 크게 못 느낀다" 이다. 처음부터 어떻게 도메인을 나눌까? 생각을 하니 코드를 작성하다 SOLID원칙이 필요해지기보다는 SOLID원칙이라는 틀에 맞춰 내 코드를 쑤셔넣고 있었다.
컨트롤러에서 도메인 생성하는 것에 대해 일주일을 고민하고 서비스 계층의 필요성에 대해 며칠을 고민하니 학습은 안 됐지만 열띤 토론으로 인해 만족감만 얻은 상태였던 것이다.
정답은 없었다.
비즈니스 로직이 복잡해지면 한 계층이 생기는 것이고 책임이 많아지면 그때 분리하면된다. 미리 분리할 필요가 없었던 것이다.
결론
학습도 같았다. 모든 것을 배운 뒤 적용하는 것이 아니었다.
적용하면서 이것저것 시도하는 과정에서 자연스럽게 배워지는 것이었다. 이런 중요한 깨달음을 모르고 한 달을 보내버렸다.
나는 최근 재밌게 보는 블로그가 있다.그것은 바로바로 우아한 테크코스의 코치 시지프의 블로그 행복한 시지프이다.우테코의 사뭇 다른 미션나는 이번 주 타입스크립트와 학습 루틴에 대한 미션을 보고 의문이 들었다. 미션은 타입스크립트 예제를 주고 그것을 자기만의 학습루틴을 찾아 풀 수 있는 미션이었다. 평소 내가 알던 우테코라면 매일 매일 자판기를 만들고 편의점을 만들며 도메인 지식과 객체지향 중점의 교육을 하는 곳으로 알았는데, 어째서 한 달이 지난 지금, 학습 루틴을 점검하라고 하는 것일까? 타입스크립트에 대한 공부를 할 수 있어 불만은 없었지만 의문은 생겼다. 그래서 시지프의 블로그를 찾아보기로 했다.문제 중심 교육Tech/우아한테크코스 카테고리로 글이 하나 올라와있었다. 글의 제목은 오늘이 아닌 10년..

