아무리 프론트만 해와서 백엔드 서버가 돌아가는 시스템(까지 갈 것도 없다)이나 DB에 관해서는 문외한이라 하더라도 이 정도까지 기본 소양이 부족할 수 있는 걸까 하는 생각에 자괴감이 들었다.
처음에는 비록 리팩토링이 아주 많이 필요할지라도, 시간이 좀 걸려서라도, 어쨌든 결과적으로는 생각한 대로 코드가 잘 짜여져 나간다고 느꼈다. 하지만 한 가지 간과하고 있었던 건, API가 아직 짜여지는 중이라는 것이었다. 그러니까 한 마디로 백엔드 서버와 통신할 수 있는 매개체가 없는 것이다. 뭔가 그 비슷한 역할을 하는 것이 있다 하더라도 그것은 계속해서 변화를 거듭할 것이었고, 절대적일 수는 없었다(사실 이건 어떤 상황에서든?).
프로젝트를 할 때는 다같이 무에서 시작하니 유를 창조해내기 위해 기획부터 시작했고, 기획이 어느 정도 마무리 지어져야 또 다같이 개발이라는 다음 단계를 밟아나가는 식이었다. 하지만 여기는 회사인걸, 모두 다같이 어떻게 무에서 시작할까. 심지어 내가 신입인데! 이미 돌아가고 있는 프로세스를 파악해서 거기에 맞게 단계를 맞춰서 빨리 따라붙든 해야 하는 건데.
API가 아직 만들어지고 있다, 라는 말을 처음 들었을 때 이미 상황 파악이 끝났어야 하는 거였고, 그걸 잊어버리거나 간과해서는 안됐다. 이미 DB에 저장되어 있는 데이터의 구조를 파악하기 용이하게끔 DB에 접근할 수 있게 해주셨던 건 말 그대로 '파악'에 중점을 둔 거였고, 내가 DB로 뭔가를 할 필요가 있어서는 아니었다. 원래는 프론트단에서도 DB를 직접 다루는 방식이었지만, 지금은 그렇게 하지 않는 쪽으로 서버가 재개발되고 있었다. 그러니 더더욱 DB에는 손댈 필요가 없다. 기존 코드를 분석하면서 그 흐름을 따라가다 보니 나도 모르게 DB를 만지고 있었던 것 같다. 뭐.. 돌이켜 생각해보니 그렇다.
백엔드와의 첫 협업 프로젝트 때 이런 것들을 포함한 중요하거나 사소한 다양한 부분에서 각종 마찰, 잡음이 있었고 서로를 이해하느라 많은 대화가 필요했었다. 그 많은 대화의 시간들을 통해 우물을 벗어났다고 생각했는데, 고개를 들어보니 그저 더 큰 우물 안이다.