외주 개발자가 만든 프로젝트 유지보수 담당하게 됐는데
받은 소스코드가 도저히 눈 뜨고 볼 수가 없는 수준임
기능 확장이나 변경 당연히 불가능하고 사용자 ui도 이상하고 잔버그도 많고
개발자가 직접 구현해야할 요소들을 죄다 서드파티 라이브러리로 도배해놓은 상태라 쓸데없는 기능이 잔뜩 들어감
심지어 깃헙에서 받은 코드는 아예 구동이 안되는 상황이어서 잘 살펴보니까
설정 파일 한개에 필수정보가 누락이 됐는데 이게 자동생성되는거라 사람이 손 안대면 누락될 일이 없는 정보여서 나 좆되라고 일부러 그런건가 라는 생각도 함
아무튼 요청받은 업무는 간단히 버튼 한개 추가해서 db에 데이터 날려달라는게 끝이긴 했는데
기능 추가하는건 크게 어려운 일은 아님
근데 이대로는 도저히 이후에 들어올 서비스 수정 요청에 응대를 할 수가 없겠다는 판단이 드는거임
새로 이쁘게 만들어보자 하고 설계부터 다시 시작하면서 핵심 로직만 붙여서 완성하겠다고 업무 요청자한테 이야기하니까 알겠다고 해서
나는 오케이 싸인 떨어진줄 알고 한참 작업했는데
며칠전에 갑자기 일정 바쁘다고 전달이 와서 만들던거 폐기하고 기존에 받은 코드에 덧붙여서 그냥 납품함
덤으로 작업속도 느리다고 쿠사리도 여기저기서 먹는 중입니다
좀 속상하기도 하고 마음을 어떻게 가져야 할지 모르겠습니다
다음부터는 요청받은거 먼저 하고 그다음에 재구성을 해보는게 어떨지?
다른 사람들은 그냥 대충 하고 치우길 바랄수도 있음...
일단은 그 프로젝트가 갈아엎어야 할 정도로 중요한건지 다시 생각해보고, 그렇다면 점진적으로 마이그레이션 하는게 좋음. api별로 하나씩 넘겨도 되고
외주 준 프로젝트가 기능확장이랑 변경 고려하거나 UI 괜찮고 잔버그가 없을리가 없지. 일용직 불러다가 정직원처럼 행동하길 바라는게 아닐까 생각해봐. 그냥 단건으로 만들어달라고 하고 계약 했을테고 이후에 유지보수나 이런 내용이 없었으니 유지보수를 고려할 이유가 없고 마감일을 마추는게 더 중요한 상황이었을꺼임. 유지보수 계약이 처음부터 있었다면 그렇게 안 만들었을꺼라 생각함. 그니까 싼것에는 다 이유가 있는 법.
새로 만드는거에 대해서 협의하고 하는건 잘했는데, 그게 누구의 이득일지를 생각해보면 솔직히 회사는 아무런 이득이 없고 별로 중요하지 않은 일에 비싼 정규직 비용 쓰고 있는 셈이었을 수도 있어. 211.114처럼 대충하고 치우길 바랬을 가능성이 굉장히 높음. 결국 본인 편하자고 새로 만드는거였고, 남들은 늦어져서 편하지 않았던 상황임.
굉장히 속상하겠지만, 회사라는 곳이 이익을 내야하는 곳이니까. 가끔은 올바른 길이지만 가지 않아야 할 때가 있는 거라서.
나도 처음 외주할때 그짓하다 마감일 못맞춰서 욕은 욕대로 먹고 괜히 고생만함. 걍 깊이생각 할거 없고 빠르게 완성시키기만 하면 됨. 이게 그사람들이 가장 원하는거임 ㅇㅇ 코드 깨끗하게 하고 이런거는 좆도 관심없어하고
보통은 그거 리팩토링하는 거보다 그냥 적당히 요구사항 받아주다가 이직하는 게 국룰이긴 함