개발자라면 누구나 한 번쯤.
지금 있는 회사에서 벗어나
프리랜서의 삶을 살아보는 것은 어떨지
생각해보고 상상해 본 적이 있지 않나 싶네요.
반면 아마 처음부터 프리를 하신 분들은
정직원이 되면 어떤 느낌일지, 그 안정감에 대한
서로 다른 니즈가 있지 않을까 싶은데요.
그 프리랜서로
살아보기로 했습니다.
어쩌면, 불안해 보이기도 하고,
또 기간 내 끝내지 못하면 어쩌나 하는 생각부터
혹은 책임자로서 어디까지를 고민해야 하는지
안정감이나 그 NEXT에 대한 고민까지
다양한 책임의 범주들 속에서
새로운 부분의 영역들을 바라보고
이해하고 또 경험하는 것들로부터 얻게 되는
부분들을 적어 보려고 합니다.
작년까지 개발 팀장이자 개발팀원,
백엔드 개발자이자 프런트 개발자였던
그 시점들이 지나고,
구직해야 하는 시점이 왔는데요.
(작년까지 스타트업을 했던 경험들은 아래 링크를 참고하시면 됩니다 ^^)
“8년 차 개발자, 스타트업 회고(1년 3개월)”
여러 좋은 OFFER들이 왔습니다.
이중에 이 프리랜서를 선택한 부분은 이유가 있습니다.
개발자의 입장에서는
돈이라는 문제도 중요한 부분이지만,
기술 스택이나 커리어 패스의 영역도 늘 고민할 수밖에 없는 영역인데요.
제가 얻고자 했던 것은 3가지였습니다.
1) devOps 기술 스택(Jira, BitBuckey, crowd, Jira confl, jenkins)
2) PL/PM 등 프로젝트 리딩 역량
3) 대기업 플젝 경험 및 프리랜서 경험
물론 이 3번째에 해당하는 영역은
필수는 아니었지만, 프리랜서 경험은 꼭 한 번은 해보고
싶던 영역이었습니다.
두 번째 경험과 첫 번째 경험은 꼭 경험해야겠다고
느꼈던 부분이었는데요.
이 3가지를 만족할만한 제안이었기 때문에
이 다른 좋은 제안들은 아쉽게 미루고
참여할 수 있었습니다.
이 프로젝트를 통해 얻은 경험들을 공유해볼까 합니다.
프리랜서(상주)의 장점
다양한 경험
기존의 스타트업, 그 이전의 기업들에서도 다양한 경험들을 할 수 있었습니다만, 특별히 프리랜서를 시작하면서 얻게 된 것은 또 이 업계의 새로운 경험들이었습니다. 일단 상주 프리랜서라는 것 자체가 어떤 방식으로 계약을 하게 되는지, 그리고 일은 언제부터 시작을 하는 것이고, 일이 어떤 식으로 마감되는지 이런 일 처리 관련된 프로세스가 궁금했는데 이런 부분들을 이해할 수 있었습니다.
또한 일을 분배하는 방식, 프로젝트의 세팅부터 외주 디자이너 및 퍼블리셔와의 협업들을 배우는 기회가 되었습니다. 협업 툴로써 다양한 툴체인 들을 사용할 수 있게 되었는데, 기존의 업무적인 한계를 벗어나 브랜치 전략에 대해서도 적용해 볼 수 있는 시간이 되었네요.
높은 페이
'프리랜서를 한다'라고 하면 흔히들 신입이나 경력을 막론하고 높은 페이들을 생각하고 많이들 뛰어듭니다. 정말로 그러한지에 대해서 확신을 가지진 못했는데요. 확실한 건 신입이나 중급의 입장에서는 추후 경력이나 다른 관리에 문제가 있을 수 있겠단 생각은 들었지만, 어느 정도 연차가 있는 입장에서는 프리랜서의 페이는 꽤나 매력적이라는 것입니다. 전 직장, 전전 직장에서도 같은 일을 하는데 꽤나 많은 보수를 받는 프리들을 많이 보아왔습니다. 왜 같은 일을 하는데 그 들은 높은 금액을 받는 것일까? 많은 생각을 했었는데요. 많은 내용이 내포되어 있습니다. 단점에서도 언급하겠지만, 불확실성, 기타 비용의 절감(복지 및 기타 비용), 필요한 개발에만 투입 가능 등등 여러 가지 요인에 의해서 정직원에 비해서는 더 많은 단가가 나오기도 합니다. 물론 얼마나 많은 회사들(?)을 거치느냐에 따라서 그 금액이 달라질 테니만 말이죠. 따라서 어느 정도가 적정한 금액인지에 대한 사전조사는 엄청 중요한 정보라고 생각합니다.
짧고 굵게
이번 프로젝트는 2월부터 시작해서 6월 말까지 계약이 된 프로젝트입니다.
프리랜서의 삶으로는 시작부터 첫 스타트가 그리 길지도 짧지도 않은 프로젝트를 맡게 되었는데요.
물론 운 좋게(?) 연장되어 생명 연장의 꿈?! 을 이룩하였지만, 4개월 3개월 단위의 프로젝트들을 해나간다고 생각하니, 과히 이 과정들이 순탄할 것인가 하는 생각은 있습니다. 하지만, 이 프로젝트가 끝난다면, 잘 마무리할 경우 이 프로젝트에 대해서는 더 이상 생각할 필요가 없을 것입니다. 개발 인력이 아닌 운영 인력이 있기 때문입니다. 프로젝트의 장점은 짧지만 굵게 일을 할 수 있다는 점입니다.
이 전전 회사에서는 3개월에 5천만 원짜리의 프로젝트를 2명이서 수행한 일이 있습니다. 그때 느낀 점은 이렇게 비싼 프로젝트라고 해도 개개인에게 고작 주는 것은 좋은 고과 한번뿐입니다. 아마 그때부터 생각한 것 같네요. 이런 프로젝트를 힘들게 해서 성공했을 때 얻을 수 있는 것이 더 크다면, 차라리 이 프로젝트를 만들어 나가는 사람이 되거나 혹은 더 규모 있게 움직이는 사람이 되는 편이 수월 할 수도 있겠다는 생각을 말이죠. 더 크게 보아야 할 것 같습니다.
연차는 프로젝트 매니저에 따라
회사에 있을 때는 회사에서 정해 놓은 내규와 정해진 연차에 따라 임의로 휴가를 갈 수 있었습니다. 스타트업에서도 마찬가지로 정해진 연차들이 있었는데, 이런 프리랜서라면, 또 프로젝트라고 한다면, 과연 휴가를 갈 수 있을지 의문이 들었습니다. 여름도 있고 겨울도 있는데, 어떤 프로젝트든 투입되고 나면 쉬지도 않고 과연 일만 해야 하는 것일까? 가장 큰 의문이자 질문이었는데요. 요새 사정이 많이 좋아지기도 했고, 법도 많이 바뀌어서, 주 5일에 휴일은 다 같이 쉬는 편입니다. 또한 연차의 경우도 사정에 따라서는 관리자의 역량으로 편의를 많이 봐주는 편입니다. 한 달에 1번도 많이에 속할 순 있겠죠 ㅎ
국민 연금은 알아서
또 하나의 궁금한 점은 기존의 국민 연금은 어떻게 되는 것일까? 그리고 국민 연금을 안내면 어떻게 되는 것인가 하는 의문이었는데요? 연봉이 올라갈수록 국민 연금은 많이 올라갑니다. 세금이 많아진다고 속상한 순간들... 프리랜서의 경우는 이런 국민 연금과 동떨어진 경우가 많은데요 4대 보험에 들지 않아서인지, 오히려 제가 국민 연금 공단에 전화를 해서 내야 하는 거 아니냐고 물어봤는데... 안내도 된다고 합니다.
사실 좀 굳이 내시려면 내라고 하는데, 그냥 안내도 되는 거 같아서 패스... 이 점은 매우 만족스럽네요. 언젠간 다시 내겠지만 말이죠 ㅎ
관계에 대한 스트레스는 적은 편
어딜 가나 관계에 대한 스트레스는 있습니다. 프로젝트를 리딩 하면서 발생된 것 중에 하나는 짧은 시간 내에 신뢰를 주어야 한다는 점, 그리고 저보다 연차가 있는 분들을 리딩해야 한다는 무거운 생각 때문에 관계에 대해서 더 많이 고민했어야 한다는 것입니다.
다만, 전전 회사의 경우는 윗사람과 아랫사람, 수직 상하 관계에 의해서 업무 리더와의 관계가 엄청나게 중요했고, 이 부분은 좋든 싫든 간에 스트레스 요소로 작용하기 마련입니다. 상대방의 기분을 맞추어 주어야 하고, 상대의 기분을 살피는 일 조차도 업무의 연장선이 될 수 있습니다. 프로젝트 SI를 하게 되면, 프로젝트 리더나 프로젝트 매니저에 이러한 관계성이 크게 좌우되긴 합니다, 하지만 기간이 길지 않기 때문에 그전에 비해서는 관계적인 스트레스는 크지 않은 편이었습니다.
물론 이 이야기는 상대적인 이야기입니다. 스트레스가 없다고 할 수도 없고, 프로젝트마다 다른 이야기이기 때문에 일반화시킬 수는 없는 이야기입니다. 다만, 프로젝트 기간이 적다는 점에서 만약 상황이 좋지 않다면, 다음 프로젝트를 생각하면 되기 때문에 회사를 계속 다녀야 하는 입장에 비해서는 관계적 스트레스는 좀 적은 편인 듯하네요.
프로젝트가 잘 끝나면, 다음 프로젝트로 자연스럽게 연결
프리랜서를 하게 되면, 일을 어떤 방식으로 구하게 될 것인가? 이 부분도 궁금한 부분이기도 할 텐데요. 첫 프리의 경우는 모임을 통해서 연결이 되었습니다. 다음 프로젝트에 대한 이야기는 확실히 이 프로젝트에 Assign 되어있는 사람들을 통해서 서로 연결되는 구조입니다. 만약 프로젝트를 잘 성사시켰다면, 그다음 프로젝트도 추천받게 되어있습니다. 만약 프로젝트를 엉망으로 만들었다면, 더 이상 다음은 없겠죠. 바닥이 좁다는 이야기는 전체 업계에 대한 이야기만 그러한 것은 아닙니다. 연결되어있는 프로젝트와 프로젝트 관계자 사이에서는 잘하고 못하고 가 이미 알려져 있게 됩니다.
프리랜서(상주)의 단점
촉박한 일정
프리랜서를 하게 되면, 꼭 장점만 있지는 않습니다. 꽤나 높은 보수에 비해서, 일정이 촉박한 것이 사실입니다. 이번 프로젝트도 결코 넉넉한 일정들이 아니었습니다. 기획과 디자인 등등 기본 뼈대 SB 가 만들어지기까지 오랜 시간이 걸렸고, 개발자가 꽤 많이 투입되었지만, 개발을 시작하기까지 시간이 많이 걸렸습니다. 이런 일정은 리스크 요인으로 작용했습니다.
인력 배치의 어려움
프로젝트 리더의 어려움이라고 볼 수 있는데요. 프리랜서의 단점이라기보다는, 프리랜서이기 때문에 어떤 인력과 함께 일을 하게 될지는 알 수 없다는 것입니다. 프로젝트의 기간은 매우 짧습니다. 1년 혹은 2년이라는 긴 시간이 주어져 있다면, 인력을 고를 때 매우 신중하고, 그 가치와 금액, 그리고 커뮤니케이션 비용 등등을 고려해서 철저하게 많은 체크를 진행해야 할 것입니다. 프리의 경우는 투입 인력에 대한 정확한 정보 없이도 일을 진행해야 할 수 있습니다.(?!) 따라서, 일을 배분하는 것도 쉬운 일이 아니고, 적절한 일의 분량이라는 것을 예측하는 것도 쉬운 일은 아닙니다. 이런 여러 가지 상황을 가정하고 일을 해야 합니다.
다음 프로젝트에 대한 불안감
프리의 단점 중 하나는 비용에 대한 이야기에서도 잠시 언급하였지만, 불안감입니다. 모든 일이 성공적으로 끝날 것이라는 예감, 그리고 그 다음에 대한 확실성이 무한으로 이어질 수 있다면 아마 누구나 프리를 하려고 할 수도 있습니다. 비수기와 성수기, 타이밍 등등의 이유로 다음 프로젝트가 자연스럽게 연결될 수도 있고, 그렇지 못할 수도 있습니다. 이런 불확실성을 체감한 순간들이 있었는데요. 그것은 프로젝트나 끝나기 한 달 전쯤이었습니다. 이때 다음에 대해서 생각하지 않으면 그다음은 1달간 혹은 그 이상의 장기간 휴가가 될 수도 있습니다! 무척 떨리고 신나는 일이긴 하지만, 불안감은 여전합니다. 아마 일중독이어서 그럴 수도 있습니다.
단기간 프로젝트의 경우 계획적 연차 사용 불가능
프리도 종류가 다양합니다. 비상주 프리, 집에서도 일을 합니다. 상주 프리, 회사에서 일을 합니다. 상주 프리의 경우도 단기 프로젝트가 있고, 장기 프로젝트가 있습니다. 6개월 1년, 2년짜리의 경우는 연차도 있는 듯합니다만, 단기 프로젝트의 경우는 계획적으로 연차가 주어지지도 않을뿐더러 그렇게 사용하기도 쉽지 않을 수 있습니다. 따라서, 불확실한 입장에서 워라벨이라는 부분은 오히려 정규보다는 못하다고 볼 수 있습니다. 누구나 쉬고 싶을 때 쉰다는 점은 매우 큰 장점이니까요.
4대 보험 및 국민 연금 없음
또 하나의 단점은 4대 보험이나 국민 연금이 없습니다. 뭐 장점으로도 언급을 하기는 하였지만, 뭐 이래저래 따져보면, 확실히 회사에서 이런 비용들을 많이 내주고 있기는 합니다. 하지만 실손적으로 생각하고, 내 통장에 떨어지는 것만 생각한다면, 이런 건 쯤이야... 종합 소득세가 가장 큰 산입니다! 이 계산만 뛰어나게 잘하시면 됩니다. 다만 4대 보험이 없다는 건 뭐 회사에서 여러 가지 이유로 문제가 생겨도 보상이 없다는 겁니다. 물론 문제가 생기는 것을 가정하면 안 되지만, 그래도 보장이 안된다고 하니까 불안하잖아요? 그게 불안감입니다.
회사의 복지와는 무관
여타 좋은 회사들은 밥값이 무료이기도 하고, 한 달에 한번 정도는 금요일 쉬기도 하고, 뭐 또 좋은 회사들의 경우는 무슨무슨 데이 이런 것들이 있어서 놀게 해 줍니다. 워크숍도 자주 가고, 밥값이 무료가 아니라면, 밥값이 저렴하기도 합니다. 뭐 여러 가지 집안의 대소사에는 휴가와 비용도 줍니다. 이런 복지와는 무관하기 때문에 일단 일 우선 주의입니다. 물론 큰 일의 경우는 프로젝트 리더나 프로젝트 매니저와 이야기를 통해서 처리할 수는 있지만, 복지가 없다는 점은 단점입니다. 대신 다른 비용이 주어지니 등가 교환이라고 할 수 있습니다. 대신 회사의 회식을 준비해야 한다던지, 무슨무슨 데이 같은 것들을 준비해야 한다던지 하는 일들은 피해 갈 수 있습니다. 매우 매력적이죠.
아무리 잘해도, 회사 고과와는 무관
앞서서 고과에 대한 이야기를 했지만, 이 프로젝트가 성공적으로 끝난다면 성공 보수가 있는 것이 아닙니다. 프로젝트가 잘 끝났다면!, 프로젝트가 잘 끝난 것입니다. 기존에 받으려고 했던 보수를 잘 받게 되는 것입니다. 잘했다고 해서 인센티브를 주지는 않습니다. 어쩌면 그래서 방임이 일어날 수도 있는 부분이기도 합니다. 하지만, 프로젝트를 잘 마치지 않는다면, 프리랜서로써도 오래 할 수는 없을 것입니다. 못하면 안 되고, 잘해도 큰 이득은 없다. 상당히 어려운 일입니다. 그렇기 때문에 한편으로는 프리랜서로써 너무 잘하려고 하고 진을 빼는 경우에는 체력이 오래 버틸 수 없을 것이라는 생각도 문득 드네요. 그렇지만, 책임감 차원에서 프로젝트를 성공적으로 끝낼 때 찾아오는 다양한 기쁨들이 있습니다. 잘하는 게 좋겠죠!?
일이 끝나고 쉬는 기간 동안은 실업급여를 받을 수 없음
이전 회사는 좋은 회사였습니다. 첫 실업 급여를 받게 되었는데, 실업급여를 받는다는 것은 상호 우호적 관계에서 특정 사유에 따라 가능한 경우가 많습니다. 실업 급여를 잠시 받아본 입장에서 실업 급여란 매우 매력적인 것이긴 합니다. 여행을 다녀올 수도 있고~! 개인 프로젝트를 해볼 수도 있으니 말이죠. 다만 실업급여를 받는 기간이 길어질수록 아마 다급함도 많이 생길 것입니다. 마인드 컨트롤이 중요합니다. 늘 공백기에 대한 사유, 늘 질문의 대상이니 말이죠. 프리랜서의 경우 4대 보험이 없기 때문에 1년 이상 일하더라도 실업급여를 받기는 쉽지 않습니다. 다만 개인사업자도 실업급여를 받을 수 있는 길은 있기 때문에 꼭 실업 급여를 받아보고 싶다면, 해볼 수도 있을 듯합니다.
가능한 부분이 있긴 하지만, 프로젝트가 장기, 단기를 구분할 수 없다 보니 실업급여에 대한 보장도 없는 것이 사실입니다.
퇴직금은 없다
회사를 떠날 때 퇴직금은 늘 중요한 부분입니다. 퇴직금의 유무로 다투는 경우도 많고, 퇴직금을 안 주려고 하는 회사도 있기 때문인데요. 실상 연 10프로가 통장에 쌓여있다는 점은 퇴직금의 매력이기도 합니다. 사실 10프로씩 저축해 놓으면 같은 효과이긴 하지만, 생각보다 돈을 모으는 일이 호락호락 한건 아니기 때문에 퇴직금을 받을 때면, 앗 이건 웬 공돈?! 이런 느낌이 들기도 합니다. 하지만 프리를 할 경우 퇴직금은 없습니다. 따라서 돈을 받을 땐, 종소세, 복지, 퇴직금 등의 금액을 포함한 금액을 받고 있다고 생각하시면 됩니다. 따라서 프리로 전향하신 경우 지금 월급보다 조금 더 올랐다고 좋아하시는 것보다 이 금액을 다 합한 것보다 받는 돈이 더 많아졌는지를 꼼꼼하게 살펴보시는 것이 중요합니다.
경력 관리?!
커리어 패스에 대한 고민, 다양한 경험을 쌓을 수 있다는 점 이외에, 4대 보험이 적용되지 않는 프리의 경우, 몇몇 회사 입장에서는 프리의 경력을 인정하지 않는 경우도 있습니다. 같은 일을 하고 나서 경력을 인정받지 못하는 게 꽤 불합리하게 느껴지기도 하는데요. 게다가 프리가 받았던 1년 치 금액을 합해서 연봉으로 가정하고 협상하는 것도 아닙니다. 주변 프리의 경우 몇 년 차를 손해 보는 경우들도 있습니다. 이 경력관리에 대해서는 확실히 득보다는 실이 큰 것 같습니다.
다만 업계의 긍정적 변화 중에 하나는 좋은 인재를 뽑기 위해서 수많은 요인과 변수들을 무시(?) 해주는 경향도 생겼다는 점입니다. 기존의 연봉 체계는 보통 매우 중요합니다. 협상 테이블에서 전 직장 연봉을 기반으로 몇 %를 인상시켜줄 것인지가 중요한 요인이 되기도 하기 때문입니다. 때로는 이것보다 개인의 능력 자체가 더 중요한 잣대가 되기도 합니다. 좋은 인력은 더 찾기 어려워졌기 때문입니다. 이런 상황에서 프리를 해서 얻게 된 경험과 프리를 해서 잃어버린 프리를 한만큼의 직장에 대한 경력, 이 두 가지를 비교해본다면, 어떤 것에 득과 실이 있는지 생각해 볼 필요가 있을 듯하네요.
선입견
프리라는 선입견이 있습니다. 자유로움을 추구하기도 할뿐더러 이 회사에 오래 있지 않고 떠나지 않을까 하는 불안감입니다. 만약 다음에 프리랜서가 아니라 회사를 선택한다면, 연봉 문제는 둘째 치더라도 회사에 열심히 오래 일할 수 있다는 부분을 어필하기 위해 에너지를 쏟아야 할 것입니다. 잠시 일하고 떠날 사람을 회사가 좋아하진 않을 테니 말이죠.
이 프로젝트를 통해 얻은 점
'프리랜서를 하면 무엇을 배울 수 있을까?' 혹은 '다른 프리랜서는 어떤가?' 생각하면서 이 글을 보고 계시리라고 생각합니다. 각각 어떤 프로젝트이든 입장에 차이가 있습니다. 그리고 주어진 롤이 다릅니다. 따라서 배울 수 있는 것들도 차이가 있다고 생각합니다. 특히 신입의 입장에서 프리를 하는 것은 생각해 봐야 할 부분이 많은데, 어느 회사든 체계적으로 일을 배울 수 있다고 보장하긴 힘들지만, 특히 프리랜서의 경우는 어느 정도는 일을 처리할 수 있다는 업무 처리 능력에 대한 기본적인 일처리 능력이 전제 조건인 경우가 많습니다. 그 말은 교육에 대한 부분에 할애할 수 없는 경우가 많다는 의미이고, 방치될 수 있다는 이야기입니다. 경험이 없는 상태로 개발지식이 없는 상태로 운영 인력이 될 수도 있습니다. 이 부분을 감안해야 합니다.
프리랜서라 얻은 경험들이라기 보단 이번 프로젝트를 통해 얻은 것들을 이야기해볼까 합니다.
devOps 관련 툴체인 스킬(Jira, Crowd, Jira Confl, Jenkins, Bitbucket)
이제 업무에 대해서 다양한 툴들이 보편화되기 시작했습니다. 특히 지라와 관련된 제품군 들은 N사를 비롯해 큰 기업 들에서도 많이 사용하고 있는 제품입니다. 그러다 보니 지라 관련 제품에 관련된 소문만 많이 들었던 저로선 실제 업무에서 사용하거나 활용해보는 경험적인 차원으로 매력이 있었습니다.
특히 jira api, jira confl jql, crowd 로그인 api, jenkins 빌드 배포 및 api, 빗 버킷 commit list api 등등 어떤 업무 프로세스를 위해 사용하는 수준을 넘어서 해당 api로 이슈를 커스텀하게 다루어 볼 수 있는 기회가 있었는데, 지라의 장단점 디비 구조 등등 복잡한 지라 채널에 대한 분석 기회였습니다. 아마도 이다음 프로젝트가 이런 애자일 스런 협업 베이스라고 한다면 함께 고민해줄 수 있을 것 같습니다 :)
프로젝트 PL 역할
PM의 개념과 PL의 개념이 많이 혼동이 되었었는데요. 큰 기업에서의 PM과 스타트업에서의 PM의 역할은 많이 달라질 것 같고 기업마다 역할에 대한 다른 특성으로 혼선의 여지는 많을 것 같단 생각이 들었습니다.
이번 역할을 통해 배운 점은 업무 배분에 대해 고려해야 할 부분이 훨씬 더 많다는 부분입니다. 첫 번째는 중급, 고급이라고 해서 능력이 그렇게 나뉘지 않는다는 점이고, 또 같은 개발자끼리도 늘 퍼포먼스에 관련된 차이가 존재한다는 것입니다. 두 번째는 개발에 들어가는 공수 시간 산정 이외에도 회의 시간, 문서 작성 시간, 기타 소통과 관련된 시간들은 비용으로 추가되었는데요. 기존에 협업을 했었지만, 업무를 할당해야 하는 입장에서는 특별히 개개인의 능력을 분석하는 시간이 중요하다는 점을 깨달았고, 업무를 분배할 때는 할 수 있는 양만큼만 분할해서 배정해야 한 다는 점이 큰 배운 점이라고 볼 수 있네요.
Spring Boot 세팅부터 프로젝트 기본 세팅 작업
개발자의 경우 처음부터를 다해본 경험들도 많으시겠지만, 기존에 회사가 이미 만들어 놓은 세팅 환경을 이어 쓴다던지, cvs, svn, git에 이미 올라간 소스들을 받아서 시작하는 경우들도 많으실 것이라 생각합니다.
기존 프로젝트들은 대부분 레퍼런스 소스들이 많이 있었기 때문에 완전 신규 프로젝트의 경험은 부족했었는데요. 전전 회사의 회사 선배님들이 얼마나 고생하셨는지 체험하는 시간이었습니다.
스프링만 하다 스프링 부트를 처음 하는 입장에서 web.xml이 없는 것도 낯설고, 처음 war로 빌드하지 않는 것도 낯설고, config 세팅이나 기타 xml들이 어디에 있는지 등등 낯선 상황에 많이 직면했는데요.
스프링 부트 플로우를 처음부터 서비스 론칭까지 쭉 경험하는 시간이 되었는데, 초기에 tiles을 쓸 것인지 Sitemesh를 쓸 것인지 thymeleaf를 쓸지를 판단하고 고민하고 결정할 수도 있었고, 이런 선택의 부분을 직접 해본 다라는 부분은 확실히 매력적인 부분이었습니다.
기존에 주 프로젝트들이 jsp, angular 기반의 프로젝트들이 많았는데, vue를 써 볼 수 있는 기회가 와서 좋아라 했지만, 다른 프로젝트 멤버들이 vue를 아무도 모른다는 소식 때문에 일정을 고려해서, 스프링 부트에 jsp, jstl을 붙여 진행했던 부분도 약간의 딜레마였습니다.
전문 퍼블리셔와의 소통
전전 회사의 경우에 프로젝트 진행 시, 디자이너 분께서 퍼블리싱을 해주셨었고, 그 전 회사에서는 제플린이 퍼블리싱을 도와주었는데요. 이번 프로젝트는 좀 전문적인 퍼블리셔와의 협업 기회가 있어서 좋았습니다.
퍼블리싱할 때 모든 규격을 정하고, 모든 컴포넌트들을 class 화하고 가이드라인에 추가하는 부분에 대해서 생각해 볼 수 있었는데요. 장단점이 있었는데, 규격화가 너무 심해질 경우 커스텀이 쉽지 않아서, 고객의 요구사항 반영이 어렵다는 점이 단점이었고, 장점은 이런 규격에 대한 이해를 잘할 경우에 전체적으로 변경할 때 큰 틀이나 전체적인 조절을 할 때 몇 가지만 바꾸면 전체적으로 느낌을 바꿀 수 있다는 점이 장점으로 다가왔습니다.
프로젝트 기간 관련 소통
앞서 이야기했지만, 소통에 비용이 많이 발생하는데요. 어느 기업이나 그렇겠지만, 소통이 쉽지 않은 사람을 만나게 되면 더 딜레이가 될 수 있습니다. 회사의 입장에서는 주어지고 정해진 시간 내에 일을 완수해야 하는 입장이 있고, 또 개인의 입장에서는 책임 소재에 대해서 말이 안 되는 프로젝트에 참여하면서 책임을 떠안게 되는 리스크에 대한 불안감이 있다는 것을 많이 느꼈는데요. 이 것을 조율하는 것이 제일 어려운 과정이고 이것을 해결한 경험이 가장 크게 배운 점이 아닌가 하네요.
큰 기업의 프로젝트 역량
명칭을 특정할 수는 없지만, 큰 기업의 프로젝트를 리딩하고 잘 완수했다. 이런 역량들을 쌓아가는 입장에서 좋은 기회였던 것 같습니다.
면접 스킬 (짧은 기간, 좋은 인력)
인원이 5~7명 정도가 더 투입되어서 일을 해야 하는 상황이었기 때문에 면접도 많이 봐야 했는데요. 짧은 기간 동안 좋은 인력을 찾아내야 한다는 부분은 꽤 어려운 일이었습니다. 물론 인력을 선택할 수 없을 때가 가장 난감하지만, 면접을 통해서 면접자들의 생각들을 들어보고 이해하는 것도 생기고, 실력 있는 사람을 찾아내는 안목 들도 더 생긴 듯싶네요.
설계 역량
기존 전 프로젝트에서도 DB나 여러 가지 구조적인 설계들에 많이 참여를 했지만, 이렇게 ERD부터 시작해서 설계를 시작한 건 그리 많지 않았습니다.(보통은 이미 ERD가 있거나, 관리 안 하거나) 기존에 사용하는 DB 스키마에 명칭 분석부터 적용까지 다양한 요건들을 이해하면서 설계하고 요건이 정의되지 않은 상태에서 요건을 뽑아내서 설계하는 까다로움 등등 이런 역량에 대해서는 스킬업 되었던 부분들이 있습니다.
브랜치 전략
Git을 사용하면서 어떤식으로 브랜치를 따야하고 머지를 해야할 것인가에 대해서 많은 자료들이 있는데요. Release, develop, master 하위 구조로써 이슈로 브런치를 딸 것인지, 그냥 새로운 브런치로 따서 그냥 합칠 것인지 등등 이런 운영 전략에 대한 고민들을 해볼 수 있는 기회 들이었습니다. 특히 젠킨스를 통해서 자동 빌드 배포등을 서비스 차원에서 활용해서 업무 효율을 높이는 경험들은 좋은 경험이었다고 볼 수 있네요.
기존 제일 궁금했던 부분
프리를 하기 전에 제일 걱정하고 고민했던 몇 가지 질문들이 있습니다.
프로젝트 완수를 못하면 어떻게 할 것인가?
처음에 어떤 프로젝트를 참여하더라도 스스로에게 묻는 질문입니다. 이걸 할 수 있는가? 할 수 없는가? 여러 모든 요인을 고려하고 할 수 있다는 확신이 들면 비로소 일을 시작하는 편인데요. 프리랜서는 처음인지라, 게다가 프로젝트에 대한 충분하고 디테일한 설명 없이 투입되기 때문에, 이런 걱정은 당연히 있었습니다. 다행스럽게도, 프리랜서에 대해서 알면 알수록 상주의 프리의 경우는 월 단위 계약이 많기 때문에 실패에 대해서는 크게 책임을 묻지 않는 경향이 있다는 것을 알았는데요. 다만, 중대한 이유로 프로젝트에 손실을 끼치거나 프로젝트가 완결 나지 않았을 때는 어떤 일이 발생할지 모르기 때문에 이 점을 유의해야 합니다. 결과적으로는 마음의 평화는 얻었고, 더 잘하면 된다는 확신.
프로젝트에 대한 역량이 나에게 충분히 있을 것인가?
나에 대한 신뢰, 가장 어려운 겁니다. 연차가 쌓이면 당연 경험도 쌓이고 모든 것을 잘 수행할 수 있으리라는 스스로의 믿음이 생기리라 생각하지만, 다들 꼭 그렇진 않다는 걸 아시죠?! 늘 새로운 프로젝트에서는 내게 그 역량이 있는지를 검증하는 검증의 장입니다. 계속 그 역량이 있는지 없는지를 체크해보게 됩니다.
프로젝트란 새로운 것인데 해보지 않은 것들을 할 수 있다고 확신할 수 있는가?
그나마 새로움 속에는 기존의 이해들이 포함되어 있습니다. 기존에 비슷한 프로젝트를 해본 경우라면 조금 더 프로젝트 진행이 수월한 것이 사실입니다. 이 경험적인 것들이 새로움에 대한 불안감들을 진정시켜주는 역할을 하게 됩니다.
일정적 촉박함과 일의 분량 등등 측정할 수 없는 것들을 어떻게 처리할 수 있는가?
이 질문이 맴돌게 되었습니다. 일정이 촉박할 때 어떻게 할 것인가? 일정은 최대한 조율을 통해 처리했지만, 확실히 일 분배에 함정을 경험하고 나서 제가 맡은 부분이 꽤나 많아졌습니다. 프로젝트를 진행하는데, 프로젝트 리더나 업무를 많이 맡는 것 자체도 리스크이긴 하지만, 이런 요인이 없었다면 아마도 완성되지도 않았을 것입니다. 측정할 수 없는 요인에 대해서 그럴 수 있다는 마음의 여지들을 주어서 버틸 수 있었네요.
따로 가이드라인이 없는 경우 어떤 방식으로 접근해야 하는가?
처음 일을 시작할 때 늘 업무의 범위, 그리고 무엇을 어떻게, 왜? 등등의 고민이 필요합니다. 이번 일정상에서는 TA 직군을 처음 만나게 되었는데, 좋은 가이드라인들을 많이 제시해주었습니다. 사람을 통해서 많은 요소들이 해소되었는데요. 이런 고민은 필수 적입니다.
일의 완료와 산출물?
일이 어떻게 완료되는지 고민이었습니다. 그리고 산출물에 대한 규격들도 달라서 고민이었습니다. 테스트 자료와 통 테 등등 다양한 방식의 산출물들이 나왔는데 다 이야기할 순 없으므로!
다시 정직원으로 돌아갈 수 있는가?
제일 고민되었던 부분입니다. 기존 프리 이야기를 들어보니 다시 정직 갔다가 프리로 돌아온 케이스 이야기를 들었습니다. 못 돌아갈 이유는 없는듯한데, 프리에 적응하고 나면, 오히려 여러 가지 면모로 다시 정직원으로 돌아갈 이유 찾기도 어려워 보이는 경우인듯합니다. 못 돌아갈 이유는 없다는 거죠!
프리랜서는 경력으로 안쳐준다던데?!
위에 장단점에 언급했지만, 이게 늘 큰 고민 요소중 하나였습니다. 제가 개발자를 선택했던 것 중에 가장 큰 이유 중에 하나는 자유로움이었습니다. 기업에 들어가면서 개발자를 선택했던 이유는 사라지고 전혀 자유롭지 않았는데, 이런 불안감 조차 지금은 자유로움으로 느껴지곤 합니다. 경력으로 안쳐주면.... 다른 거 해 먹고살면 되죠 ㅎ
편하게 생각하기로 했습니다.
월 500 700 1000 2000. 누가 규정해놓은 금액이 아니라 능력에 따라 얼마든지 더 얻을 수 있는 곳이어야 되지 않을까 생각해봅니다. 외국 가서 더 받으면야 더 좋지만, 한국에서도 못할 거 없잖아요. ㅎ 좋은 생각으로 바꾸어 보기로 했습니다.
틀을 깬다는 것. 도전한다는 것.
이쯤에서 이야기를 맺어보려고 합니다.
첫 프리의 삶은 그나마 좋은 선택이었습니다. 많은 원하던 경험을 얻었으니까요~! 야근에 대해서도 궁금해하는 분들이 많은데~ (별로 안 했어요. 소곤)
아마 인생은 늘 선택의 기로라고 합니다. 같은 회사에서 답답해서 뭔가 새로움을 꿈꿔보다가, '아.. 아마 난 안될 거야!' 좌절하기도 하고, 뭔가 여태 이룩해 놓은 것들이 무너져버려서 롤백이 안될 것 같은 불안감 때문에 그 자리에 머물러 있기도 합니다.
무조건 떠나는 것이 정답은 아니겠지만, 때로 기회가 왔을 때 용기가 없어서 후회하는 경우도 생길 테지만, 불안감에 지배당하지 않았으면 좋겠네요.
처음 스타트업을 도전했을 때 그 불안감 극복.
이번 처음 프리랜서를 도전했을 때, 가정이 있는 채로 도전한다는 것에 이 불안감을 극복한다는 일이 쉬운 일은 아니었지만, 앞으로 더 기대해 봅니다.
앞으로도 계속 새로운 인생 이야기가 업데이트됩니다.
프리랜서 한 번쯤 고민해 보셨나요?
※ 프리랜서는 다양한 환경에 있습니다. 좋은 방향, 나쁜 방향, 많은 입장차이가 있음으로, 일반화 하기보다는 경험의 하나로 해석해주시면 좋을 듯합니다. ^^