[Think] 이상적인 개발환경에 관하여


이상적인 개발환경에 관하여 생각하는 바를 작성한 글입니다.

본인이 생각하는 이상적인 개발환경은?

가장 중요하고 우선시 되어야 하는 것은, 장애가 발생되지 않도록 개발하는 것입니다.
장애가 발생되더라도 원인을 빨리 알 수 있도록 하는 것이 가장 중요하다고 생각합니다. 빠른 장애 대응을 할 수 있도록, 장애 발생시 다른 개발자들이 알 수 있도록 해당 사항이 전파되어야하고 (Slack 알림 등) 전파되어 빠르게 수정 되어야 할 것입니다.

또한, 수정되어 해당 사항을 테스트할 수 있는 완벽히 분리되어 테스트 할 수 있는 각 환경별 독립된 로컬환경, 개발환경, Stage환경, 운영환경 이 구성되어 빠르게 수정사항을 수정하고 테스트 하여 배포될 수 있으면 좋을 것 같습니다.

빠르게 수정이 되려면, 원인 파악할 수 있는 팀원들의 역량이 있어야 한다고 생각합니다. 지속적인 팀원들간의 코드리뷰 및 프로젝트 진행 후 회고, 장애 발생 후 대응 회고 등을 통하여 팀원들의 역량을 올릴 수 있는 개발 문화가 있으면 좋을 것 같습니다.

또한, 중요하다고 여기지는 점은 히스토리입니다. 상대적으로 이직이 활발한 직군이기에 히스토리 관리를 소홀히 한다면 나중에는 엄청난 비용을 내야할 것이라고 생각합니다. 히스토리를 관리하기 위한 가장 좋은 방법은 기술부채가 어느정도 생겼을 경우, 리팩토링이나 새로 프로젝트를 진행하는 방법 또한 고려 해 볼 수 있다고 생각합니다.

마지막으로 이 모든 것이 활발하고 원활하게 이루어 지려면 자유롭고 원활한 소통이 이루어질 수 있는 사내문화가 있어야 하고 구성원들끼리 노력해야 한다고 합니다.