부트캠프를 통해 코딩 공부를 시작한지도 어느덧 3개월 차에 접어들었다. 그전에도 독학으로 공부를 하긴 했지만, 실제로 코드를 짜보기 시작한 것은 항해를 통해서니 항해의 시작이 나의 개발 여정의 시작이라고 봐도 무방할 것 같다.
지금 시점에서 내가 절실하게 느끼는 점이 있다.
무엇 하나 허투루 공부하지 말 것.
3개월을 무언가를 터득하기에 굉장히 짧은 시간이다. 그렇기 때문에 부트캠프에서 다루는 내용을 전부 완벽하게 이해하지 못할 거란 건 예측했다. 하지만 주 단위로 반복되는 스프린트, 계속해서 이어지는 팀 단위 협업으로 인해 내가 하는 일에 대해 제대로 공부를 하기 보다는 프로젝트를 쳐내는데 급급했던 것 같다. 강의나 구글링으로 찾아낸 내용을 필사적으로 적용해 보고, 안 되면 그때 그때 나타나는 에러로 다시 검색해서 엉성하게라도 기능이 작동할 수 있도록 했다. 물론 그것만이라도 할 수 있었던 것에 감사하다. 하지만 실전 프로젝트로 넘어와서 여태까지 했던 것을 넘어 새로운 것을 홀로 적용해보려고 하니 그동안 엉성하게 넘어갔던 부분들이 사실 얼마나 중요했는지를 느낄 수 있었다.
지금 나는 CICD 파이프라인을 구축하는 부분을 맡고 있다. 하지만 CICD라고 해도 에러가 나는 부분이 기존 앱에 기반되어 있기 때문에 앱 기능 자체에 대한 이해가 낮으면 에러를 해결하기 어렵다는 생각이 든다. 간단한 CRUD 기능은 실전 주차 전까지 계속해서 연습하고 공부했기 때문에 큰 문제가 없지만 실전 주차로 들어오면서 팀원 각자가 맡은 기능에 대해서는 거의 이해를 못하고 있는 상황이라, 관련 에러가 뜨면 에러보다도 해당 기능에 대한 내용을 찾아보는데 시간을 많이 소비하게 됐다. 좋은 공부를 할 수 있는 계기이긴 하지만 제한된 시간 내에 프로젝트를 마쳐야 하는 지금 상황에서는 상당히 곤란하다.
일단 내가 취하고 있는 문제 해결 방식은 다음과 같다.
- 도커로 앱을 띄우기 전까지는 에러 없이 잘 돌아갔으니, 현재 상황에서 에러가 난다면 도커와의 연결 지점에서 나는 에러일 것이라 추측. 이 전제 하에 각 기능에서 뜨는 에러를 도커와 연결해서 검색해보고 있다.
- 그 뒤로도 해결이 되지 않는다면 그 기능 쪽을 다시 살펴보고, 내가 이해하지 못하는 기능이라면 1) 담당 팀원에게 물어보고 2) 보충할만한 내용을 검색으로 찾아 공부하고 있다.
하지만 도커 자체에 대한 개념이 아직 제대로 잡고 있지 않아서인지 위 접근 방식으로도 에러 해결이 쉽지 않다. 그래서 처음에 말했던 것과 같이 뭐든 허투루 공부해서는 안 되겠구나 하는 생각이 들었다. 에러를 해결하고 싶어서 도커에 대한 개념이 잘 잡히지 않았는데도 필요한 것만 취하고, 모르는 기능 부분은 팀원들에게 물어보고 하니 그 어느 것 하나 제대로 알지 못해서 해결방안을 찾는 것, 나아가 무엇을 검색해야 할 지조차 잘 감이 안 잡히는 경지에 이르렀다.
그래서 오늘은 시간이 조금 걸리더라도 도커를 조금 더 파보려고 한다. 하지만 시간 제한이 있으니 저녁시간까지 도커를 더 공부해보고 그래도 어려울 것 같으면 정말 최소한의 CICD 파이프라인부터 구축해서 하나씩 더해가는 것으로 방향을 수정할 계획이다.
현재 아키텍쳐는 도커, 빈스톡, 깃허브 액션을 포함하고 있지만, 저녁 이후에도 문제가 해결되지 않을 시 깃허브 액션을 우선 적용해보고 > 빈스톡 > 도커 순으로 하나씩 더해가면서 적용해볼 생각이다. 이렇게 계획은 세웠지만 맘 같아서는 세 가지 다 적용해볼 수 있었으면 좋겠다. 부디 잘 되어서 또 기분 좋은 회고록을 올릴 수 있길 !