조언과 생각집/개발자의 배움

개발자의 시간 관리: 우선순위 설정과 똑똑한 트러블슈팅

TLdkt 2022. 10. 26. 01:40
728x90
반응형

들어가며

개발을 배우면서, 프로젝트를 해보면서 그동안 계속 고민했던 문제에 대해 정리하고 넘어가려 한다.
바로 '시간관리'다.

학습을 하다 보면 내용 이해가 되지 않은 채로 타이핑만 했다는 기분이 들 때도 있고, 작은 내용 하나를 넘어가질 못해 시간이 무한정 소비된다는 불안함을 느낄 때도 있었다. 지금까지는 진도의 뒤처짐을 적절히 개인 스케줄에 맞춰 조정했다고 해도, 프로젝트 때는 어떻게 해야 할지 걱정이 태산이었다.

이렇게 시간이 많이 드는 것을 관리하려면 원인부터 알아야 하는데, 문제는 두 가지로 나뉜다.

1. 에러를 만났을 때 해결이 되지 않아서
2. 해결을 했지만(a.k.a 돌아는 가지만) 이해가 되지 않을 때 못 넘어가서

첫번째 문제는 어느 정도 기술적 조언이나 훈련으로 해결할 수 있지만, 두 번째 문제는 정말 의식적으로 관리하지 않으면 앞으로 큰 발목을 잡을 수도 있다. 2와 같은 태도는 입사 후 주니어로서 성장하기에는 굉장히 좋은 자세지만, 취업준비생에게는 독이 되는 습관이라는 조언도 듣게 됐다(진도를 나갈 수 없기 때문!).

즉, 부트캠프나 국비지원과 같이 빠른 시간 깊은 내용을 배워야 하는 학습환경의 특성상 어쩔 수 없는 부분이기에 인정하고, 찝찝함을 받아들여야만 한다. 하나하나 기록하는 자세는 정말 유익하지만, 업무에서든 학습에서든 우선순위는 '프로젝트 완료'이기 때문이다.

남은 문제는 이제 하나다. 에러를 어떻게 하면 똑똑하게, 빠르게 해결할 수 있을까?



에러를 만났을 때 대처방법

에러를 만나면 에러메세지를 쫙 복사해서 붙여넣기를 하는 게 국룰이라고 생각했다. 그러나 okky 같은 커뮤니티에서도 본 내용이지만, 에러를 잘 이해하고 있는 것이 에러 해결의 시작이라고 한다.
아래부터는 구체적인 방법이다.

구글링부터 한다? NOPE

✔️테스트케이스를 먼저 돌려보고 에러가 있는지 확인하자

✔️디버그 포인트를 걸어 발생 지점 범위를 좁히자

✔️에러메세지 중 관련된 부분을 구체적으로 검색하자

참고할 자료에도 우선순위가 있다

✔️공식사이트, 오픈소스라이브러리, 깃헙 이슈리포트를 우선으로 확인하자
구글링 시 [site:사이트주소 + 검색할 내용]을 치면 특정 사이트 내의 검색결과를 확인할 수 있다.

✔️버전을 확인하자
라이브러리 버전과 유사한 버전에서 발생한 문제일 수 있기 때문!

✔️최신순으로 확인하자



그래도 해결이 안 된다면....

✔️커뮤니티에 질문을 남겨보자

✔️대안을 찾아 차선책으로 해결하자
차선책으로 해결 후 백로그➡️ 다시 시도

✔️최대 이틀까지 잡고 있다가 정리해서 주변에 공유하자
새로운 시각으로 문제를 해결할 가능성이 생기고, 원래 이런 문제는 미리미리 공유해야 나중에 더 일이 커지지 않는다!



직접 적용해본 트러블슈팅 과정과 느낀 점

Detached HEAD

생전 처음 보는 Detached HEAD에러가 나서 푸쉬도 안 되고, 인텔리제이에는 처음 보는 기호가 붙어 있고, 어떻게 검색해야 할지는 모르겠고,,,의 연속이었던 문제를 앞서 배운 방식대로 적용해보았다.

좌: 일반 검색
우: 공식문서 내 검색

이렇게 공식문서에서 해당 현상의 원인과 대처방법을 설명해주고 있었다니! 좀 허무하기도 했다 ,,,
비교를 해보니, 전에는 블로그에 나열된 n가지 방법을 모두 적용하면서 왜 해결됐는지, 왜 여전히 안 되는지 이해를 못하고 속이 터졌다면, 이제는 자연스럽게 문제 원인까지 어느 정도 짐작하게 되고, 해결 방식에 확실한 근거가 생겨 마음이 조금은 편해진 것 같다.
간단하게만 적었던 과정이지만, 이런 에러를 만날 때 막연히 '내가 Git을 몰라서 이러나봐'라는 두려움과 답답함이 생기는 것과, 공식문서까지 검토하고 안 되는 부분을 타협하는 것은 느낌부터가 달랐다. 프로젝트를 최대한 퀄리티있게 마무리하기 위해 지금부터라도 열심히 습관을 들여야겠다!




나가며

글을 마치며, 내가 나름대로 정립해본 방식도 소개하려 한다. 지금 수강하고 있는 부트캠프에는 질문 템플릿이라는 게 있다. 어느 버전의 프로그램에서 어떤 시도를 해봤는데 안 되는지, 이유가 무엇이라고 생각하는지 정리하도록 되어 있는데, 트러블슈팅을 할 때 간단하게라도 이 템플릿을 활용해 작성하려고 노력한다. 그러다보면, 내가 시도하지 않은(보통은 귀찮아서) 부분이 보이고, 질문할 때 부끄러울까봐 미리미리 기록하고 배울 수 있기 때문이다. 지금이야 화딱지 나는 에러지만, 언젠가는 에러에서 더 많은 것을 배우고 실천할 수 있을 거라 생각한다. 그때까지 최대한 많은 삽질을 겪으며 성장해나갈 우리를 응원한다🚀🚀

728x90
반응형