현재 진행하고 있는 프로젝트 PM과 대화를 나누며 폐쇄망 환경에 대해 이야기를 나누었다. 폐쇄망은 정보 보안 측면에서는 강력하지만, 개발자 입장에서는 많은 제약을 느낄 수밖에 없는 환경이다. 오늘은 전문가에게 들은 내용을 토대로 기록을 하고자 한다.
폐쇄망 환경은 일반적인 네트워크 환경과는 달리 많은 제약이 존재하며, 이는 업무 효율에 직접적으로 영향을 미친다.
- 인터넷이 차단된 환경에서는 외부에서 정보를 검색하거나 필요한 라이브러리, 문서를 다운로드할 수 없다.
- 해결 방법: 필요한 자료는 사전에 다운로드하거나 외부에서 USB를 통해 반입해야 하지만, 이마저도 보안 정책에 따라 금지되는 경우가 많다.
- 새로운 도구나 서비스를 설치하려면 방화벽 허용 요청과 같은 복잡한 결재 절차를 거쳐야 한다.
- 예: 특정 IP나 도메인에 대한 방화벽 예외 처리를 요청하려면, 보안 부서의 승인을 받아야 하며, 이는 수일 이상이 소요되기도 한다.
- 결재 절차를 통해 승인을 받아도, 개발 중 필요한 변경 사항이 발생할 때마다 동일한 과정을 반복해야 한다.
- 일부 상용 IDE나 개발 도구는 폐쇄망 환경에서 설치가 불가능하거나, 별도의 라이선스 서버 설정이 필요하다.
- 해결 방법: Eclipse, VS Code 등 무료로 사용 가능한 툴을 활용하거나, 로컬 환경에 맞춘 커스터마이징이 필요하다.
- 높은 보안성: 외부와의 네트워크가 차단되어 있어 정보 유출이나 외부 공격 위험이 낮다.
- 기억력 강화 및 집중력 향상: 외부 코드의 복사/붙여넣기가 불가능하기 때문에 직접 타이핑하며 작업해야 하며, 이는 단점이 될 수도 있으나, 결과적으로 코드에 대한 이해도를 높이고 기억에 오래 남는다.
- 자율적인 문제 해결 능력 개발: 외부 자료에 의존할 수 없으므로, 로컬 리소스를 활용하거나 스스로 문제를 해결하는 능력이 자연스럽게 길러진다.
- 비효율성 증가: 필요한 정보를 빠르게 얻지 못하거나 도구 설치가 제한되어 개발 속도가 느려질 수 있다.
- 복잡한 절차: 방화벽 설정, 소프트웨어 설치 등 기본적인 작업에도 많은 시간이 소요된다.
- 협업 어려움: 외부 협업 도구를 사용할 수 없거나 제한적으로만 사용할 수 있어, 팀원 간 원활한 소통이 어려울 수 있다.
폐쇄망 환경은 방화벽 설정이나 결재 절차와 같은 비개발적인 요소들이 업무를 저해할 수 있지만, 이를 통해 개발자의 자율성과 문제 해결 능력을 키울 기회로 삼을 수도 있다.
폐쇄망 환경에서 근무하면서 가장 크게 느낀 점은 철저한 준비의 중요성이다.
- 필요한 자료와 도구는 미리 확보하고, 로컬 환경에서 모든 가능성을 테스트해야 한다.
- 팀 내 문서화와 지식 공유를 강화하여, 외부 자료에 의존하지 않고도 문제를 해결할 수 있는 체계를 구축해야 한다.
물론 이러한 장점과 단점은 환경과 팀의 구성원에 따라 다르게 체감될 수 있다.
다만, 폐쇄망 환경에서도 효율적인 작업 방법을 고민하고, 팀원들과 적극적으로 협력하며 이 어려움을 헤쳐 나가고자 한다.
결론적으로, 이전에 작성했던 2024-11-05 알고 쓰자내용에 포함되어 있던 기술적으로 이해하면서 사용하자는 능력이 자연스레 길러지는 것 같다.