개발을 하면서 많은 결정을 필요로하는 많은 순간들이 있다. 처음 프로젝트 구조를 잡으면서 어떤 프레임워크, 어떤 라이브러리를 사용하는것, 어떤 설계를 바탕으로 일할 것 등...
항상 완벽한 결정을 할 수 없다. 그것은 극히 최근에도 경험한 일이다. 실패하지 않는 결정을 하는 것도 물로 중요할 것이다. 하지만 그보다도 실패에서 바로 전환하는 역량을 가진 팀이 되는 것이 좋다고 생각한다.
첫 회사에 있었을 때 너무 힘들었던 것은 잘못된 선택에 대해서 돌아서지 못하고 그 상태로 계속 나아가는 것이었다. 프로젝트에서 수정할 사항이 있다는 것을 알고있었고, 문제가 생길 것이라고 예상은 했지만 타임라인에 대한 압박과 회사 사정 등 여러 이유로 결국 프로젝트는 앞으로만 전진했다. 예상했다시피 부채는 점점 커져서 나를, 그리고 우리 팀을 짓눌렀다.
현재의 직장에서 일을 하면서 좋은 것은 그런 실패가 있을 때 과감히 돌아서기로 합의하고 실행에 옮기는 역량이 있는 팀과 함께한다는 것이다. 팀의 전체적인 방향도 그렇고 프론트엔드에서 시니어 개발자로서 팀과 협업하는 과정에서도 그렇다.
꼼꼼히 설계하고 유지보수, 가독성, 협업, 모든 면에서 고민하고 선택한다. 그리고 선택 한 후 실행하고 회고한다. 회고를 바탕으로 수정, 보완점을 계속 찾고 개선해나간다. 이게 바로 애자일이지!
애자일 애자일 말만 들었는데, 실제 실천을 하는 환경에 있으니 업무 만족도와 업무 속도가 높다는 것을 새삼 깨닫게 된다.
개발 팀장을 하고싶다고 생각한적은 없다. 계속 개발을 하는 개발자이고 싶다. 그런데 이렇게 팀이 일하는 방법에 대해서 고민하는 것은 좀 즐거운 것 같다.