SI 개발자인데 제안서를 써야 하나요?
# SI 개발자라면 제안서를 쓸 줄 알아야 한다.
System Integrator (SI) 개발자가 되어 SI 기업에 일을 하게 된다면 Project manager (PM)나 Project leader (PL)로부터 제안서를 작성하라는 요청을 받을 수 있다. 또는 회사의 임원급인 상무이사 또는 전무이사로부터 본사로 착출 되어서 제안서 업무를 담당하기도 한다. 특히 신입 개발자가 아닌 신입과 주니어급 사이의 개발자들에게 제안서 업무를 담당하라고 이야기를 하곤 한다. 하지만 개발자 입장에서는 개발 업무를 하면서 자신의 능력과 경험을 쌓아야 하는데 문서 작업을 하라고 하면 당연히 싫을 수밖에 없다. 또한 문서 작성 그 자체로도 귀찮고 싫은 하찮은 업무라고 생각하기에 많은 개발자들이 제안서 작성과 같은 문서 작성 업무를 기피하거나 최근에는 대놓고 싫다고 표현하기도 한다.
사실 프로그래머로써 일만 할 것이라면 제안서 작성과 같은 SW 문서 작성 업무를 할 필요는 없다고 본다. 하지만 궁극적으로 설계자급에 해당하는 개발자로서 성장을 하고 싶다면 제안서 작성과 같은 문서 작성 업무를 해야할 필요가 있다. 개발자로써 성장하기 위해 SW 문서 작성 업무에 대한 경험이 중요한 이유는 전반적인 프로젝트에 대한 이해와 개발 효율성 분석을 해볼 수 있는 좋은 기회이기 때문이다. 프로젝트가 커질수록 개발자가 많은 파트가 세세하게 나뉘게 되기 때문에 코딩을 하는 프로그래머 입장에서는 프로젝트의 전반적인 경험을 하기가 어렵다. 본인이 맡은 부분에 대해서만 이해하고 해결해 나가기 때문에 설계자로서 전반적인 프로젝트를 이해하고 설계하는 실력을 쌓기가 힘들다. 또한 주니어급 개발자가 되고 나서는 실질적으로 프로젝트 내에서 프로그래밍을 담당하면서 설계자와 신입 사이에서 중간 관리자로 성장하기 위한 준비를 해야 하는 단계이다 보니 SW 문서 작성에 대해서 이미 준비가 되어 있어야 한다. 그렇기에 제안서와 같이 SW 문서 작성 경험을 하면서 전반적인 프로젝트에 대한 이해를 해볼 수 있는 시기가 바로 신입과 주니어급 사이 개발자이다.
# 자신이 맡은 프로젝트의 문서 작성은 좋지만 아닌 문서 작성은 피하는 것이 좋다.
여기서 유의할 점은 자신이 포함된 프로젝트의 문서 작성은 도움이 되나 그렇지 않은 프로젝트의 문서작성은 피해야 한다. 예를 들어서 자신이 포함된 팀이 담당하는 프로젝트에서 PL이 제안서 작성에 도움을 요청한다면, 같이 제안서 작업에 참여하는 것이 개발자로 성장하는데 좋은 경험이 될 수 있다. 하지만 본사에서 본인과 상관없는 프로젝트에 대한 문서 작업을 요청한다면 사실상 개발자로서 능력 향상과 무관하기 때문에 최대한 피하는 것이 좋다.
글쓴이가 제안서와 같이 SW 문서 작성 작업이 개발자로써 능력 향상에 도움이 된다고 이야기 한 부분은 실질적으로 개발 업무를 담당하면서 자신이 맡은 프로젝트의 전반적인 운영과 효율성 관리가 어떤 식으로 이어지는지를 파악하는 것이 좋다는 걸 말한다. 하지만 본인과 무관한 문서 작성 업무는 사실상 실질적인 개발을 하지 않고 문서 작성만 하기 때문에 중급 개발자 이상이 아니라면 하지 않는 것이 좋다. 중급 개발자가 아닌 주니어급 개발자는 아직까지 개발 능력이 부족하기에 실무에서 개발 능력과 전반적인 프로젝트 운영 능력을 병행하여 키워 나가야 한다.
# 능력이 없다면 개발이 아닌 다른 분야를 고민해 봐야 한다.
그럼에도 불구하고 일부 SI 업체에서는 어느 정도 실무 업무를 파악한 신입과 주니어급 사이의 개발자를 다른 팀 문서 작성 업무까지 시키는 경우가 있다. 이런 경우 대체적으로 2가지 경우로 나뉘었는데 본인이 개발 능력이 있음에도 회사 입장에서 문서 작성 업무 담당자가 부족하여 시키는 경우와 본인이 개발 능력이 현저히 떨어져서 문서 작성 업무라도 주는 경우가 있다.
우선 첫 번째 경우인 경우에는 개발 능력이 충분히 있기 때문에 회사와 소통을 통해서 문제를 유연하게 해결해 나갈 필요가 있다. 본인의 능력을 어느 정도 어필하면서 실무에서 보다 경험을 쌓으면서 더 효율적인 개발이 가능하다는 것을 임원분들과 이야기를 나눠야 한다. 또한 무조건 문서 작성 업무가 싫다고 하기보다는 자신이 직접 개입한 프로젝트에 대해서는 제안서 업무를 담당할 수 있지만 다른 팀의 제안서 업무까지를 담당하는 건 개발자로서 경력에 도움이 되지 않아하기 싫다는 부분은 솔직하지만 유연하게 이야기를 해야 한다. 여기서 왜 이야기를 먼저 나눠보라고 하냐면, 이런 속 사정을 모르고 업무를 요청하는 경우가 종종 있기 때문이다. 물론 이런 생각까지를 알면서도 시키는 악의적인 상사가 있는 반면에 실제로 이야기를 나눠보지 않으면 모르는 경우도 있기 때문이다. SI 업체뿐만 아니라 SW 업체에는 모두가 개발자이지 않으며, 개발자 중에서도 문서 작성 업무와 전반적인 팀 운영을 좋아하는 사람도 있다. 따라서 먼저 이야기를 나눠본 뒤에 이직에 대한 고민을 해보는 것도 나쁘지 않다는 것이다.
두 번째로 능력이 없는 경우에는 어쩔 수가 없다. 여기서 가장 중요한 건 자기 객관화이다. 사실상 개발자로서 성장하기 위해서는 자기 객관화가 되어야 한다. 본인의 능력을 객관적이면서 보수적으로 판단이 이루어져야 성장하는데 도움이 된다는 건 주니어급 개발자라면 모두들 직접 경험하고 느껴봤을 것이다. 자기 객관화가 이루어졌고 본인이 능력이 부족해서 문서 작성 업무를 담당하고 있다면 여기서 두 가지의 선택지가 생긴다. 첫 번째는 문서 작성을 하면서 개발 능력을 자체적으로 키워 나가는 방향이고 두 번째는 개발 업무가 아니라 기획이나 관리 쪽으로 업무 분야를 전환하는 것이다. 사실상 모든 IT 업체에는 개발자만 존재하지 않는다. 개발을 하는데 기획이 필요하고 개발자들을 관리하는 관리 역할도 필요하다. 이러한 경우 일반적으로 개발에 대한 전반적인 지식을 가지고 있는 사람이 기획과 관리도 수월하게 할 수가 있기 때문에 개발자들 중에서 개발 업무가 맞지 않는다고 판단하면 업무의 방향성을 바꾸곤 한다.
# 코딩만 한다고 실력이 늘지 않는다.
문서 작성이 재미있는 개발자도 있겠지만 대부분의 개발자는 문서 작성을 좋아하지 않는다. 코딩 작업만 하면 편하고 재미있기 때문에 머리를 쓰고 글로 표현해야 하는 문서 작업은 싫기 마련이다. 그럼에도 본인이 프로그래머로써 남지 않고 그 이상의 레벨업을 하기 위해서는 문서 작성도 경험해 보고 잘해나가야 PL이나 PM급으로써 개발자들을 이끌 수 있다.
'Computer Science' 카테고리의 다른 글
[Computer Science] 주니어 개발자로 성장하기 위해서는 자기객관화가 되어야한다 (0) | 2023.06.14 |
---|---|
[Computer Science] 3년차 SI 개발자인데 이직을 해서 몸값을 높이는게 좋을까요? (2) | 2023.06.11 |
[Computer Science] 해밍코드 예제(Example of Hamming Codes) (0) | 2023.04.06 |
[Database] Conflicting Operations (0) | 2022.05.09 |
[Automata] Examples of Tree Structure and Regular Expression (0) | 2022.05.09 |
댓글