[원티드 프리온보딩 코스 - Backend] W1D6

Subin Kim (Ashbee)·2022년 5월 1일
0

Daily

목록 보기
4/5

처음 맞추어보는 백엔드 팀플은 분석 팀플과는 또다른 느낌이었다.

순서의 포커싱이 각자 다르게 맞춰진 것도, 그리고 의견이 강한 사람이 이길 수 밖에 없다는 멘토님의 전체 팀별 코멘트도 알 것 같으면서도 애매했다. 이전 회사에서 본인이 배웠던 내용에 비해 의견이 강한 사람을 보면서 '어떻게 저렇게까지 확신을 가질 수 있지?' 하는 생각이 들었던 것과 이어졌기 때문이다.

분명한 건 나는 백엔드 쪽의 지식은 거의 전무하기에, 납득이 되지 않았던 부분을 강하게 의문을 표출하기엔 어려웠고, 간단한 의문에 이어진 다른 분들의 성의가 담긴 답변은 분석할 때 흔히 겪는 방법론의 차이처럼 느껴졌기에 설득력있게 다가왔다. 물론 아...? 하는 순간은 있었지만, 내가 아직까지 이쪽 분야를 잘 몰라서 그런 것으로 생각되었다.

각설하고, 이번 기업 과제는 이전에 해왔던 프로젝트와 달리 9 to 6를 지키려고 했다. 이유는 내일부터 출근해야 하는데, 회사에선 가급적 업무에만 집중을 하고 퇴근 후 프로젝트를 진행해도 팀에 민폐가 되지 않을 것이라는 확인이 필요했기 때문이다. 결론은 1인분은 한 것 같은데, 알맞은 1인분을 행했는지는 의문이다.

이번에 맡은 내용을 한 단어로 정의하면, 테스트 코드 및 케이스 정리인데... 테스트 주도 개발(TDD, Test-Driven Development)를 어떻게 진행해야 하는지 감이 오지 않았다. 따라서 원래 예정된 마감일에 멘토님께 모델 테스트 케이스 및 뷰 테스트 케이스 검증 로직까지 참고할 레포지토리 url 공유를 요청드렸다. 기본적으로 CRUD 테스트를 수행한 예제 링크를 알려주셔서 참고했으나, TDD 목적을 생각하고 다시 우리 팀의 진행 상황과 검증해야할 것들을 생각하니까 다시 막막했었다.

이후에도 이어진 다른 팀과 멘토님의 질의응답을 통해 정리한 내용은 다음과 같다.
1. 기본 동작 수행 가부
2. 보안(사용자 인증 그리고 Method, api별 접근 권한체크)
3. 성능(데이터 증감에 따라 선형적인 시간 증감 검증)
4. 유저친화적 서비스 여부(왜 실패하였는지, 어떤 값을 놓쳤는지 등에 대한 안내)
5. 자원이 없거나 권한없는 자원 접근 = 404, 인증없음 = 403 등(API는 사용자에게 500 에러 가는 일이 없는 걸 지향)

개발되지 않은 내용을 테스트 할 수 없는 경우(이번 과제의 경우, app내 models.py가 우선적으로 쓰여야 한다.)도 발생하지만, TDD는 개발 중에 테스트 통과를 목적으로 개발하게 된다. 즉, 테스트를 통한 refactor가 이루어진다는 것이다.

사람들은 흔히 본인이 겪지 않은 것을 쉽게 생각하고 말하는 경향이 있다. 다행인 것은 이번에 만난 팀은 아직까진 그런 경향을 보이는 사람이 없다는 것이다. 겨우 1주차, 내가 누군가를 이렇다 저렇다 평가할 수는 없지만... 그래도 좋은 사람들을 만난 것 같아서, 다음엔 더욱 좋은 결과를 내는 것에 보다 많은 기여를 할 수 있었으면 좋겠다.

GitHub | 1주차 기업 과제 - MADUP

profile
숨만 쉬어도 주위의 시간이 잘 돌아가서, 관심사를 다 공부할 시간이 생겼으면 하는 개발쪼래비

0개의 댓글