로딩
요청 처리 중입니다...

기능을 만드는 사람에서, 시스템을 설계하는 사람으로

 기능을 만드는 사람에서, 시스템을 설계하는 사람으로

요즘 코드를 짜다 보면 예전과 다른 질문이 먼저 떠오릅니다. “이 기능 돌아가나?”

예전에는 여기서 끝났습니다. 버튼이 눌리고 데이터가 저장되고 화면에 결과가 나오면 그걸로 충분했습니다.

기능이 동작하면 잘 만든 코드라고 생각했습니다. 그런데 서비스가 조금씩 커지기 시작하면 코드는 생각보다 빠르게 엮입니다.

A를 고치면 B가 깨지고, DTO 하나 바꾸면 API 몇 개가 같이 흔들립니다. 한 번은 단순히 필드 하나 추가한 적이 있었습니다.

“이 정도는 금방 끝나겠지.” 그렇게 생각했는데 생각보다 많은 곳이 같이 흔들렸습니다.

API도 수정해야 했고 프론트도 같이 고쳐야 했고 테스트 코드도 줄줄이 실패했습니다. 그때 처음 이런 생각이 들었습니다.

“아… 이거 기능 문제가 아니라 구조 문제구나.” 그 이후로 코드를 보는 기준이 조금 바뀌었습니다.

예전에는 이 기능이 동작하는지만 봤습니다. 요즘은 이 질문이 하나 더 붙습니다.

“이 구조가 정말 괜찮은가?” 그래서 요즘은 도구보다 먼저 ‘왜...