본문 바로가기

IT&Dev

개발환경 설정에 대한 고민

개발자로 오래 일한 건 아니지만, 경력사원으로 이직도 경험해보고 사업 투입과 여러 개발환경 속에서 다양한 경험을 하게 되니 초기 개발환경 설정에 대한 고민을 많이 하게 되었다. 그중 몇 가지 특별한 경우를 소개해보자 한다.

 

 

1. 공공기관 상주 프로젝트 수행

 - 첫 직장은 공공기관 위주의 사업을 수행하는 웹개발 회사였다. 공공기관은 특성상 형식적인 보안을 중요하게 생각하기 때문에(예: 상급기관의 보안점검 등) 보안에 대한 지나친 염려를 가지고 있지만 또한 보안에 대한 완벽한 대응체계가 뜻대로 이루어지지 않은 곳이라고 생각된다. 그래서 개발 투입 시 개발 PC의 반입과 반출 절차를 요구하기도 하며 폐쇄망에서의 개발을 위해 미리 개발환경을 준비해서 들어가는 경우가 존재한다. 회사에서는 자체 개발 플랫폼을 보유하고 있어 플랫폼 기반으로 요구사항에 맞는 커스터마이징을 하는 게 주된 사업 진행 흐름이지만 때로는 소스 간에 버전 호환성 문제로 인해 다시 개발환경을 준비해야 하는 경우도 발생한다.

 

2. 이직

 - 새롭게 이직한 회사는 사내 프로젝트에 투입되는 것이라 개발환경 구성에 어려움이 없을 줄 알았는데 사내망을 분리해서 사용하는 곳이어서 폐쇄망과 크게 다를게 없었다. 더욱이 무에서 유를 창조하는 신규 모델 발굴 프로젝트였기 때문에 개발환경이 변경되거나 추가될 것이 많았다. 그럴 때마다 네트워크 연결이 절실했다.

 

3. COVID-19로 인한 재택근무

 - COVID-19로 인해 본인은 두 번의 재택근무를 하게 되었다. 첫 번째는 국내에 확산을 차단하기 위해 회사의 판단으로 한달정도 시행이 되었고, 최근 수도권의 감염확산으로 인해 두 번째 재택근무를 하게 되었다. 첫 번째 재택근무 때에는 집에서 환경 구성을 어떻게 해야 하나 고민이 많았지만 두 번 째에는 첫 번째의 경험을 바탕으로 조금 더 수월하게 구성할 수 있는 나만의 방법을 터득하게 되었다.

 

위에 3번의 경우에는 특수한 경우에 해당하지만 모든 개발자들이 필요로 하는 부분 중 하나인, 어디에서나 환경에 구애받지 않고 개발을 할 수 있는 인프라 구축과 비슷한 케이스가 아닌가 싶다. 집에서나 회사에서나 심지어 휴가지에서도 개발 환경을 기기나 네트워크에 상관없이 동일하게 사용하는 것이다. 최근에는 클라우드 환경의 개발 툴이나 Github과 같은 형상관리 등으로 조금만 노력하면 구성이 가능하지만 아직 레거시 환경을 100% 만족시킬 수는 없다. 특히 위에 1, 2번의 사례처럼 네트워크가 단절된 곳에서는 불가능하다. 나 역시 회사에서 진행 중인 프로젝트를 보안에 위배되지 않는 선에서 소스를 집으로 옮겨와 급하게 구성하는 경우도 존재하게 된다.

 

 

모든 개발자들이 각자의 고민과 방법으로 수행하고 있지만 본인이 해봤던, 그리고 지금 하고 있는 방법들을 소개하고자 한다.

 

1. 개발 툴 - AWS Cloud9 사용

AWS Cloud9 - 클라우드 기반 개발 툴

개인적인 프로젝트나 테스트를 수행할 때 사용해봤던 방법이다. AWS와 같은 클라우드 서버에 소스와 설정을 올려놓고 브라우저로 접속하여 사용 가능한 개발 도구이다. 이클립스에서 제공하는 "Che" 등이 있는데 cloud9을 사용하게 된 이유는 본인이 현재 aws 서버를 보유하고 있었기 때문에 접근이 좀 더 용이할 것이라는 생각에 사용하게 되었다. 결론부터 말하자면 지금은 현재 사용하고 있지 않다. 아무래도 브라우저 기반이기 때문에 단축키나 사용법에 있어서 제약이 많았기 때문이다. 물론 접근이 굉장히 용이해 태블릿이나 인터넷이 되는 모든 PC에서 사용이 가능했기 때문에 개선과 보완이 충분히 이루어진다면 다시 사용해볼 용이가 있는 개발 도구이다. 

 

출처 - AWS 홈페이지

2. 외장하드에 설정

 - 이 방법은 현재 재택근무용으로 사용하고 있는 방법 중에 하나이다. 본인은 JAVA개발자로 이클립스 개발도구를 사용하고 있는데 이클립스, maven, tomcat서버를 외장하드에 저장하고 외장하드를 연결할 PC에 따라 jdk경로와 같은 몇 가지 설정만 바꿔주면 간단하게 사용이 가능하다. 현재 형상관리를 사내 폐쇄망 서버에서 하고 있고, 현재는 협업 없이 혼자서 프로젝트를 진행하고 있기 때문에 재택근무가 끝나면 소스만 다시 업로드하면 되기 때문에 번거로운 작업이 존재하지만 그래도 오래 걸리는 작업이 아니기 때문에 한 동안 이 방법을 사용할 것 같다. 문제는 가끔 재택근무 중에 출근하여 작업을 하게 되면 다시 백업해서 가져와야 하는 불편함이 존재하지만, 현재로써 이 방법이 최선인 듯싶다.

 

 

etc.

 - 본인은 사실 집에서 일하는 것을 좋아하지 않는다. 집은 철저히 쉬는 공간으로 생각하기 때문에 공부나 개인 프로젝트도 가능하면 회사에서 하는 편이다. 그리고 카페나 여러 창의적인 아이디어가 떠오를 만한 장소에서 개발하시는 분들도 존재하지만, 본인은 아직까지 혼자만의 사무공간에서 작업하는 걸 선호한다. 사람의 성향 차이기 때문에 무엇이 정답이라고 할 순 없지만 각자의 방법으로 각자만의 스타일로 환경을 구성하여 자신만의 정답을 찾기를 바란다.