내용에 문제가 있는 경우 삭제 또는 수정하겠습니다.
네이버 부스트캠프 챌린지 2주차가 끝났다.
이번주는 저번주와 다르게 시간이 빠르게 흘러갔다.
이제는 부스트캠프 챌린지에 적응하고 있는 것 같다.
✨ 좋았던 점 (잘한 점)
이번주는 저번주와 다른 방향으로 미션을 수행했다.
저번주는 미션에 대한 압박감 때문에 과제 제출에 집중하고 과제를 완성하는 것에 급했다.
하지만, 이번주는 저번주와 다르게 "학습과 설계"에 초점을 맞췄다.
과제를 진행하기 앞서 어떤 개념이 필요하고 내가 모르는 부분이 무엇인지 스스로 판단한 뒤 개념을 먼저 학습했다.
개념을 학습하며 새롭게 알게된 점이나 미션 수행에 필요할 것으로 판단되는 개념들은 README에 함께 정리해두고 나중에 학습정리에도 작성했다.
개념을 학습하고 난 뒤 문제를 읽으며 어떤 개념이 어디에 어떻게 사용되어야 할 지 고민하고 어떤 순서로 미션을 수행할지 정했다.
자주 사용되어야 할 기능 또는 핵심 기능을 우선하여 구현하도록 했다.
또한, 이번주에는 과제의 요구사항을 세밀히 나누고 각 요구사항에 대해 내 기준의 난이도를 함께 작성했다.
이 때 기준이 된 것은 "내 실력으로 30분 안에 막힘없이 구현할 수 있다"에 해당하면 난이도 [중]으로 분류했다.
만약, 몇 줄 안되는 코드로 쉽게 만들 수 있는 기능은 난이도 [하], 다양한 자료를 참고해야 하거나 처음 구현해보는 기능은 [상]으로 분류했다.
이후, 이 난이도에 근거하여 쉬운 것 부터 차근차근 만들고자 했다.
객체지향에 대해 배운 뒤에는 미션을 대부분 객체지향 프로그래밍으로 해결하려 했다.
객체지향에 익숙하지 않았기 때문에 연습을 하고자 했기 때문이다.
각 클래스를 나누고 어떤 클래스에 어떤 기능이 필요한지 스스로 판단하고, 공통적으로 필요한 메소드는 부모 클래스를 만들어 상속할 수 있도록 했다.
그 결과, 저번 주보다 과제를 구현하는 과정이 훨씬 쉬웠고 코드의 재사용의 장점, 단위 테스트의 장점 등에 대해 느낄 수 있었다.
(과제가 저번 주 보다 쉬운건지 내가 성장한 것인지는 모르겠지만, 내가 성장한 것으로 생각하려 한다)
저번주와 마찬가지로 피어세션에서 동료들에게 많은 도움을 주고자 노력했다.
이번주는 나 빼고 모두가 전공자여서 내가 생각할 수 없었던 다른 방향이나 부족한 부분에 대해 함께 토론할 수 있었고 이 과정에서 많은 것을 배울 수 있었다.
💣 (스스로에게) 아쉬운 점
이번 주는 객체지향에 대해 연습하기 위해 미션을 객체지향 방식으로 진행하려 했다.
하지만, 실력이 부족한 탓에 특정 클래스에 메소드가 많아지고 한 클래스의 코드가 300줄이 넘는 경우가 많았다.
이에 대해 피어 세션에서 동료들에게 피드백을 받고 주말을 이용해 스스로 문제점을 확인하고 리팩토링하는 시간을 가졌다.
리팩토링을 하며 겹치는 부분이 많다는 사실을 깨달았고 이를 분리하는 과정에서 내 설계에 아쉬움이 남았다.
또한, 설계를 나름 체계적이고 꼼꼼하게 하고 미션을 수행한다 생각했지만, 미션 중간에 설계가 바뀌는 경우에 대한 대처가 미흡했던 것 같다.
처음 설계한 틀에서 벗어나지 않으려 했고 그 결과 계획에서 벗어나게 되면 힘으로 밀어붙이게 되었다.
그 결과는 고스란히 길어진 메소드와 연관성 없는 객체로 나타나게 되었다.
리팩토링을 하며 내 코드를 다시 보며 당시에는 볼 수 없었던 허점들을 많이 발견할 수 있었다.
처음부터 완벽한 설계는 없음을 인지하고 미션 수행 중간에도 설계를 계속 돌아보는 연습을 해야 할 것 같다는 생각이 들었다.
💡 앞으로
전문가들은 자신이 자주 접하지 않았던 문제, 어려운 문제, 혹은 잘 정의되지 않은 문제를 접하면 접근법을 바꿉니다. 탑다운과 바텀업을 섞어서 씁니다. 뛰어난 전문가일수록 더욱 그러합니다.
비전문가는 현재 문제가 나에게 얼마나 어려운가에 대한 인식이 부족하며 자기의 문제 풀이 전략을 상황에 맞게 능동적으로 선택하거나 변경하지 못합니다. 오히려 탑다운이나 바텀업 중 한 가지에만 억지로 집착하려 합니다. 예컨대, "이번 문제는 복잡하니까 더 철저하게 계획하고 설계해야겠다" 하는 거지요.
(김창준, "함께 자라기 애자일로 가는 길", 인사이트, 2018, 154쪽 ~ 155쪽)
이번 주의 내 태도는 "비전문가"에 가까웠던 것 같다.
문제를 처음 접하고 어려울수록 더 철저하게 계획하고 설계하려 했으며, 설계에서 벗어나는 경우에 대한 대처가 미흡했기 때문이다.
따라서, 다음 주에는 "완벽한 설계는 없음"을 인지하고 스스로 "전문가"가 될 수 있도록 유연하게 대처해야 겠다는 생각이든다.
미션을 수행하며 변경점이 생긴다면 "처음에는 ~한 이유로 ~라 생각했는데, 미션을 수행하며 ~한 이유로 ~하게 바뀌어야 할 것으로 판단했다"와 같은 형식으로 내 생각을 함께 기록하는 연습을 하려 한다.
물론 계속 그래왔듯 피어 세션 동료들에게 도움을 주고 받기 위해 노력할 것이고, 스스로의 의견을 펼치기 위한 근거도 함께 마련할 것이다.
'개발 > 회고' 카테고리의 다른 글
[네이버 부스트캠프] 네이버 부스트캠프 웹・모바일 8기 챌린지 4주차 회고 + 수료 (2) | 2023.08.05 |
---|---|
[네이버 부스트캠프] 네이버 부스트캠프 웹・모바일 8기 챌린지 3주차 회고 (0) | 2023.07.29 |
[네이버 부스트캠프] 네이버 부스트캠프 웹・모바일 8기 챌린지 1주차 회고 (0) | 2023.07.15 |
[회고] 위키 페이지 만들기 1차 회고 (0) | 2023.05.29 |
[회고] 온앤오프(2.0) 개인회고 (0) | 2023.04.04 |