원티드 프리온보딩 2주간의 강의를 듣고 작성하는 느낀 점.
진행 기간: 2023.1.9 ~ 2023.1.20
느낀 점을 적기 때문에 글의 길이가 길고 두서가 없을 지도 모른다...
지난 20일을 끝으로 강의가 종료되었다. 이번 프리온보딩을 겪으며, 매우 짧은 시간이었으나 많은 것을 느끼게 되었다. 작은 껍질을 깨고 나온 것 같다면 그럴지도 모르겠다.
나는 개발을 독학으로 했다. 학원에서 교육받으며 수료하긴 했으나 그 뒤로는 인강 위주로 공부했다. 아직도 해야 할 것은 많지만, 공부하면서도 부족한 것이 많다고 느꼈다. 독학을 하면서 느낀 불안감은 내가 하고 있는 것이 맞는지에 대한 의문이었다.
간단한 사례를 말하자면, js의 책을 읽기 시작했다. 첫장부터 계속 읽어 나갔고, 후에 알게된 것은 모든 내용을 읽을 필요가 없다는 것이었다. 핵심적인 내용만 알고 나중에 다시 해도 상관없고 모든 걸 다 알기엔 실제 사용하지 않는 것도 있다는 것. 그래서 다시 핵심적인 부분만 공부하기 시작했다.
이러한 것처럼 괜한 부분(정작 지금은 도움이 되지 않는) 을 파고 있을까봐 불안해졌다. 내가 하고 있는 게 틀리다면 어쩌지에 대한 의문. 그래서 공개적으로 공부를 하는 걸까라는 생각을 지금 하게 된다.
이번 강의는 내 이런 부분에 도움이 되었다. 모든 것을 완벽히 해소해준 것은 아니지만, 한걸음 나아갈 수 있게 해준 것 같다.
가장 크게 느껴진 것은 폴더의 구조였다. 이런 건 누가 알려주지 않으니까, 내 멋대로 쌓아만 두었고, 코드를 리팩토링하는 것도 코드의 길이만 줄이면 되는 거 아닌가? 안일한 생각을 했다.
코드의 리팩토링은 코드를 줄이는 것에도 의의가 있겠지만 지금 느낀 것은, 유지보수를 효율적으로 하기 위함이 아닐까? 코드가 길면 가독성의 문제도 있고, 또 이걸 줄인다고 해서 보수하기 쉬운 것도 아니다. 그리고 이건 폴더의 구조와도 연관이 있다고 느꼈다.
하나하나 폴더를 관심사에 따라 쪼개고, 코드를 리팩토링하면 나중에 해당 폴더의 내용만 보면 보수하기가 쉬워진다. 나는 여기서 많은 도움을 얻은 것 같다.
다른 개발자가 만든 오픈 소스를 가져다 쓰기만 했다. 내용을 까는 것은 생각하지도 못했고, 내가 이해할 수 없을거라 지레 겁먹었다. 그런 점을 염두해주신 건지, 강사님께서 리덕스의 오픈 소스를 최소 구현체로 구현해보라고 하셨고, 나는 난생 처음으로 오픈 소스를 까보았다.
createStore를 만들면 되는 것이었다. 주석 처리와 에러 처리를 제외하고 보니 정말 간단한 코드만 남아있었다. 함수 하나가 하는 일이 뭔지 생각해보며 코드를 지웠다가 적었다가 개별적으로 무얼 하는지 고민을 했던 것 같다.
결론적으로 구현에 성공했고, 이거에 대한 게시글도 써볼 생각이다.
그럼에도 불구하고 여전히 모르는 것 투성이다. 아직도 깃헙을 제대로 이용할 줄 모르고 (이슈나 PR) CS 지식이나 개발 지식도 부족하지만, 어떻게 공부해야 할 지에 대해서는 감을 잡은 것 같다.
무엇을 공부해야 하는 지도 중요하지만 어떻게가 제일 중요하지 않을까? 나는 계속 부족하겠지만 CS 지식은 책으로, 기술 구현은 인강으로, 코드 스타일은 다른 사람의 코드를 보며 비교하면 좋을 것 같다는 생각이 든다.
다음에 또 원티드에서 프리온보딩을 연다면, 주제를 확인하고 다시 신청할 것 같다. 그만큼 도움이 많이 된 2주였고, 내 나머지 프로젝트도 리팩토링을 하며 보수해 나갈 생각이다.