● 로직 문제
백엔드 개발자가 로직을 잘못 짰을 수도 있습니다. 개발 방법론에는 테스트 주도 개발(TDD, Test-Driven Development)이라는 개념이 있는데, 이는 테스트를 먼저 작성하는 개발 방식을 말합니다. 쉽게 말해 일단 테스트 코드를 만든 후 이를 통과하는 최소한의 코드부터 시작해 점진적으로 코드를 완성해 나가는 것입니다. 하지만 이러한 방식으로 개발해도 버그가 발생할 수 있습니다. 모든 경우의 수를 고려할 수 없기 때문에 완벽한 버그 예방을 보장하지는 못합니다.
● 데이터 문제
NoSQL을 사용하는 경우 스키마가 정해져 있지 않아 다양한 데이터 유형이 존재할 수 있습니다. 그래서 프론트엔드 단에서 서버로부터 예상치 못한 데이터 유형을 받았을 때 오류가 발생하기도 합니다. 또한 데이터베이스를 관리하는 과정에서 개발자의 실수로 데이터가 유실되는 경우도 있습니다.