꼼꼼함에 대하여

Date:     Updated:

Categories:

Tags:

개발자는 너무 바쁘다

회사에 입사하고 정말 끝도 없는 프로젝트들에 참여하면서 시간이 너무 정신없이 지나간것 같다. 처음에는 나름 프로젝트 끝날때마다 스스로 회고도 하고 배운점들을 노션에다가 정리 하곤 했는데, 언젠가부터 소홀히 했던것 같다. 언젠가는 티스토리나 미듐으로 갈아타고 그때부터 글을 열심히 쓰기 시작해야겠다는 생각만 계속 하고 있는데…귀찮아서 인지 계속 미루고 있었는데 그냥 여기다가 일단 작성해놔야겠다.. 한번씩 돌아보면서 프로젝트를 통해 배운점이 있거나 느낀점이 있으면 요런 글로라도 간략하게 정리를 해야겠다는 다짐을 했다. (나중에 블로그에 한번에 올려야지..)

아무튼 회사에 입사하고 다양한 프로젝트를 하면서 개발자의 꼼꼼함에 대해 많은 은 고민과 생각들을 했는데, 까먹기 전에 기록을 해두려고 한다.

나는 원래 그렇게 꼼꼼한 사람은 아니다🙃

꼼꼼한 사람만 개발자를 할 수 있다.

또는, 꼼꼼한 사람만이 좋은 개발자가 될 수 있다.

이런게 사실이었다면 나는 아마 개발자의 꿈을 일찍 접었을 것이다.

그렇지만 꼼꼼함은 분명히 개발자가 갖출 수 있는 엄청난 스킬중에 하나인건 분명하다.

내 주변에 정말 꼼꼼한 개발자가 몇 분 계신다.

QE 출신의 개발자로, 개발자 QA 를 정말 정말 꼼꼼하게 해서 QA 기간에 버그가 거의 안나오는 멋진 동료도 있고, 개밥 먹기를 정말 일상적으로 하면서 매일 앱의 버그를 새롭게 제보하는 분도 계신다.

나한테는 조금 부족한 스킬이라서 그런지, 나도 그만큼 꼼꼼해지고 싶다는 생각이 들기 시작했다.

QA 기간에 버그는 발견되면 안된다.

올해 초에 정말 너무 빡빡하고 다소 부족했던 일정을 지키기 위해 급하게 개발했던 프로젝트가 있었다.

버그가 일부 남아있는걸 뻔히 알면서도, 일정을 지키기 위해 QE 에게 넘긴 적이 한번 있었는데 지금 생각하면 정말 무책임 하고 반성tic 한 일이었다. (지금 생각하면, 일정이 부족하다고 이슈라이징을 빨리 했어야한다..이슈라이징의 중요성을 다루는 글도 조만간 한번 써야겠다)

아무튼..그때뿐만 아니라, 보통 회사에서 프로젝트를 하면, 안드로이드 개발자와 짝지어서 개발을 하게 되는데, QA 기간에 나오는 버그 수가 너무 많이 차이나서 곤혹스러웠던 기억이 있다.

나는 그때부터 정신 바짝 차리고 꼼꼼해지기로 결심했다.

어떻게 꼼꼼해질건데?

하지만 말이 쉽지,,, 원래 꼼꼼하지 못했던 나한테는 꽤 어려운 일이다.

마음만 먹어서 될 일은 절대 아니라는걸 알기 때문에 나는 꼼꼼해지기 위해 실천하기 시작한 프랙티스들이 몇가지 있다.

  1. 문서화
  2. 테스트 코드

1. 문서화

프로젝트 시작하기 전에 습관적으로 하기 시작한 일인데, 프로젝트와 관련된 코드와 영향 범위를 샅샅히 뒤져서 정리하는 것이다.

보통 프로젝트에서 발생한 버그와 사이드 이펙트는 내가 파악하지 못했던 레거시 코드 때문인데, 이걸 미리 파악함으로써 조금 더 꼼꼼하게 개발을 할 수 있게 되었다.

문서를 작성할때 보통 다음과 같은 것들을 각각 정리를 해본다.

  1. AS-IS 코드 파악
    1. 화면을 캡쳐해서 관련된 코드의 동작을 트래킹하면서 정리한다.
  2. TO-BE 코드 파악 (어디가 바뀌는지)
    1. 프로젝트의 요구사항을 충족하기 어떤 코드들이 바뀌는지 파악
  3. 영향범위 파악
    1. 앱에서 뜬금없는 곳이 영향 받을 일이 있을지 파악
    2. 레거시 싱글톤, UserDefaults, 등 데이터와 동작에 변화에따라 생각보다 뜬금없는 곳에서 사이드이펙트가 발생하는 경우가 비일비재하다.

요런걸 염두에 두고 프로젝트 시작하기 전에 문서화를 하니까

QA 기간에 나왔던 버그의 수는 반 토막 이상으로 줄어들었다ㅎㅎ

2. 테스트 코드

테스트 코드에 대해서는 따로 글을 써도 될만큼 내가 고민하고 생각한게 정말 많다..

예전에는 꽤 귀찮기도하고, 항상 요구사항 개발하느라 시간 없다고 말도안되는 핑계를 대면서 소홀하게 생각했던 것 중에 하나이다.

하지만 테스트 코드를 개발과 병행하기 시작하면서, 정말 일석이조가 아니라 일석십조라고 해도 과언이 아닐만큼 얻는게 많은것 같다.

이건 글을 한번 따로 써야겠다..!

마무리

아무튼 짧은 글이지만, 이렇게 고민했던걸 간략하게라도 주기적으로 끄적여 놓으면 정신적으로 좋을것 같다 ㅎㅎ

그때그때 느낀 따끈따끈한 생각들을 잡아놔야 나중에 돌이켜보면서 초심도 챙기고 할 수 있을것 같다.

아무튼.. 버그가 한개도 나오지 않는 그날을 위해 화이팅!

Projects 카테고리 내 다른 글 보러가기