요즘 전반적인 기초에 대해 다시 학습하고 있는데
생각보다 새로운 내용들이 너무 많다.
분명 내가 다 보고 지나갔던 부분임에도 불구하고
지금 보니 의미심장한 문구들도 많고
당연히 그렇겠거니 하고 넘어갔던 내용들 중에서
현재는 까먹고 사용하지 않는 것들도 있었다.
사람들마다 각자 주장하는 바가 다른데
기초부터 탄탄히 해야 된다는 사람과
일단 시작부터 하고 필요한 부분을 메꿔야 한다는 사람
보통 두 종류로 나눠졌다.
하지만 기초부터 한바퀴를 본 다음
프로젝트에 들어가서 허덕이다가
부족한 부분들에 대해 알아보면 기초적인 내용이거나
이미 설명된 부분을 그 때는 이해하지 못하고 넘어갔던 경우가 많았다.
기초를 먼저 탄탄히 잡을 경우
프로젝트를 수행하면서 에러를 만났을 때 원인을 파악하기가 훨씬 쉬웠고
프로젝트를 먼저 수행하며 실마리를 잡은 경우
왜 이게 이렇게 되는지에 대해 더 자세히 파고들 수 있었고
전에는 보이지 않던 내용들 까지도 이해할 수 있었다.
마치 1회차 플레이에는 보지 못했지만
2회차, 3회차가 되면 보이는 것 처럼
프로젝트에서 부딪힌 경험이 새로운 시야를 해금하는 것 같다.
또한 문제가 해결되지 않아 고통받고 고민했던 시간이 있었기 때문에
전에는 쉽게 지나쳤던 내용도 더 가치있게 보이고
더 깊게 파고들 동력이 되어 확장해 나갈 수 있었다.
결론적으로는 실제로 경험해보면 어떤 것이 더 중요하다고 하기는 쉽지 않고
적절한 밸런스를 갖춰야 서로 상호작용을 통해 더 빠르고 깊이 알 수 있게 되는 것 같다.
개발자방에서도 주로 언급되는 이야기가
현업자들이 실력 향상을 하고 싶은 경우에는
알고리즘, 자료구조, network, deepdive읽기 등을 권하는 이유도
실제 업무에서는 기능 동작만으로 만족하고 넘어가서 채우지 못하는 기초를 채우라는 의미가 아닐까?
닭과 달걀의 관계와는 다르게
기초와 프로젝트 모두 중요한 것 같다.

오늘도 10분 이상 운동했다.
