얼마 전, 회사 동료들이랑 주말에 직장 근처 행궁동에서 만나서 피자 먹고 모각코 했던 날이 있었다.🍕
연차도 비슷하고 나이대도 비슷하다 보니까, 업무 얘기 외에도 별 얘기를 다 했는데 결국엔 또 회사 얘기, 개발 얘기로 흘러가는 게 서로 약간은 아쉬운 눈치였다.ㅋㅋㅋ 그래도 회사 밖에서 편하게 만나서 이런저런 얘기 나누고, 친목도 다질 수 있어서 꽤 재밌는 시간이었다.
그리고 나에게는 꽤나 반성을 할 수 있었던 시간이었다.
동료의 풀스택 업무, 쏟아진 질문들💻
요즘 우리 회사에서는 자잘한 내부 프로젝트들이 여러 개 진행되고 있는데, 그날 만났던 동료 중 한 분은 원래 백엔드 개발자인데 이번에 풀스택으로 투입되면서 프론트엔드까지 맡게 됐다.
그래서 자연스럽게 프론트엔드 관련해서 이런저런 질문들을 많이 받았는데, svelte, svelte-kit, react, next 같은 프레임워크 차이부터 SSR, CSR 개념, 그리고 클라이언트 요청이랑 서버 요청 흐름 같은 것까지 정말 다양하게 물어보셨다.
나에게 느낀 느낀 아쉬움🌐
요청 흐름 설명하면서 브라우저, WAS 서버, 웹서버 간 데이터 흐름을 설명했는데, 처음에는 확신을 갖고 설명하다가 점점 나 조차도 내가 제대로 알고 있는 건지 헷갈리는 느낌을 받았다..
예를 들면, 사용자가 브라우저에서 URL에 접속하면 제일 먼저 DNS 서버를 통해 IP 주소를 조회하고, 그 IP에 맞는 웹서버로 요청이 간다. 웹서버는 정적 파일이나 필요한 리소스를 브라우저로 바로 응답해주기도 하고, 경우에 따라 WAS 서버로 요청을 넘겨서 동적 처리가 필요한 부분은 WAS에서 비즈니스 로직을 수행한 뒤 결과를 돌려준다. 그리고 이 데이터를 웹서버가 최종적으로 브라우저에 응답해 주는 흐름인데, 이 기본적인 흐름도 막상 설명하려니까 머릿속에서 꼬이더라.
솔직히 이런 기본적인 개념 정도는 그냥 내 머릿속에 다 있다고 생각했는데.. 막상 설명하려니까 한 문장씩 말하면서도 내가 맞게 말하고 있는 건지 헷갈리고, 그냥 알고 있다고 착각했던 거 같아서 약간 당황스러웠다. 내가 그동안 제대로 알고 있었던 게 맞나 싶기도 하고, 생각보다 깊이 있게 이해 못 하고 있었다는 걸 느낌을 받는 계기가 됐다.
메타인지를 메타인지 하기🧐
그때 딱 느꼈다. 이게 바로 메타인지 부족인가?
메타인지라는 게 쉽게 말해서 내가 뭘 알고, 뭘 모르는지를 아는 능력인데, 개발자한테 이게 진짜 중요한 능력이라는 걸 이번에 제대로 느꼈다.
특히 요즘처럼 프론트엔드랑 백엔드 경계가 점점 흐려지고, 풀스택이라는 역할도 점점 많아지는 상황에서는 더더욱 필요한 역량인 거 같다. 그냥 기능 구현만 되는 게 중요한 게 아니라, 이게 왜 이렇게 동작하는지, 어떤 원리로 되는 건지까지 알아야 진짜 제대로 아는 거니까.
과거의 아쉬움📚
돌이켜보면, 나는 그동안 공부 자체를 소홀히 한 건 절대 아니었다. 새로운 기술이나 프레임워크 나올 때마다 나름 찾아보고, 문서도 보고, 튜토리얼도 따라 하고, 실제로 써보는 데까지는 열심히 했던 거 같다. 근데 방향이 조금 잘못됐던 거다.
일단 동작하는 걸 먼저 보는 데 집중하다 보니까, 개념적인 부분을 충분히 되짚어보는 과정이 부족했다. 그때그때 필요한 기능을 바로 적용하는 데만 급급했고, 한 번 적용하고 나면 복습 없이 넘어간 경우도 많았다. 그러다 보니 시간이 지나면서 기억도 흐릿해지고, 제대로 이해하지 못한 부분은 아예 사각지대가 돼버린 거다.
이번에 동료한테 설명하면서 그게 딱 드러났다. 표면적인 설명은 어떻게든 할 수 있는데, 조금만 깊이 들어가면 내가 아는 게 어디까지고 모르는 게 뭔지가 바로 보이는 상황. 결국 메타인지 부족 + 복습 부족이 합쳐져서 만든 결과물이라는 생각이 들었다.
올해 남은 목표🎯
결국 내가 뭘 알고, 뭘 모르는지를 스스로 명확히 파악하고, 모르는 건 제대로 학습해서 채워넣는 과정이 진짜 중요하다는 걸 이번에 뼈저리게 느꼈다.
올해 남은 기간 동안은 그냥 기능 하나 더 배우는 것보다, 이런 메타인지 자체를 키우는 걸 진짜 목표로 삼으려고 한다.
새로운 기술을 배울 때도 예제만 따라하고 끝내는 게 아니라, 왜 이렇게 동작하는지, 전체 흐름 속에서 어떤 역할을 하는지, 스스로 설명할 수 있을 때까지 제대로 파고들어 보려고 한다.
그리고 배운 내용들은 꼭 글로 정리해서 남겨두려고 한다. 블로그든 노션이든 어디든 내가 알고 있는 걸 글로 풀어내면, 진짜 제대로 이해한 건지 아닌지도 확인할 수 있으니까.
그런 식으로 메타인지를 꾸준히 끌어올리다 보면, 나중에 이런 질문을 또 받았을 때 더 자신 있게 대답할 수 있지 않을까 싶다.
결국 메타인지는 그냥 공부 잘하려고 필요한 게 아니라, 앞으로 개발자로 오래 일하려면 꼭 필요한 기본기라는 걸 이번에 제대로 느꼈다..
기존에 쓰던 글이 날아가서,,, 빠르게 대체하느라 하루만에 써봤는데...
아쉽다. 이 글도 계속 수정해볼 예정이고, 앞으로는 예비용 글 몇개는 써두어야 겠다.
'개발 > 개발관련 이모저모' 카테고리의 다른 글
2025에 갖추고 싶은 역량 (1) | 2025.02.02 |
---|---|
토스 개발자 컨퍼런스 SLASH24 신청 (0) | 2024.08.23 |
자바스크립트와 JSON (0) | 2023.09.05 |
NAVER DEVIEW 2023 신청 (0) | 2023.02.08 |
깃허브 1억 개발자 달성 번역 (0) | 2023.02.05 |