프로젝트에서 개발자가 할 일
- 프로젝트 투입
프로젝트에 참여하는 경우는 크게 두 부류로 나눌 수 있는 것 같습니다. 회사의 소속된 직원으로써 참여하는 개발자와 소싱을 통한 프리랜서 개발자로 참여하는 경우입니다.
정직원의 경우...
제가 프로젝트를 경험하며 느끼기로는, 흔히 말하는 메이저 3사(삼성, SK, LG)를 제외한 나머지 회사들은 규모가 고만고만한 회사들이 대부분입니다. 직원 3~50명 내외에 4~5개의 프로젝트를 수행하는 규모정도입니다. 관리직, 연구소 직원을 제외하면 실제 프로젝트를 수행하는 인력은 50%남짓입니다. 나머지는 외부인력(프리랜서)를 고용하는 형태로 프로젝트를 수행합니다.
이런 현실이다보니 실젝 프로젝트를 수행하게 되면, 직원의 비율은 20%내외인 경우가 많습니다. 회사마다 차이는 있지만 100% 외부인력으로 구성한 프로젝트도 경험했습니다.
본론으로 돌아와서, 정직원의 경우 프로젝트를 선택할 수 있는 권한이 거의 전무합니다. 수주하는 프로젝트에 따라 업무에 따라 소위 잉여 인원(프로젝트에 참여하고 있지 않은 인원)이 투입되는 상황이다보니, 슬픈 현실입니다.
본인의 역량일 살릴 수 있고, 자기계발이 될 수 있는 프로젝트를 스스로 선택해서 참여할 수 있으면, 참 좋을텐데 말입니다. 대부분 의도치 않은.. 회사가 지정한 프로젝트에 끌려(?)가는 것이 보통의 현실입니다.
외주 개발자(프리랜서)는...
고용형태는 차이가 있지만, 투입의 현실은 비슷합니다.
주요 차이점이라고 한다면, 스스로 선택을 한다는 정도 일까요? 그런데, 이 '선택'이 '선택'아닌 '선택'인 경우가 많습니다. 직업으로 꾸준히 경제활동을 해야 하기 때문에 '원하는 프로젝트'가 아닌 '시기가 맞는 프로젝트'가 되는 경우가 대부분입니다. 계약이 만료되는 시점에 들어갈 수 있는 프로젝트가 1순위가 되기 때문입니다.
원래 프리랜서라 하면, 수행사가 부족한 부분을 보완하기 위해 해당 파트의 유경험자와 함께 파트너쉽을 맺고 일을 하는 것인데, 현실은 인력소싱(인력시장?)으로 T/O를 채우는 용도가 대부분인 현실입니다. (물론 유경험자 위주로 뽑으려고 합니다. - 아닐때가 더 많지만...)
프리랜서 개발자는 종료시점에 프로젝트를 알아보게 되고, 시점이 맞는 프로젝트에 인터뷰를 보고 참여하게 됩니다. 슬픈 현실은 대부분의 인터뷰가 '단가'가 맞으면 별 이슈없이 성사된다는게 NG입니다.
적고보니 참 슬프고 어두운 현실입니다. OTL.
이렇게 구성된 인력( 정직원 + 프리랜서 )로 프로젝트는 수행이 됩니다. 인력 구성비율은 2:8 or 3:7정도의 비율이며, 프로젝트의 관리자들은 정직원이, 개발자는 외주 프리랜서를 고용하는 형태가 일반적입니다. ( 신입직원을 왕창 떼려넣고(?) 진행하는 프로젝트는 예외입니다. 프로젝트 이원 9명중 1년미만 직원 5명을 넣은 프로젝트도 경험을... )
끝으로, 프로젝트 투입시 개발자의 Role에 대한 알아보도록 하겠습니다. 프로젝트에는 PM, PL, (AL), 기획자(컨설팅), 설계자, 개발자의 직군이 존재합니다. 규모에 따라 생략/추가 되기도 합니다.
PM, PL, AL, 기획자는 어떻게 보면 개발자developer는 아니라고 볼 수 있습니다. 넓은 의미의 개발자로 볼 수는 있지만, 실무에서는 한발짝 떨어져 있는 사람들이기 때문입니다.
그럼, 남은 Role은 설계자와 개발자입니다.
설계자는 기획된 업무요건을 검토하여 개발이 가능하도록 설계를 하는 역활입니다. 개발 가능여부를 판단하고, 일정을 산정하며 개발이 필요한 부분과 영향도 등을 검토합니다. 그리고 일을 개발자에게 지시합니다.
개발자는 설계된 기능을 코딩을 하여 개발을 진행하며, 상세한 요건 및 기술은 설계자와 상호 의사소통을 하며 결과물을 만들어 냅니다. 업무적인 프로세스 보다는 이를 구현하기 위한 알고리즘과 로직에 더 중점을 두고 일을 합니다.
보통 설계자 1명에 개발자 3~4명정도를 한팀으로 묶어 업무를 진행합니다. 아무래도 설계자가 더 챙길것도 많고 신경쓸것도 많으며, 여러 업무적인 경험이 동반되어야 하므로 더 대우(pay)를 받는 편입니다. 대부분 수행사에서 직원을 이 역활role에 배치하지만, 가끔씩 외주 프리랜서를 고용하기도 합니다.
위와 같은 유형의 프로젝트 환경에서는 직원은 관리(7), 개발(3)정도의 준설계자 역활을 하게 되며, 프리랜서는 개발을 전담하게 됩니다. 그런데, 현실에서는 무책임하게도 개발자에게 설계자의 역활까지 전과하는 프로젝트가 많이 있습니다.
이 부분에 할말은 넘쳐나지만, 생략하도록 하겠습니다.
이후 단계별 R&R에 대한 부분은 이 불합리한(?) 현실을 기준으로 작성될 예정이므로, 교과서적인 R&R과는 많인 차이가 있을 수 있습니다. 이는 제 경험대비 작성할 내용이므로 전체 프로젝트를 대변하지는 않습니다.
다음 단계는 설계/분석 단계에 대해 이야기 해 보겠습니다.
The End.
'프로젝트 > 프로젝트 관련' 카테고리의 다른 글
프로젝트에서 개발자가 할 일 : 개발 단계 (0) | 2021.03.24 |
---|---|
프로젝트에서 개발자가 할 일 : 분석/설계 (0) | 2021.03.23 |
프로젝트에서 개발자가 할 일 : 시작하며... (0) | 2021.03.23 |
[I에게] 동기와 비동기 거래 그리고 xFrame의 ASync함수 (0) | 2021.01.29 |
3. TortoiseSVN 사용하기 (0) | 2021.01.06 |