본문 바로가기

주절주절(Thoughts)

[회사생활] 업무 마인드(내가 고생하면 팀원이 편하고, 팀원이 고생하면 내가 편하다)

Intro

업무를 하다보면, 지금은 사용하지 않아서 더 개발을 하는 것이 귀찮거나, 고생이라는 생각이 들때가 있다.

 

예를 들어보자.

 

오늘의 업무내용이, 유저가 가지고 있는 포스트를 목록을 전부 제공해주세요. 라는 요구사항을 받았다고 가정하자.

요구사항에 대해서 개발을 하려고 하다보니, DB로 부터 데이터를 가져오는 repository를 만들어야 한다는 것을 알았다.

 

사실 요구사항이, "포스트 목록"이기 때문에, repository에서 데이터를 가져오는 get이라는 메소드만 만들어 낸다면, 요구사항을 충족할 수 있다. 조금더 나아간다면, get_list, get_all 이런 이름의 메소드도 만들겠지만 말이다.

 

바로 여기에서, 귀찮음과 고생이 나온다.

요구사항을 충족하는데에는 부족함 없이, 오히려 필요한 리소스만 가지고 작업을 했고, 완벽하게 충족시켰다. 그러나 충분히 예상할 수 있는 작업들 set, delete 등의 메소드는 만들지 않았다.

'문제(요구사항)을 해결하는데, 부족함이 없으니까!' 라는 마인드로 set, delete 메소드 등을 넘긴 것이다.

 

심각한 문제는 아니지만, 아래와 같은 상황이 초래할 수 있다.

 

다른 사람이 PostRepository를 이용해야하는 상황이 발생했을 때, PostRepository 객체의 set, delete등이 없어서 해당 부분부터 개발해야한다.

하면 되는거 아닌가? 라고 생각할 수 있다. 하지만, 현재하고 있는 프로젝트가 PostRepository가 만들어진 후로 부터 한달이 지난 후에, 프로젝트에 새로운 기능을 추가해야한다고 보자.

또한, 업무 상 작업을 다른 개발자가 가져가게 되었다면, PostRepository.delete()를 예상하고 사용하려고 했으나, 없어서 당황한다. 그리고, PostRepository에 set, delete를 만들지 않은 별도의 정책상의 이유 등이 있는지, (Repository 예시가 안어울리기는 하지만) 혹은 별도의 복잡한 비즈니스 로직들이 들어가 있는 다른 메소드들을 사전으로 이해를 해야한다던지 등, 작업 시간이 늘어나게 만들 요인들이 많다.

 

만들던 김에, 예상되는 기능들을 만들었다면, 끊기지 않는 작업의 연속성과 집중도를 가지고, 빠르게 작업이 진행되었을 가능성이 높다. 만들때에는 귀찮고, 고생하게 되지만, 후일에 다른 사람들이 사용할 때에는 예상한대로, 가져다가 사용만 하면 된다.

 

Conclusion

회사의 업무라는게 항상 그런것 같다. 내가 힘들고 귀찮고 고생하는 일을 하면, 다른 사람은 편하게 일을 할 수 있게 되고, 다른 사람이 힘들고 귀찮고 고생하는 일을 하면, 내가 편해질 수 있다.

 

그리고 업무는 할때, 진도를 나가는 것이 시간이든, 업무 이해도든 가장 효율적인 것 같다. 스타트업 일수록 필연적으로 다른 프로젝트와 동시에 한다던지, 다른 프로젝트를 하다가 돌아온다던지 등의 업무가 연속되지 않고, 끊어지는 경우가 있는데, 한달만 지나도 기억이 안나는 경우가 태반이다. 이때, 이미 있어서 쓰면 되는 경우와, 다시 이해하면서 만들어야 하는 경우는 업무 효율성의 차이가 정말 크다. 

 

따라서, 팀원들이 이러한 생각을 가지고, 업무하는 문화가 되도록 노력해야한다.

다만, 한명이라도 남에게 미루기 시작하면, 균열이 생길 수 있는 많은 노력이 필요한 문화인 것 같다.