시작하며
안녕하세요!
이번 포스팅은 챌린지 과정 2주차 회고록이 아닌,, 3주차 회고록으로 돌아왔습니다..ㅎㅎ
한주간 너무 정신없이 미션을 해결하다보니 주말마다 체력적으로나 심리적으로 풀어지게 되더라구요..

아무튼 ! 그래서 이번주는 마지막주 챌린지 과정이 시작되기 전, 마음을 다잡는 시간으로 3주차 회고록을 작성해보도록 하겠습니다.
(사실 3주차이긴 하지만 2-3주차동안 챌린지를 진행하며 느낀점, 배운점들을 적어나갈 예정이긴 합니다..ㅎㅎ)

그럼 시작하도록 하겠습니다 !
그동안 무엇을 배웠을까?
우선은 2, 3주차를 진행하는 과정동안 너무 정신없이 지나가다보니 한주가 끝나면 "무엇을 배웠더라?" 라는 생각이 드는 순간도 많았습니다.
그래서 오늘 회고를 기회로 한번 정리를 해봤습니다.
- 객체지향프로그래밍
- 함수형 프로그래밍
- 파일 시스템
- 경쟁조건 (feat. 스레드, 비동기처리)
- git 동작원리
...
대략 기억이 나는 부분들은 이정도인것 같네요🤔
2주차에는 대략 하루동안 객체지향, 함수형 프로그래밍, 파일시스템, 경쟁조건 관련 미션들을 진행하면서 "음.. 이런 개념들이 있구나..! 대충 이런식으로 응용해볼 수 있는건가?"라는 생각으로 하루하루 미션을 진행했었습니다.
하루 안에 공부하기에는 너무 많은 내용이기에 미션을 해결하는데에 벅차서 AI를 많이 사용하기도 했고, 개념 학습과 설계를 진행하다가 구현을 거의 못한 날도 있었답니다..(주륵..)
이렇게 어느정도 키워드만 익혀 2주차를 정신없이 보내고 난 뒤, 3주차 첫 미션은 2주차동안 배운 부분들을 모두 적용해보며 해결해보는 미션이 나오기도 했습니다. 저는 아직도 비동기 처리에 대한 이론적인 부분이나 JS를 활용하여 구현하는데에 미숙한 부분이 많아 어려움을 많이 겪었습니다.
이전에 티켓팅 시스템을 간단하게 구축하고 동시성문제를 해결해보면서 경쟁조건이나 비동기 처리들에 대해 공부했던거 같은데.. 더 공부를 해야할 것 같다는 생각이 많이 들었습니다.
그 외에 추가적으로 3주차에는 git의 동작원리에 대해 이해해보며 git 개체들에 대해 이해하고 해결해보는 미션들을 진행했었습니다.
이 미션을 진행하면서 느낀게 하나 있다면.. 전에 git으로 클론 받았던 코드들을 백업시키는 과정에서 ".git 파일은 삭제하고 옮겨야해요!"라는 이야기를 들었던 적이 있었는데 그 당시에는 "왜 삭제해야하지?"라는 의문을 가진적이 있었지만, 그냥 넘어갔던 경험이 있었습니다ㅎㅎ
이번 미션을 진행하면서, .git파일이 이 워킹 디렉토리에(저장소)에 대한 작은 데이터베이스였구나..!라는 생각이 들더라구요.
git을 개발할 때 보통 clone, push, commit, add, init.. 등 자주 사용해왔지만 정확히 동작원리나 내부적으로 어떻게 구성되어있는지 모르고 사용했을 때에는 매번 명령어만 외워서 쓰게되니 git이 꼬이거나 문제가 생겼을 때에는 어디서부터 해결해야할지 막막하고 어렵게만 느껴졌습니다. 하지만 미션을 수행하면서, 깃이 내부적으로 어떻게 동작하는지 이해하고 나니 단순히 명령어를 외우는 것만이 아닌 어떻게 동작하고 어떤 흐름으로 사용되는지 알게 되니까 깃이 더 쉽고 재밌게 느껴졌습니다.
학습법에 대한 고민과 성장
챌린지 기간동안 가장 고민이 됐던 부분이 어떻게 공부를 해야하는지, AI와 어떻게 하면 '잘' 학습할 수 있을까에 대한 부분이 가장 컸습니다.
사실, 2주차 때까지는 학습과 구현의 사이에서 시간분배에 대한 문제나 AI에게 어떻게 구현할지에 대한 코드에 대한 부분들을 많이 물어보기도 했습니다...
이렇게 학습하는 과정에서 '나는 제대로 학습하고 있는걸까? 무언가 머릿속에 담기고 있나?'라는 의문이 계속해서 생겼던 것 같아요.
그마저도 개념에 대한 학습에 너무 치중하다보니 구현하는데에 시간이 촉박해져 AI의 도움을 받고있는 제 모습을 발견할 수 있었습니다.
또한, 학습시간을 더 투자하여 열심히 학습한 개념들을 구현하는 과정에서 다 적용하며 사용하고 100프로 내것으로 만들 수 있는가에 대한 질문에서도 NO라는 결론이였습니다.
이렇게 혼란스러운 2주차를 보내며, 저에 대한 자책이나 실망감도 조금씩 쌓이기도 했습니다.
그리고 3주차에는 짝과 함께 설계를 진행하거나 AI를 '잘' 활용하는 학습법에 대해 고민해 보는 시간을 가지며 이러한 고민들에 대해 조금씩 방향성을 잡아갈 수 있었습니다.
짝과 함께 설계를 진행하는 과정에서 소통을 통해 학습해나가는 과정에서 더 빠른 방향성이나 지식을 얻을 수 있다는 장점을 배울 수 있었고, 더 좋았던 건 함께 설계를 하다보니 모두 이 설계에 대해 잘 이해하고 있어야한다는 점이였죠.
보통 혼자 설계를 진행할 때에는, 설계 중간에 이해되지 않는 흐름들이 있더라도 시간이 없으니 큰틀로 설계하고 구현 과정에서 헤매는 경우가 생기기도 했었습니다. 그러다보니 큰 흐름에 대한 개념들을 모두 정리하지 못하고 과제를 끝내게 되는 경우도 많았다죠...(하하)
하지만, 함께 설계를 진행함으로써 설계 단계에서 디테일하게 모두 설계를 진행한 것은 아니였지만 전반적인 흐름에 대한 이해를 한 뒤 구현을 진행하다보니 속도도 더 빠르게 구현하고, 보다 깊이 이해하는데에 도움이 되었습니다.
이 과정에서 AI를 이전보다는 잘 활용하고 있게 된 계기가 생기게 된 것 같았어요.
전반적인 흐름들을 이해하고 학습하다보니, 구현과정에서 내부적인 흐름에 대한 디테일한 부분이나 추가적인 예외 상황에 대해 AI를 통해 질문을 했었는데 여기서 단순히 '이거 어떻게 해? 이거 뭐야?'라는 질문이 아닌 내가 이해한 부분들을 설명한 뒤, 피드백을 받고 이 개념들과 연결지어 질문을 주고받으로 '상호작용'하며 학습해 나갈 수 있었습니다.
평소에는 AI에게 모든 것을 맡긴 것처럼 AI 맹신론자와 같은 자세였다면, 3주차 과제를 진행하면서 AI와 대화하며 실제로 소통해보는 시간을 가질 수 있었습니다. 단순히 무언가를 알려주는 존재로써 생각하기 보다, 나만의 AI 사수(또는 실무자 선배님..?) 라고 생각하며 학습해보니 지식이나 깨달음을 얻어갈 수 있었습니다.
결론적으로 말하자면, AI를 단순히 내 질문에 대한 답을 알려주는 것으로만 생각하는 것이 아닌 마치 개발을 잘하는 누군가라고 생각하며 함께 토론하고 지식을 공유하며 학습하려는 자세가 중요하다는 것 !
더 나아가 AI가 잘못된 설명을 해주게 되면 이에 대해서 반론할 수 있는 수준까지 성장하고 싶네요 ㅎㅎ
그리고, 함께 설계하고 고민해보는 활동들도 나중에 실무에 가더라도 중요한 부분인 것 같다고 느꼈습니다.
한창 실무에 있을 때, 설계 과정에 함께 참여해봤던 경험이 있었습니다. 당시에 권한과 관련하여 DB구조를 설계하고 있었는데요.. 당시에 DB에 대한 기본 설계 능력이나 권한에 대한 지식이 없다보니 정말 어질어질 했던 기억이 나네요..ㅎㅎ
근데, 그 과정에서도 아예 하나도 도움이 안됐다는 아니였습니다. DB에서 설계할때는 실제로 데이터를 삭제할 수도 있고(물리적 삭제), 단순히 YN 으로 논리적으로 설계하여 처리하는 부분이나, 권한도 메뉴권한, 관리자 권한에 따라 코드값을 부여하여 계층적으로 구분하는 방식으로 관리된다거나.. 완벽하게 이해는 못하더라도 큰 흐름을 이해하는데에는 도움이 되었습니다.
마찬가지로, 미션에서도 함께 설계를 진행하다보면 내가 몰랐던 개념들이나 궁금하거나 고려해야할 부분들을 서로 소통하면서 그 과정에서 더 깊이 학습해나갈 수 있다는 점이 협업의 장점이자 제가 개발을 좋아했던 이유 중 하나였던 거 같아요.
소통하면서 학습하는 과정도 너무 중요하고, 소통을 하기 위해서는 관련 지식들을 열심히 공부해야하는 만큼 방향성을 더욱 빨리 잡고 깊이 있는 학습이 가능하다는 것을 깨닫게 되었습니다.
앞으로 나는?
크게 3가지로 나누어 정리를 해볼까 합니다ㅎㅎ
남은 한주동안 다음 내용들을 의식적으로 바라보며 챌린지에 참여해보려구요 !
유지할 것
깊이 공부하려는 자세
- 단순히 어떻게 구현하는가?에 대한 의문보다는 나아가 어떻게 동작하는지 원리를 이해하려는 태도로 학습하기 !
AI를 수종적인 태도가 아닌 능동적으로 활용해보기
- 단순히 답변을 받는 것이 아닌, AI와 대화를 통해 개념을 검증하고 여러 접근방식 고민해보며 함께 학습하기
문제점
학습과 구현의 비중 불균형
- 학습과 구현의 비중을 균형있게 관리하기
완벽주의적 접근 시간 소모 줄이기
- 깊게 파고드는 것도 중요하지만, 너무 많은 시간을 한 지점에 투자하지 않도록 하기
- 완벽보다는 충분히 이해하고 시도해보며 우선 구현해보기 -> 이후 리펙토링 진행 !
의사결정 기준 명확히 하기
- 체크리스트를 세울 때, 기준을 단순히 명시적으로 글로 적기보다는 왜 이것을 먼저 수행해야하는지 명확한 기준 만들기
시도해볼 것
시간을 제한 두고 학습과 구현 진행하기
- 학습시간을 일정하게 3시간정도 정해두고, 구현 진행해보며 부족한 개념들 추가 학습하며 진행해보기
AI 질문 전력 고도화하기
- 단순 개념에 대한 확인 및 피드백 뿐만 아니라 관련 코드 예시나 문서들을 요청하여 깊이있게 학습하기
마무리
이렇게 2주차와 3주가 눈 깜짝할 새 끝나버리고, 드디어 내일 마지막 주 챌린지 활동이 시작되는데요..!
벌써부터 아쉬운 마음이 너무 큰 것 같아요..(이대로 멤버쉽까지 가고 싶은 마음..)
정말 힘들기도 했지만, 돌아보면 지식적으로나 앞으로의 방향성에 대해 배워가는 부분들이 많았습니다.
마지막 주도 더 나아진 모습으로 열심히 챌린지 활동을 진행해보도록 하겠습니다..!
그럼 다음 포스팅에서 또 만나요 ~!
'회고록 > 네이버부스트캠프' 카테고리의 다른 글
| [네이버부스트캠프] 챌린지 1주차를 마무리 하며,, (1) | 2025.07.20 |
|---|