개발자 친구랑 싸웠습니다. PHP 개발 할때 상용서버에 직접 붙어서 작업하나요?
저와 같은 시기에 개발자의 길로 발을 담군 대학친구가 있습니다.
저와 동일한 대리과장급 경력인 그 친구와 술자리를 갖다가 "같이 위시캣에서 알바나 해볼까?" 라는 합에 맞춰 서로의 기술스펙을 처음 오픈했습니다.
친구는 입사 후 과장때까지 PHP만 주구장창 했기에 "PHP만큼은 잘할수있다" 라고 이야기했습니다.
마침 위시캣에 보니 생각보다 PHP프로젝트가 많이 있는걸 보고, 친구와 함께 해야겠다고 생각했어요.
그리고 클라이언트 분과 함께 미팅을 하는데.. 아니 글쎄 IDE툴(에디트플러스)을 이용해 상용서버에 올라간 소스에 직접 붙어 개발을 하겠다고 합니다.
깜짝놀랬어요. 무슨소리하냐고.... 어떻게 상용에 직접 붙어서 개발할 생각을 하냐고.... 놀란듯이 이야기했더니 친구가 하는말이 너야말로 무슨소리 하냐고... 자기는 여태 항상 그렇게 개발해왔고, 원래 PHP개발은 이렇게 한다고합니다.
이 부분에 대해 친구와 조금 언쟁이 있었습니다.
정확한 대화의 흐름은 다 기억나지 않지만 구체적으로 이런 이야기들이 오갔습니다.
나: 어떻게 상용에 붙어서 직접 개발할 생각을 함?
친구: PHP는 원래 이렇게 개발함 너가 잘몰라서그런거임 내가 이경력동안 PHP만했는데 그걸 모르겠음?
나 : 왜 로컬에서 개발안하고 상용에 붙어서 개발하는거임? 서비스중인 소스잖음. 문제생기면 어떻게함?
친구 : 상용파일이 http://도메인.com/index.php 인경우에, http://도메인.com/dev/index.php 로 dev폴더 하나 만들어서 거기에 서비스중인 소스 통째로 넣고 개발하면됨. PHP는 로컬에서 개발하고 상용으로 배포하면 10에 9는 문제생김.
나: 그 로컬과 상용간에 문제가 안생기게하려고 여러가지 기술들이 있는거잖음. property 라던지 env라던지 gitignore같은것들이 사실 그런 문제를 최소화하려고 사용하는거아님?
친구: 큰 프로젝트면 몰라도 소규모 외주프로젝트에 굳이 그런걸 쓸 이유가뭐가있음? 되려 비효율적임. 그냥 상용에 붙어서 작업하면 순싯간에 끝나는걸 왜 사서고생을함?
나 : 그럼 평생 작은프로젝트만 할거임? 개발습관이란게 중요하잖음;; 작은 프로젝트라도 이런식으로 나름대로의 절차대로 개발하고 배포하고 하는 습관을 들여야지...
친구: 니말이 뭔지는 알겠는데, 지금 이 프로젝트에는 그런게 필요가없다는거임. 여태 n년간 3개의 회사에 걸쳐서 일하면서 수십개의 프로젝트를 상용에 붙어서 작업했는데 문제된적 한번도 없었음.
나: 그래 뭐 작업효율 좋다, 니말이 맞다치자. 버전관리는 어떻게함? 문제생겼을때 롤백은?
친구 : 파일통으로 (폴더_날짜)로 백업해두면되지.
나: 헐..;; 그럼 협업은 어떻게함? 다른사람이랑 공동작업할때 소스병합같은건 어떻게함?
친구: 개발인원들이 모두 상용에 직접 붙어서 작업하는데 서로 같은파일만 안건들면 소스병합이 필요가 없음
나: 그럼 무슨 파일 수정할때마다 이 파일 수정해도되냐고 일일이 공유하고 개발함?
친구 : ㅇㅇ
나: 왜그런짓을함? git이 알아서 병합해주고 다해주는데.
친구: git으로 병합하다 충돌나고 그런거보다 그냥 사람이랑 대화하는게 더 효율적임.
나 : 마지막으로 궁금한게있는데, 원래 PHP개발은 다들 그렇게함? 너만그런게아니고?
친구 : ㅇㅇ PHP로 SI 할때는 이렇게 개발하는사람들 많음.
말문이 막혔습니다.
적어도 제가 해왔던 개발문화에서는 단순히 로직 하나 추가/수정하는것조차 작업 - 커밋 - pr(코드리뷰) - 빌드 -배포- 테스트까지 절차에 맞게 해야된다고 생각했고, 아무리 문자열 하나 추가하는것조차 상용에 vi로 붙어서 추가하는것은 절대로 해서는 안되는 일이라고 받아들여왔습니다.
상용에 직접 붙어서 소스를 수정한다니요... 팀장한테 뺨맞고 협업불능으로 짤릴행동이라 생각했습니다.
물론 경우에 따라서 작은 프로젝트나, 개발기간 => 돈 인 SI에서는 그럴수도 있다고 생각합니다.
근데 제가 궁금한건, PHP개발하시는분들이 저렇게 상용에 붙어서 작업하는게 "일반적"인가요?
다른 PHP개발자분들의 의견이 궁금합니다.
---- 추가내용
싸웠다는 표현이 조금 언쟁이 있었던걸 그렇게 표현해서 일부 분들의 오해를 빚었으나..
저 대화는 친한 친구간에 서로 웃으면서 디스하듯이 장난스럽게 오갔던 대화에서 농담반 진담반으로 언쟁했던 내용입니다.
현재는 PHP가 메인인 그 친구의 의견에 따라 같이 상용에 붙어서 그 프로젝트를 잘 끝냈구요.
지금 그친구와 관계는 뭐 아무문제 없습니다. 단체로 속한 모임에 가서 서로에게
"이 XX랑 일못하겠더라 ㅋㅋ"
" 다음프로젝트는 React다 너도한번 X되봐라ㅋㅋ"
라며 서로 농담반 진담반식의 디스를 하면서 웃고 떠드는 사이입니다..ㅎㅎ;
제가 궁금한건 다른 PHP개발하시는분의 의견은 어떤지 궁금해서 의견을 여쭈었습니다.